UNIT I – INTRODUCTION TO DEVOPS
1. Introduction to DevOps
DevOps is a combination of two words: Development and Operations. It is a
cultural and professional movement that stresses communication,
collaboration, and integration between software developers and IT
operations professionals. DevOps aims to shorten the software development
lifecycle and deliver high-quality software continuously.
Key Goals:
Enhance collaboration between development and operations teams
Automate processes for efficiency
Ensure continuous integration and continuous delivery (CI/CD)
Improve deployment frequency and service reliability
Key Benefits:
Faster release cycles
Improved defect detection
Increased deployment success rates
Enhanced innovation
2. Software Development Life Cycle (SDLC) vs Agile vs DevOps
Feature SDLC Agile DevOps
Focus Plan-driven Iterative Collaboration and
process development automation
Methodolog Waterfall, Spiral, Scrum, Kanban Agile + Automation +
y etc. CI/CD
Team Separate dev Focus on Integrated dev, ops,
Structure and ops developers and QA
testers
Delivery One big release Iterative releases Continuous
at the end Delivery/Deployment
Feedback After delivery Regular feedback Real-time feedback
from users and monitoring
Tools Limited Agile boards, Jenkins, Docker,
backlogs Kubernetes, Ansible,
etc.
3. DevOps Lifecycle
The DevOps lifecycle is a continuous process with the following phases:
1. Plan – Project planning, requirement gathering, backlog management
2. Develop – Code development using IDEs and version control
3. Build – Build automation using tools like Maven or Gradle
4. Test – Automated testing with JUnit, Selenium, etc.
5. Release – Release management using Jenkins or other CI/CD tools
6. Deploy – Deploy using container technologies (Docker, Kubernetes)
7. Operate – Monitor and manage infrastructure with tools like
Prometheus
8. Monitor – Feedback loops using monitoring and logging tools
These stages help in achieving automation, transparency, and continuous
improvement.
4. Version Control Systems (Git, GitHub)
Git:
A distributed version control system used to track changes in source
code during software development.
Each developer has a full copy of the codebase including the project
history.
Common Git commands:
o git init, git clone, git add, git commit, git push, git pull,
git branch
GitHub:
A cloud-based hosting service for Git repositories.
Provides a collaborative environment for developers.
Features:
o Pull requests
o Issue tracking
o GitHub Actions (CI/CD)
o Project boards
5. Overview of Cloud Platforms (AWS, GCP, Azure)
AWS (Amazon Web Services):
Most widely used cloud platform
Services: EC2, S3, RDS, Lambda, EKS
Offers high scalability and flexibility
GCP (Google Cloud Platform):
Google’s cloud infrastructure
Services: Compute Engine, App Engine, BigQuery, GKE
Strong in data analytics and machine learning
Microsoft Azure:
Microsoft’s cloud offering
Services: Virtual Machines, Azure DevOps, Blob Storage, AKS
Strong integration with Windows and enterprise systems
Common Features Across All:
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Support for container orchestration (Kubernetes)
Pay-as-you-go pricing
Security and compliance support
End of UNIT I Notes