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

Unit 7 DevOps Final

The document outlines the evolution and benefits of the DevOps model, emphasizing the need for collaboration between Development and Operations to meet business demands for rapid software releases. It details the DevOps lifecycle stages, including planning, coding, testing, and monitoring, and highlights key principles such as automation and continuous improvement. Additionally, it discusses the advantages of DevOps, including faster time to market, improved product quality, and enhanced operational efficiency.

Uploaded by

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

Unit 7 DevOps Final

The document outlines the evolution and benefits of the DevOps model, emphasizing the need for collaboration between Development and Operations to meet business demands for rapid software releases. It details the DevOps lifecycle stages, including planning, coding, testing, and monitoring, and highlights key principles such as automation and continuous improvement. Additionally, it discusses the advantages of DevOps, including faster time to market, improved product quality, and enhanced operational efficiency.

Uploaded by

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

DevOps

SOFTWARE RELEASE PROCESS


Prior to DevOps
Prior to DevOps, change-release frequency was low, Development and Operations worked separately
to serve business demands, having completely opposite mindsets.
Need of DevOps
DevOps unifies mindset of Development and Operations. Today business wants to release on
demand.
With DevOps, both functions continuously collaborate to align business demands within the
software delivery lifecycle.
The DevOps model is significantly different from the traditional IT model.
DevOps integrates the application lifecycle into an end-to-end, iterative process
Agile Process
Dev and Ops teams' collaboration creates:
• Automated, self-service, and reliable infrastructures and tools
• Complete CI/CD, providing an end-to-end solution
• Feedback Loops, enabling continuous learning and quick recovery
• Infrastructure as Code, bringing modern software development methodologies into
infrastructure
• Development awareness of how code affects infrastructure
• Monitoring and troubleshooting of production systems
Benefits of DevOps
• Practicing DevOps benefits organizations in many ways, but
people in different organizational roles may tend to focus on
different benefits of DevOps.
• For example, the CEO of a company may look at the increased
revenues and reduced costs that DevOps brings,
• while an IT manager may be more interested in faster release
cycles, Improved software performance and MTTR.
• Development team might be interested in quick development
and a reduction in defects.
• Operational team would be interested in scalability, easy of
maintenance.
• Ensure faster deployment
(Fast delivery -> quick updates -> Happy customer -> firm stand)
• Stabilize work environment
(frequent release -> less tension -> stable workplace -> increase productivity)
• Significant improvement in product quality
(Dev & Op collaboration -> Frequent feedback -> improved product quality)
• Automation in repetitive leads to innovation
(quick error detection -> frequent problem solving -> automated testing -> innovation
• Promotes agility in your business
(Frequent update -> agility -> stability in market -> scalability)
• Continuous delivery of software
(departmental integration -> faster software delivery)
• Fast and reliable problem-solving techniques
• Transparency leads to high productivity
(Elimination of silos -> promoted collaboration -> easy communication -> productivity)
• Minimal cost of production
(Proper collaboration -> management & production cost reduction)
• Faster Time to Market
• Reduced Change Failure
• Faster and More Frequent Releases
• Satisfied Customers
• Higher Work Satisfaction
• Increased Revenue
• More Time on New Work
• Better Quality Products
• Robust Infrastructure
• Higher Work Satisfaction
DevOps Lifecycle
• Plan: In this stage, teams identify the business requirement and
collect end-user feedback. They create a project roadmap to
maximize the business value and deliver the desired product during
this stage.
• Code: The code development takes place at this stage. The
development teams use some tools and plugins like Git to streamline
the development process, which helps them avoid security flaws and
lousy coding practices.
• Build: In this stage, once developers finish their task, they commit the
code to the shared code repository using build tools like Maven and
Gradle.
DevOps Lifecycle
• Test: Once the build is ready, it is deployed to the test environment
first to perform several types of testing like user acceptance test,
security test, integration testing, performance testing, etc., using
tools like JUnit, Selenium, etc., to ensure software quality.
• Release: The build is ready to deploy on the production environment
at this phase. Once the build passes all tests, the operations team
schedules the releases or deploys multiple releases to production,
depending on the organizational needs.
• Deploy: In this stage, Infrastructure-as-Code helps build the
production environment and then releases the build with the help of
different tools.
DevOps Lifecycle
• Operate: The release is live now to use by customers. The operations
team at this stage takes care of server configuring and provisioning
using tools like Chef.
• Monitor: In this stage, the DevOps pipeline is monitored based on
data collected from customer behavior, application performance, etc.
Monitoring the entire environment helps teams find the bottlenecks
impacting the development and operations teams’ productivity.
7Cs of DevOps lifecycle
1. Continuous Development
• developers work on small, manageable code changes or user stories.
As soon as a developer completes a piece of code, it is immediately
integrated into the main code repository.
• Here’s where automation plays a crucial role
• GitLab, GIT, TFS, SVN, Mercurial, Jira, BitBucket, Confluence, and
Subversion are a few tools used for version control.
2. Continuous Integration
• involves the frequent and automated integration of code changes into a
shared repository.
• updated code or add-on functionalities and features are developed and
integrated into existing code.
• bugs detection and identification through Unit testing and then the source
code is modified accordingly.
• makes integration a continuous approach where code is tested at every
commit.
• as soon as a developer commits their code changes to the shared
repository, an automated CI system takes over. It immediately triggers a
series of actions, including code compilation, automated testing, and build
packaging.
• Jenkin, Bamboo, GitLab CI, Buddy, TeamCity, Travis, and CircleCI are a few
DevOps tools used to make the project workflow smooth and more
productive.
3. Continuous Testing
• Each code change triggers a battery of automated tests, including unit
tests, integration tests, regression tests, and even user acceptance
tests.
• test fails alerts the developer, providing immediate feedback to
identify and rectify issues early.
• It ensures that software remains reliable, performs well, and meets
user expectations at all times.
• And meet quality standards, faster delivery cycles, and fewer defects
reaching production.
4. Continuous Deployment

• code change will be followed by automated tests, and then it’s


automatically deployed to the production environment without any
manual intervention.
• Automated tests, continuous monitoring, and rollback mechanisms
are critical components of continuous deployment.
• organizations achieve faster time-to-market, reduced manual errors,
and increased responsiveness to user feedback.
5. Continuous Feedback

• refers to the practice of collecting, analyzing, and acting upon


feedback at every stage of the DevOps journey.
• Development teams receive immediate feedback on code changes,
ensuring quality and alignment with user needs.
• Operations teams proactively address performance issues, minimizing
downtime.
• Organization can deliver more reliable software, respond swiftly to
issues, and continuously evolve to meet changing user expectations.
6. Continuous Monitoring

• refers to the practice of continuously observing, measuring, and


analyzing the performance and behavior of software applications,
servers, and infrastructure components.
• organizations gain a comprehensive understanding of their IT
environment, enabling them to deliver reliable and efficient services
to their users
7. Continuous Operations

• encompass the practice of maintaining, monitoring, and optimizing the


production environment throughout the DevOps lifecycle.
• It ensures that applications are available, performant, and secure.
• Continuous operations within a DevOps environment are seamlessly
automated and deeply ingrained in the DevOps lifecycle.
• One key aspect is the utilization of Infrastructure as Code (IaC), enabling
operations teams to programmatically define and manage the entire
infrastructure stack, thereby ensuring consistency and mitigating manual
errors in infrastructure management.
• also include practices like disaster recovery planning, data backups, and
security monitoring to ensure the system’s resilience and data integrity.
DevOps Principles
• Collaboration
• Automation
• Continuous Improvement
• Customer-centric action/ decision making
• Failure as a Learning Opportunity
• Version control
• Incremental releases
• Pipeline
• feedback loops
• Creating the software with the end in mind
• End to End Responsibilities
• Cross-functional autonomous teamsFailure as a Learning Opportunity
3 core DevOps principles
1. Automation
The automation in every phase of the DevOps cycle is a must and the
first step in achieving the DevOps culture.
2. Tools
Since the DevOps culture is about automation and integrating all the
phases the selection of tools that suits your requirement in the
organization is a must.
3. Culture
DevOps foster transparent communication, enhance collaboration,
enhance trust, show accountability and responsibilities in their work is
the key to good DevOps culture implementation.
Tools for DevOps
DevOps practices
DevOps practices apply continuous automation cycles throughout software development and operations processes
Jira
• Jira is planning, tracking & management tool for project management
issue tracking platform that lets you assign tasks to team members
and track your progress.
• Thousands of software development teams use Jira to plan and track
their work through the stages of the development lifecycle.
• Exalate is a Decentralized integration app. It's installed and managed
by each side of the connection separately, giving you autonomous
control over both outgoing and incoming requests.
Agile terminologies in Jira
Agile Scrum Roles
Scrum Sprint activities
What is Jira?
Why Jira?
User Story Map for Online Home Delivery
Restaurant

You might also like