Course Outline:
Understand principal concepts and practices in DevOps methodology.
DevOps Overview and Tools
- Principles of continuous software development, integration, and deployment
- DevOps Goals
- Automation
- Version Control
- Testing
- Deployment
- Cloud
- Introduction to Tools (e.g., Git, Docker, Jenkins)
- Repositories, artifacts
Version control using Git
- Importance and need of version control
- Version control options
- Git Overview
- Understand Git commands
- Exercise: Managing Source Code and Versions with Git
Docker
- Docker Overview
- Docker Desktop
- Docker Commands
- Understand Dockerfile
- Building Docker Containers
- How to use Docker, Compose and Kubernetes on your machine for better software building and testing.
- Hand’s-on with best practices for making Dockerfiles and Compose files
Kubernetes
- Introduction to Kubernetes
- Role: container/ service orchestration
- Architecture, clusters
- Automated deployment and operations of containerized applications
- Kubernetes networking
- CNI
- Networks policies, workflow
- Examples: Flannel, Calico
- Automation based on helm charts (optional)
- Container/service image (registry and distribution)
- Introduction to service meshes
- Fundamentals: definition, drivers and use cases
- Example: Envoy and Istio
Continuous Integration/Continuous Deployment (CI/CD)
- Introduction to CI/CD concepts
- Continuous Integration Pipelines
- Creating Pipelines
- Automating Deployments
- Exercise: Creating CI/CD Pipelines with Jenkins
Use the practices on Cloud – GCP
References and Next steps
Training material provided:
Hands-on Lab: Instructions will be provided to install Docker, & Kubernetes on personal machine prior to the start of class.