This repo contains git projects which have been grouped into beginner, intermediate, and advanced levels:
- Static Website Deployment:
- Create a simple static website (HTML, CSS) and use Git to version control it.
- Set up a basic CI/CD pipeline to automatically deploy changes to a web server or hosting platform like GitHub Pages or Netlify.
- Script Deployment:
- Write a deployment script (e.g., Bash or PowerShell) to automate the deployment of a simple web application.
- Use Git to manage the script and application code.
- Infrastructure as Code (IaC) with Git:
- Learn a basic IaC tool like Terraform or AWS CloudFormation.
- Use Git to version control your infrastructure code and practice making changes to infrastructure.
- Containerized Applications:
- Dockerize an application and create a Docker Compose or Kubernetes configuration.
- Use Git to manage both the application code and the infrastructure as code for containers.
- Continuous Integration/Continuous Deployment (CI/CD) Pipeline:
- Set up a CI/CD pipeline using tools like Jenkins, GitLab CI/CD, or GitHub Actions.
- Automate the building, testing, and deployment of a sample application.
- Configuration Management:
- Explore tools like Ansible or Puppet to automate server configuration.
- Version control your configuration files using Git.
- Microservices Deployment:
- Build a microservices-based application and use Git to manage code repositories for each service.
- Set up a CI/CD pipeline for deploying and scaling microservices.
- Infrastructure Orchestration:
- Learn advanced IaC tools like AWS CDK or HashiCorp Packer.
- Manage complex cloud infrastructure and automate scaling using Git for version control.
- Site Reliability Engineering (SRE):
- Implement SRE principles by setting up monitoring, alerting, and incident response processes.
- Use Git to manage configurations and runbooks for SRE tasks.
- Multi-Cloud Deployment:
- Deploy an application across multiple cloud providers (e.g., AWS, Azure, GCP) for redundancy and high availability.
- Use Git to manage cloud-specific configurations and deployment scripts.
- GitOps Workflow:
- Implement a GitOps workflow using tools like ArgoCD or Flux.
- Manage infrastructure and application deployments entirely through Git repositories.
- Security Automation:
- Focus on automating security scans and compliance checks in your CI/CD pipeline.
- Use Git to version control security policies and configurations.
It is important to remember that the key to improving your skills is not just completing these projects but also understanding the underlying principles and best practices. Additionally, you can customize these projects based on your specific interests and the technologies relevant to your career goals in DevOps.