0% found this document useful (0 votes)
49 views51 pages

Unit 1

devOps unit 1

Uploaded by

kalyanireddy795
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)
49 views51 pages

Unit 1

devOps unit 1

Uploaded by

kalyanireddy795
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

DEVOPS

(CS503PC)
Course Outcomes: On successful completion of this
course, students will be able to:

1. Identify components of DevOps environment


2. Describe Software development models and
architectures of DevOps
3. Apply different project management, integration,
testing and code deployment tool
4. Investigate different DevOps Software development
models
5. Assess various DevOps practices
6. Collaborate and adopt DevOps in real-time projects
UNIT 1
 Introduction: Introduction
 Agile development model
 DevOps, and ITIL
 DevOps process and Continuous Delivery
 Release management
 Scrum
 Kanban
 delivery pipeline
 bottlenecks
Software Development Process

 Software is not built randomly. It follows a structured


process to go from an idea to a working product.
Phases in SDLC (Software Development Life Cycle):
 Requirement Gathering – Understand what to build.
 Design – Create system architecture (what connects to

what).
 Development – Write the code.
 Testing – Check if it works as expected.
 Deployment – Release it to users.
 Maintenance – Fix bugs, add new features.
Waterfall Model (Linear Sequential
Model)
Problems with Traditional Models

 Developers and Operations Teams are


Separate

 Code Works on Developer Machine but Fails


in Production

 Manual Testing and Deployment

 No Feedback from Users Until Late


What is DevOps?

 DevOps is a culture and set of practices that


combines Development (Dev) and Operations
(Ops) to deliver software faster, reliably, and
continuously.
 The idea is: Build → Test → Release → Monitor →

Repeat
 Development (Dev) – people who write the software

(coders, testers)
 Operations (Ops) – people who maintain the

systems that run the software (IT support, system


admins)
What Problem Does DevOps Solve?
 In traditional software development:
 Developers wrote code and threw it "over

the wall" to the operations team.


 Operations had to deploy and manage the

software without knowing how it was


written.
 This caused delays, errors, and blame

between teams.
 DevOps breaks this wall down.
 It encourages collaboration, automation,

and shared responsibility from start to


finish.
Core Principles of DevOps
Principle Description Example

Developers and Operations work as one They meet daily, share tasks, and
1. Collaboration
team solve problems together

Automatically test and deploy code


2. Automation Use tools to do repetitive tasks
without human errors

3. Continuous Integration Code is tested and merged frequently Code is always up-to-date and
(CI) (daily/hourly) working

4. Continuous Delivery (CD) Software is ready for release at any time New features can go live quickly

Constantly check systems and learn from If a bug appears, alerts are triggered
5. Monitoring & Feedback
issues and the team fixes it immediately
DevOps Tools
Tool Use

Git Source code control (track changes in code)

Jenkins Automate building and testing code (CI/CD)

Docker Package apps into containers to run anywhere

Kubernetes Manage containers at large scale


DevOps vs Traditional Models

Point Traditional Model DevOps Model

Separate teams for Dev


1. Team Structure Unified Dev + Ops team
& Ops

2. Communication Minimal, siloed Continuous and open

3. Speed of
Slow
Development Fast

4. Feedback After release Continuous during development

5. Flexibility Hard to change Easy to adapt

Manual
6. Automation Automated processes
testing/deployment
At end of Ongoing (early and
7. Testing
development continuous)

8. Time to Market Delayed Fast

Dev builds, Ops


9. Responsibility Shared responsibility
runs
10. Issue
Slow detection/fix Fast detection and fix
Resolution
“Not my job” “We’re in it together”
11. Culture
attitude mindset
Built in from the
12. Quality Focus Focus at the end
start
Automated
13. Infrastructure Manual setup (Infrastructure as
Code)
14. Customer Delayed feedback, Fast updates, happier
Satisfaction slow fixes users
What Is Agile?

 Agile is a way to build software that focuses on:


 Delivering work in small pieces,
 Getting feedback quickly,
 Improving continuously.
History of Agile
 February 2001 – The Snowbird Meeting
 Seventeen software experts met at a ski resort in Snowbird, Utah,

USA to discuss a better approach to software development.


 They created a short but powerful document called the Agile

Manifesto.
The Agile Manifesto (2001)
 It has 4 values and 12 principles.

The 4 Core Values:


 Individuals and interactions over processes and tools

 Working software over comprehensive documentation

 Customer collaboration over contract negotiation

 Responding to change over following a plan


Core principles
1.Customer satisfaction is top priority

2. Welcome changes—even late in the project

3. Deliver working software frequently

4. Business people and developers must work together daily

5. Build projects around motivated individuals

6. Face-to-face communication is best

7. Working software is the true measure of progress


Core principles
8. Agile promotes sustainable development

9. Focus on technical excellence and good design

10. Simplicity—the art of maximizing the amount of


work not done—is essential

11. Teams work best when they organize themselves

12. Regularly reflect and adjust to improve


Agile Process
1. Gather Requirements (User Stories):“What do you want the software to do?”
2. Sprint Planning : The team chooses a few user stories from the backlog to work on
in the next sprint (usually 1–4 weeks long).
3. Start the Sprint (Development Time):The team starts coding and building the
features.
 Every day, they have a short meeting (called a Daily Stand-up) to discuss:

4. Test and Review


 At the end of the sprint, the team:

 Tests what they built

 Shows it to the customer

 This is called a Sprint Review.

5. Feedback and Retrospective : After the review, the team has a Sprint
Retrospective, where they reflect:
 What went well?

 What didn’t go well?

 How can we improve in the next sprint?


6. Next Sprint Begins
 Based on feedback, the team:

 Updates the backlog

 Plans the next sprint

 Starts building the next set of features

 This cycle continues until the whole product is ready.


Term
Backlog A list of all features the customer wants
A short period (1–4 weeks) to build part
Sprint
of the software
A short sentence describing what the
User Story
user wants
A quick daily meeting for progress
Daily Stand-up
updates
Meeting with the customer to show what
Sprint Review
was built

Agile Roles in a Team


Role Who They Are What They Do
Decides what features are
Product Owner Represents the customer
needed

Makes sure Agile is followed


Scrum Master Team leader (like a coach)
and removes obstacles

Programmers, designers,
Development Team Build and test the product
testers
Advantages of Agile

 Focused
 Flexible
 Team-based
 Early Delivery
 Better Quality

Disadvantages of Agile

 Can be chaotic
 Needs good communication
 Can take longer if not managed
What is ITIL?

 ITIL = Information Technology Infrastructure Library


The Goal of ITIL
 To help businesses:

 Deliver high-quality, consistent IT services

 Handle problems and incidents in a systematic way

 Align IT with business needs


ITIL Service Lifecycle
ITIL organizes IT work into 5 stages, each with its own
processes:
1. Service Strategy – What should we offer?
2. Service Design – How will we deliver it?
3. Service Transition – How do we launch new services?
4. Service Operation – How do we manage services
daily?
5. Continual Service Improvement – How can we
improve?
ITIL Processes
Process Purpose

Incident Management Fix issues quickly

Find root causes of frequent


Problem Management
issues
Control and track system
Change Management
updates

Service Request
Handle user needs
Management

Track IT assets and their


Configuration Management
relationships
DevOps vs. ITIL
Feature DevOps ITIL

Focus Software delivery IT service management

Deliver features faster, Deliver stable, reliable


Goal
automate everything services

Approach Agile, flexible, continuous Structured, process-based

Rapid development and Standardized operations and


Style
deployment support

Developers, operations
Users IT support, service managers
engineers

Jenkins, Docker,
Tools ServiceNow, BMC Remedy
Kubernetes
Can DevOps and ITIL Work
Together?
Can DevOps and ITIL Work Together?

Situation DevOps Helps ITIL Helps

Ensures changes are


Build new Automates building,
approved and
software testing, deploying
documented
Tracks system
Makes deployments
Deploy updates changes and
faster and reliable
incidents

Logs incidents,
Uses monitoring tools assigns
Handle crashes
to detect problems responsibility, and
reports
Continuous Integration vs Continuous Delivery vs Deployment

CI (Continuous Integration):Code is automatically


tested and merged daily
CD (Continuous Delivery):Code is always ready to be
deployed (manually)
CD (Continuous Deployment):Code is deployed
automatically when all tests pass
Release Management

Release Management is the process of planning, scheduling,


coordinating, and deploying software releases (updates or new
features) to production .

What is the Goal of Release Management?


 To ensure:
 Software is released smoothly and on time
 It works correctly in the live environment
 It causes no disruption to users or services
Key Activities in Release
Management:
Step What Happens
Decide what to include and when to
1. Plan the Release
release
Bundle all code, config, and files
2. Build & Package
together
Make sure it works, doesn't break
3. Test the Release
anything
4. Schedule
Set a date/time for going live
Deployment

5. Deploy the Release Push to production systems


Check for issues, be ready to
6. Monitor and Support
rollback
Tools Used in Release Management

Tool Purpose

Jira Track release planning and tasks

Git Version control for code

Jenkins / GitLab CI Automate build, test, and deployment

ServiceNow / BMC Remedy ITIL-style release tracking and approvals

Docker / Kubernetes Containerized releases for easy rollouts

Monitoring Tools (e.g., Datadog, Prometheus) Watch for post-release issues


Controlled vs. Continuous Releases

Type Description

Traditional (Controlled) Release is planned, reviewed, approved step by step

Automated, frequent, small releases (often daily or


DevOps / Agile (Continuous)
hourly)
Release Management in DevOps vs. ITIL

Feature ITIL DevOps

Approach Formal and scheduled Agile and continuous

Goal Stability and risk control Speed and innovation

Frequency Less frequent Very frequent (even hourly)

Process Multiple approvals Automation + feedback loops


What Is Scrum?
 Scrum is a framework used to build products or complete
projects by breaking the work into small, manageable parts.
 It’s part of Agile — one way to practice Agile values.
 Scrum is lightweight, simple to understand, but powerful
when used well.
 It’s often used in software development, but also in
marketing, education, product design, etc.
Scrum Framework Components
1. Scrum Roles:
Role Responsibility

Product Owner Decides what needs to be built, sets priorities

Makes sure the team follows Scrum, helps remove


Scrum Master
obstacles

Development Team Builds the product or works on the tasks

2.Scrum Events:
These are the meetings or events that keep the team on track:
Event Purpose When It Happens

A time-boxed period (1–4 weeks) to


Sprint Repeats again and again
complete work

Sprint Planning Decide what to work on this Sprint At the start of every Sprint

Daily Scrum (Stand-up) 15-minute meeting to discuss progress Every day


Show and get feedback on what was
Sprint Review End of the Sprint
built

Team reflects on what went well and


Sprint Retrospective After the Sprint Review
what to improve
3. Scrum Artifacts:
These are the key pieces of information used in Scrum:

Artifact Description Purpose

Product Backlog A list of all features, tasks, and ideas Acts like a to-do list

Sprint Backlog Tasks selected for this Sprint What the team focuses on now

Scrum Cycle:
1. Product Owner creates and updates the Product
2. In Sprint Planning, the team chooses what to build from the backlog
3. The team works during the Sprint (1–4 weeks)
4. Daily Scrum helps team stay on track
5. At end of Sprint: Review (demo) + Retrospective (feedback)
6. Start next Sprint with lessons learned

📌 This cycle repeats until the final product is ready.


Scrum Advantages:
 Faster delivery
 Flexibility
 Team collaboration
 Transparency
 Continuous improvement
Kanban
 Kanban is a Japanese word that means “signboard” or “visual card.”
 Originally developed by Toyota in the 1940s for automobile production,
Kanban is now widely used in project management — especially in
software development, IT operations, marketing, education, and more.
Purpose of Kanban:
Kanban helps teams:
 Visualize their work

 Limit how much work is in progress

 Identify bottlenecks

 Continuous Delivery
Components of Kanban
1.Kanban Board
 A Kanban board is the main workspace. It has columns
that represent different stages of work.

• To Do - Tasks that are ready to be worked on

• In Progress - Tasks that are currently being worked on

• Done - Finished tasks


2. Kanban Cards
Each task is a card that moves from left to right across the
board.
Each card includes:
 Task name

 Person responsible

 Due date (optional)

 Description

 Priority

 Checklist (optional)

️These cards are moved across the board as progress


happens
3. Work-In-Progress (WIP)
One of the most powerful parts of Kanban.
 You limit how many tasks can be in each column at once.

Why?
 It prevents people from starting too many tasks at once.

 It forces the team to focus and finish before starting new things.

4. Continuous Delivery / Flow

 Kanban is not based on time (like Scrum’s Sprints).


It’s based on flow — the goal is to keep work moving smoothly.
 New work can be added anytime, and finished work can be released
anytime.
 There’s no “start” or “end” of a Sprint — work just flows continuously.
5. Metrics & Improvement

 Teams often use flow-based metrics to


improve performance:

Metrics:
Lead Time
Cycle Time
Throughput
Cumulative Flow Diagram (CFD)
When to Use Kanban?
 Helpdesk / Support teams
 Ongoing maintenance work
 Teams with lots of changes
 Beginners in Agile
 Remote teams
Tools for Kanban
Tool Description
Most popular, simple drag-and-
Trello
drop
Jira (Kanban board) Used in software development
Whiteboard with Kanban
Miro
templates
Kanban vs Scrum

Feature Kanban Scrum


Fixed time periods
Time-Based No fixed time (flow-based)
(Sprints)
Defined roles (Scrum
Roles No specific roles Master, Product Owner,
Team)
Tasks planned before
Planning Tasks pulled as needed
each Sprint
Flexibility Very flexible More structured
Daily stand-ups, Sprint
Meetings No required meetings
Planning, etc.
New product
Support teams, ongoing
Best For development, fixed
work
goals
Delivery Continuous At end of Sprint

Visualization Cards on a board Tasks grouped into Sprints


DevOps Lifecycle / Pipeline
 Plan – Work Planning & Prioritization : Define what needs
to be built: features, bug fixes, enhancements.
 Develop – Code Creation & Version Control : Developers
write code locally and commit to a Git repository.
 Build – Compiling and Packaging the Code :Source code is
automatically compiled into an executable or deployable package.
 Test – Quality Assurance Through Automation : Run
automated tests after build to ensure code works correctly.
 Release – Prepare & Approve the Deployment : Code is
marked as a candidate for production release.
 Deploy -Push Code to Production : Release is automatically
deployed to production servers/cloud.
 Monitor – Observe & Optimize in Real-Time:
Application is monitored for health, performance, and usage.
Delivery Pipeline
 A Delivery Pipeline is the automated process of moving software from development
to production — safely and quickly.
 It ensures that every code change goes through building, testing, and releasing — in
a controlled, repeatable way.

Why Is It Important?
Before pipelines, teams would:
 Write code for weeks/months
 Do manual testing
 Deploy manually (which was slow and error-prone)

With a Delivery Pipeline, teams can:


Release faster
Catch bugs early
Automate repetitive work
Deliver higher-quality software
Stages in a Delivery Pipeline
1. Source Code Management (SCM):
Tool examples: Git, GitHub, Bitbucket
2. Build Stage:
Tools: Maven, Gradle, MSBuild, Jenkins, Azure Pipelines
3. Automated Testing Stage:
Tools: JUnit, Selenium, PyTest, TestNG
4. Staging/Pre-production:
Tools: Docker, Kubernetes, Ansible
5. Deployment (Release Stage):
Tools: Jenkins, GitLab CI/CD, Azure DevOps, CircleCI
6. Monitoring and Feedback
Tools: Prometheus, Grafana, New Relic, Sentry
Benefits of Delivery
Pipeline
 Faster delivery
 Automated testing
 Repeatable
 Transparent
 Reduces risk
Common Bottlenecks
 Limited automation
 Slow feedback
 Inadequate logging and monitoring
 Manual releases
 Complex configuration management,
 Poor collaboration
Agile DevOps
Focuses on how teams write and plan Focuses on how software is delivered
1
code and maintained

Breaks work into small parts called Automates building, testing, and
2
sprints deploying code
Encourages frequent feedback from Connects development and
3
users operations teams
Helps teams adapt to change Ensures software runs reliably in
4
quickly production
Mainly involves developers and Involves developers and operations
5
testers teams
Emphasizes collaboration within the Emphasizes collaboration between
6
team dev and ops

Uses tools for continuous integration


7 Uses meetings like daily stand-ups
& delivery (CI/CD)

Focuses on delivering working Monitors software health and


8
software regularly performance continuously

Helps teams fix problems faster in


9 Manages requirements and features
live systems

Improves product development Improves software stability and


10
speed and quality scalability
# Agile DevOps Detailed Explanation

Focuses on how software is Agile is about creating features efficiently;


Focuses on how teams write
1 delivered and DevOps ensures those features are deployed
and plan code.
maintained. and sustained in production.

Breaks work into small, Automates building, Agile uses time-boxed iterations for progress;
2 manageable parts called testing, and deploying DevOps builds automation to move code
sprints. code. from commit to live quickly and safely.

Agile feedback loops are mostly from


Encourages frequent Connects development stakeholders/customers; DevOps feedback
3
feedback from users. and operations teams. loops are also from operational metrics and
monitoring.

Agile adjusts to new requirements easily;


Helps teams adapt to Ensures software runs
4 DevOps focuses on stability, scalability, and
change quickly. reliably in production.
uptime once changes are shipped.

Agile teams are dev/test heavy; DevOps


Mainly involves developers Involves developers and
5 adds ops and sometimes security for full
and testers. operations teams.
lifecycle ownership.
Uses tools for
Agile’s collaboration is human-
continuous
Uses meetings like daily driven (meetings, ceremonies);
7 integration &
stand-ups. DevOps relies on automation
delivery
pipelines to speed delivery.
(CI/CD).

Monitors
Agile gets features out; DevOps
Focuses on delivering software health
ensures they stay healthy and
8 working software and
performant through monitoring
regularly. performance
and alerting.
continuously.
Helps teams fix Agile manages the backlog;
Manages requirements problems DevOps addresses production
9
and features. faster in live issues quickly using monitoring,
systems. automation, and quick rollbacks.

Improves Agile speeds up the creation of


Improves product
software quality features; DevOps ensures
10 development speed
stability and those features can scale and
and quality.
scalability. remain reliable over time.

You might also like