0% found this document useful (0 votes)
2 views

DevOps

DevOps is a set of practices that integrates software development and IT operations to enhance collaboration, automation, and continuous delivery of high-quality software. It involves various software development life cycle models, such as Agile and CI/CD, to streamline processes and improve efficiency. Key benefits include faster time-to-market, improved software quality, and a culture of continuous improvement among cross-functional teams.

Uploaded by

adthunderwind007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

DevOps

DevOps is a set of practices that integrates software development and IT operations to enhance collaboration, automation, and continuous delivery of high-quality software. It involves various software development life cycle models, such as Agile and CI/CD, to streamline processes and improve efficiency. Key benefits include faster time-to-market, improved software quality, and a culture of continuous improvement among cross-functional teams.

Uploaded by

adthunderwind007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

DevOps

Empowering Collaboration, Automation, and Continuous


Delivery

Dr Uday Wad
Professor Of Practice
K.K. Wagh Institute of Engineering Education & Research
Head Technology & Innovations (Fibitech Software Solution Pvt. Ltd)
Director Engineering (DevBoost ITechGenic Singapore)
Sr. Advisor (QKrishi Quantum Initiative US)
Software Development Life
Cycles…
1.Waterfall Model
1. Pros: Simple and easy to understand; well-documented stages; clear milestones.
2. Cons: Inflexible to changes; late testing phase; not suitable for complex projects.

2.Agile Model
1. Pros: Flexible and adaptive; continuous feedback; early and frequent delivery.
2. Cons: Requires experienced team; less predictability; can be hard to manage without
strong leadership.

3.Spiral Model
1. Pros: Focuses on risk analysis; iterative development; suitable for large, complex projects.
2. Cons: Can be costly; requires expertise in risk assessment; complex management.

4.Iterative Model
1. Pros: Allows for early detection of issues; continuous improvement; user feedback incorporated.
2. Cons: Can be resource-intensive; requires good planning; potential for scope creep.

5.Rapid Application Development (RAD)


1. Pros: Fast development; user involvement; flexible to changes.
2. Cons: Requires highly skilled developers; not suitable for large projects; dependency on strong
team collaboration.

6.Big Bang Model


1. Pros: Simple and straightforward; minimal planning.
Connecting DevOps to SDLC Models

•Waterfall Model: DevOps can be used to automate testing and deployment stages,
making the process more efficient and reducing the time between stages.

•Agile Model: DevOps complements Agile by providing continuous integration and


continuous delivery (CI/CD) pipelines, ensuring that code changes are tested and
deployed rapidly.

•Spiral Model: DevOps can help in automating risk analysis and iterative testing,
making the process more streamlined and efficient.

•Iterative Model: DevOps tools can be used to automate repetitive tasks, such as
testing and deployment, allowing teams to focus on iterative improvements.

•RAD: DevOps can support rapid development by automating build, test, and
deployment processes, enabling faster iterations and feedback loops.

•Big Bang Model: While not commonly used with DevOps, automation tools can still
be applied to streamline the final integration and deployment phases
What is DevOps?

Definition: DevOps is a set of practices that combines


software development (Dev) and IT operations (Ops). It
aims to shorten the software development lifecycle and
deliver high-quality software continuously.

Key Objectives:
• Automate processes.
• Improve collaboration between teams.
• Enhance deployment speed and reliability.

Core Principles:
• Culture of collaboration.
• Continuous integration and delivery.
• Automation and monitoring.
Role of a DevOps Engineer

Overview: DevOps Engineers are responsible for bridging the gap


between development and operations teams.
(Teams: Project Mgt, Operations,Design, Dev, QA, Infra, Security, Deployment)

Key Responsibilities:
• Implement CI/CD pipelines.
• Automate build, test, and deployment processes.
• Monitor and maintain infrastructure.
• Manage version control and repository systems.
• Promote collaboration and culture within teams.

Tools Used: Jenkins, Docker, Kubernetes, Ansible, Terraform.


Development
Responsibility
Focus Areas for Developers in DevOps:
• Writing high-quality, maintainable code.
• Creating automated unit and integration tests.
• Collaborating with operations and QA teams.
• Adhering to version control best practices.

Tools: Git, GitHub, GitLab, Bitbucket.


Introduction to CI/CD

Definition:
• Continuous Integration (CI): The practice of merging
code changes into a shared repository multiple times a day.
• Continuous Delivery (CD): Automating the delivery of
code to staging or production environments.

Benefits:
• Faster feedback on code quality.
• Reduced integration issues.
• Reliable and repeatable deployments.

Pipeline Stages:
• Build ➔ Test ➔ Release ➔ Deploy ➔ Monitor.
What is DevOps Culture?

Key Aspects:

Collaboration: Break silos between teams.

Ownership: Teams own the product end-to-end.

Continuous Improvement: Learn from failures and improve processes.

Automation: Reduce manual effort and errors

Core Values:

Transparency, trust, and accountability.


Dilution of Barriers in IT

Traditional Barriers:

• Development vs Operations silos.


• Separate QA, Security, and Infrastructure teams.

How DevOps Breaks Barriers:

• Unified goals and cross-functional teams.


• Shared responsibility for software delivery.
• Collaborative tools like Slack, Jenkins, and GitHub
Process Automation

Definition: Automating repetitive and manual tasks in the


software lifecycle.

Examples of Automation:

• Build automation: Jenkins, GitLab CI/CD.


• Testing automation: Selenium, PyTest.
• Deployment automation: Kubernetes, Ansible.

Benefits:

• Faster workflows.
• Fewer human errors.
• Consistent results.
Agile Practices in DevOps

Integration with Agile:


• DevOps aligns with Agile principles by enabling faster delivery
and feedback loops.

Key Practices:
• Scrum and sprint cycles.
• Continuous Delivery.
• Retrospectives and iterative improvements.

Focus: Delivering customer value continuously.


Reasons for Adopting DevOps

Business Benefits:
• Faster time-to-market.
• Improved software quality.
• Increased reliability and scalability.
• Cost efficiency through automation.

Cultural Benefits:
• Enhanced collaboration.
• Promotes innovation.
• Encourages accountability.
Who are Involved in DevOps?

Roles:

•Developers: Write and test code.

•QA Engineers: Ensure code quality.

•DevOps Engineers: Automate and manage pipelines.

•IT Operations: Manage infrastructure and deployments.

•Security Engineers: Integrate security into the lifecycle (DevSecOps).

•Product Managers and Stakeholders: Define goals and evaluate outcomes.


Introduction to DevOps Pipeline Phases

Pipeline Phases:

• Plan: Define requirements and tasks.


• Develop: Write, review, and commit code.
• Build: Compile code into deployable artifacts.
• Test: Verify code functionality and performance.
• Release: Prepare for deployment.
• Deploy: Move to production or staging.
• Operate: Monitor and maintain systems.
• Monitor: Collect feedback and improve.

Example Tools: Git, Jenkins, Docker, Kubernetes, Prometheus.


Summary

•DevOps combines development and operations for faster and reliable


software delivery.

•It fosters collaboration, automation, and a culture of continuous


improvement.

•Key concepts include CI/CD, process automation, and breaking down


silos.

•DevOps is integral to modern software development, aligning with


Agile principles and focusing on delivering value.

You might also like