DevOps
DevOps
Vasanth Kumar
Vasanth Kumar
Introduction to DevOps
Key Stages:
Introduction to GitOps:
Builds:
• Definition: Converting source code into
executable software.
• Continuous Integration (CI): Frequent code
commits to a shared repository with automated
builds and tests.
• Tools: Jenkins, Travis CI, CircleCI, Github actions.
Deployments:
• Definition: Releasing built software to a
production environment.
• Continuous Delivery (CD): Automatically
preparing code changes for release.
• Continuous Deployment: Automatically pushing
code changes to production.
• Tools: Spinnaker, AWS CodeDeploy, Kubernetes.
Cloud Offerings
Types of Infrastructures:
Containers:
• Definition: Packages applications with
dependencies for consistent behavior across
environments.
• Benefits: Portability, efficiency, isolation.
• Tool: Docker.
Kubernetes:
• Definition: Container orchestration platform for
automating deployment, management, and
scaling.
• Key Concepts: Pods, Nodes, Clusters.
• Benefits: Scalability, self-healing, load balancing.
Relationship:
• Microservices: Microservices architecture breaks
down applications into smaller, independent
services, each dedicated to a specific function.
• Complementary: Containers provide
consistency; Kubernetes manages and
orchestrates them.
• Deployment: Kubernetes automates container
Site Reliability Engineering
(SRE)
SRE is a discipline that applies software engineering
principles to infrastructure and operations to ensure
reliable and scalable systems.
Core Principles:
• Service Level Objectives (SLOs): Targets for system reliability
based on user needs.
• Error Budgets: Balances innovation and reliability by allowing a
certain amount of acceptable failure.
• Automation: Reduces manual tasks to improve efficiency and
consistency.
Key Practices:
• Monitoring and Alerting: Continuous system monitoring and
setting up alerts for issues.
• Incident Response: Processes for quick and effective incident
management.
• Postmortems: Analyzing incidents to prevent future
occurrences.
Benefits:
• Improved Reliability: Ensures systems are more reliable and
available.
• Enhanced Collaboration: Promotes teamwork between
development and operations.
• Scalability: Builds systems that can handle increased load and
complexity.
SRE vs. DevOps:
• Focus: SRE emphasizes reliability using engineering practices,
while DevOps focuses on collaboration.
• Implementation: SRE uses rigorous metrics and automation.
Configuration Management
Tools
Popular Tools:
Key Takeaways: