Unit1_devops
Unit1_devops
• Benefits of DevOps
• DevOps Tools
• CI/CD Pipeline
• Benefits of CI/CD
2
Process
DevOps 3
Feedback Loop
<- - - - - - - - - - - - - - - - - - - - -
4
DevOps DevOps
Development Operations
• Allows a single team to handle the entire application lifecycle from development
to testing, deployment and operations
6
What is DevOps?
7
How DevOps practices
are applied across
different industries?
security 8
Contd.
1. Software Development
•Description: Startups and companies in software development adopt DevOps to build and deploy reliable
applications efficiently.
•Key Benefits:
• Accelerated development and deployment cycles.
• Reduction in risks associated with releasing software.
2. E-Commerce
•Description: E-commerce businesses leverage DevOps for faster setup times and optimized workflows.
•Key Benefits:
• Automated processes streamline operations.
• Enhances workflow efficiency, reducing time-to-market for features.
9
Contd.
3. Healthcare
•Description: The healthcare industry, being heavily regulated, relies on DevOps for addressing data
privacy and security challenges.
•Key Benefits:
• Compliance with strict regulations.
• Improved security and reliability in handling sensitive patient data.
4. Fintech/Banking
•Description: In the highly sensitive and regulated banking sector, DevOps is used to address
security concerns while maintaining agility.
•Key Benefits:
• Enhanced security protocols.
• Ensures compliance with industry regulations.
• Facilitates continuous delivery while minimizing risks.
10
Contd.
5. Social Impact Organizations/Development Sector
11
DevOps collaboration cycle:
DevOps cycle
12
Meaning of infinite loop:
Continuous Feedback:
Seamless feedback between development and operations at every stage ensures
continuous improvement of software and processes.
Seamless Collaboration:
Reflects the integration of teams, breaking down silos between development and
operations.
DevOps benefits
14
DevOps Tools:
• Version Control: Git, GitHub, GitLab
15
CI/CD (Continuous Integration and Continuous Deployment) pipeline
A process used in software development to automate building, testing and deploying
code.
It streamline development workflows, reduce errors, and deliver software faster and
more reliably.
16
CI: Continuous Integration
Developers regularly merge their code changes into the main branch,
followed by automated testing and running of the project.
•Process: After completing a task, the developer saves changes into the
working project copy. The CI/CD tool (Jenkins, GitLab CI/CD, etc.)
detects these changes and runs the project.
•Error Handling: If issues occur, the developer is notified with a
detailed error description. If no issues are found, a confirmation of a
successful run is provided.
•Benefits: Detects and resolves conflicts or errors at the earliest stage
possible.
17
CD: Continuous Delivery/Deployment
Continuous Delivery involves the regular and automated deployment of
new application versions into a production environment.
•Key Aspect: Ensures that the application is always in a deployable
state. Deployment processes are automated but may include a final
manual approval step.
•Benefit: Enables rapid and reliable delivery of updates to users.
18
Imagine you are developing a food delivery app like
Uber Eats
• Code: A developer adds a feature, like a new "dark mode" for the app.
• Commit: The developer saves (commits) the changes to a shared repository (like
GitHub).
• CI Pipeline:
• Build: The system automatically builds the app with the new feature to check if
it compiles correctly.
• Unit Tests: It tests only the "dark mode" feature to ensure it works as
expected.
• Integration Tests: It ensures the new feature works with existing app features,
19
Contd.
• CD Pipeline:
• Review: The team reviews the feature for quality (optional for Continuous Deployment).
• Staging: The app is deployed to a staging environment where a team or beta users test
"dark mode" as if it's live.
• Production: Once stable, the feature is automatically or manually deployed to the app
that users download from app stores.
Real-Life Benefit: Every small change, like "dark mode," is tested, integrated and delivered
seamlessly to users with minimal downtime or errors.
20
CI/CD Pipeline
22
CI/CD Pipeline Workflow
• Source Control: Code pushed to version control repository.
23
• Monitor Stage: Application performance monitored post-deployment.
Benefits of CI/CD:
24
Challenges in CI/CD Adoption
1.Cultural Resistance: Teams may resist transitioning from traditional
workflows.
2.Toolchain Complexity: Integrating and managing CI/CD tools is
challenging.
3.Skill Gaps: Teams may lack expertise in CI/CD processes and tools.
4.Infrastructure Costs: Setting up and maintaining CI/CD can be expensive.
5.Testing Challenges: Comprehensive test coverage is time-consuming to
build and maintain.
6.Security Concerns: Automated pipelines can expose vulnerabilities if not
secure.
7.Integration Issues: Legacy systems may not integrate well with CI/CD
pipelines.
8.Change Management: Frequent changes can lead to instability if not
managed properly.
9.Monitoring and Feedback: Failures in pipelines can go unnoticed without
robust monitoring.
10.Scalability: Scaling pipelines for large teams and complex apps is difficult. 25
Diagram illustrates a DevOps pipeline integrating tools and
platforms like Git, Jenkins, Docker, and Kubernetes.
Continuous Deployment:
•ensures that tested, stable changes are delivered to users
quickly and reliably.
CI/CD Pipeline Workflow
•Minimizes human intervention in deployment.
30
CI/CD Pipeline Workflow