0% found this document useful (0 votes)
17 views6 pages

C113 CaseStudyDevOps

DevOps is a cultural and operational shift that integrates development and operations teams to enhance software delivery speed and quality. The DevOps lifecycle consists of eight phases that promote collaboration, continuous integration, and deployment, while tools and practices like Agile and automated testing further streamline processes. Agile DevOps combines Agile methodologies with DevOps practices to expedite feedback and improve the overall software development lifecycle.

Uploaded by

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

C113 CaseStudyDevOps

DevOps is a cultural and operational shift that integrates development and operations teams to enhance software delivery speed and quality. The DevOps lifecycle consists of eight phases that promote collaboration, continuous integration, and deployment, while tools and practices like Agile and automated testing further streamline processes. Agile DevOps combines Agile methodologies with DevOps practices to expedite feedback and improve the overall software development lifecycle.

Uploaded by

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

CASE STUDY: DevOps (Developer

Operations)

Introduction to DevOps:
DevOps is a combination of practices and tools that help organizations
deliver software and services faster and more efficiently. It's a culture
that encourages collaboration between development and operations
teams.
The DevOps movement began around 2007 when the software
development and IT operations communities raised concerns about the
traditional software development model, where developers who wrote
code worked apart from operations who deployed and supported the
code. The term DevOps, a combination of the words development and
operations, reflects the process of integrating these disciplines into one,
continuous process.
How does DevOps work?
A DevOps team includes developers and IT operations working
collaboratively throughout the product lifecycle, in order to increase the
speed and quality of software deployment. It’s a new way of working, a
cultural shift, that has significant implications for teams and the
organizations they work for.

Under a DevOps model, development and operations teams are no


longer “siloed.” Sometimes, these two teams merge into a single team
where the engineers work across the entire application lifecycle — from
development and test to deployment and operations — and have a
range of multidisciplinary skills.
DevOps Life Cycle:

The DevOps lifecycle consists of eight phases representing the


processes, capabilities, and tools needed for development (on the left
side of the loop) and operations (on the right side of the loop).
Throughout each phase, teams collaborate and communicate to
maintain alignment, velocity, and quality.

The Phases of DevOps Life Cycle:

Building software is a team sport. In preparation for the upcoming sprint,


teams must workshop to explore, organize, and prioritize ideas. Ideas
must align to strategic goals and deliver customer impact. Agile can help
guide DevOps teams.

DevOps teams should adopt agile practices to improve speed and


quality. Agile is an iterative approach to project management and
software development that helps teams break work into smaller pieces to
deliver incremental value.

Git is a free and open source version control system. It offers excellent
support for branching, merging, and rewriting repository history, which
has led to many innovative and powerful workflows and tools for the
development build process.
Continuous integration (CI) allows multiple developers to contribute to a
single shared repository. When code changes are merged, automated
tests are run to ensure correctness before integration. Merging and
testing code often help development teams gain reassurance in the
quality and predictability of code once deployed.

Continuous deployment (CD) allows teams to release features frequently


into production in an automated fashion. Teams also have the option to
deploy with feature flags, delivering new code to users steadily and
methodically rather than all at once. This approach improves velocity,
productivity, and sustainability of software development teams.

Manage the end-to-end delivery of IT services to customers. This


includes the practices involved in design, implementation, configuration,
deployment, and maintenance of all IT infrastructure that supports an
organization’s services.

Quickly identify and resolve issues that impact product uptime, speed,
and functionality. Automatically notify your team of changes, high-risk
actions, or failures, so you can keep services on.

DevOps teams should evaluate each release and generate reports to


improve future releases. By gathering continuous feedback, teams can
improve their processes and incorporate customer feedback to improve
the next release.
DevOps Tools:

DevOps tools address the key phases of the DevOps lifecycle. They
empower DevOps practices by helping to improve collaboration, reduce
context-switching, introduce automation, and enable observability and
monitoring.
DevOps toolchains usually follow two approaches: an all-in-one or open
toolchain. An all-in-one toolchain offers a complete solution that usually
doesn’t integrate with other third-party tools, while an open toolchain
allows for customization with different tools. There are pros and cons to
both approaches.
An example of an open DevOps toolchain is Atlassian’s Open DevOps
solution, which includes Jira as a foundation and integrates with leading
vendors and marketplace apps.
DevOps with AGILE:

Agile DevOps is a strategic approach that intertwines Agile software


development methodologies with DevOps practices. The primary
objective of Agile DevOps is to expedite the feedback loop between
developers and operations teams, enabling swift and efficient
implementation of changes.

To achieve this, Agile DevOps leans heavily on automation, continuous


delivery, and continuous integration. Understanding these key aspects of
Agile DevOps can help organizations unlock the full potential of their
software development and operations processes.

Automated Testing

Automated testing is a crucial subset of automation in Agile DevOps. It


employs automated tools to scrutinize the code for defects, accelerating
the testing process and ensuring all flaws are detected and rectified
promptly. Automated testing is not a monolithic entity; it encompasses a
variety of types, each serving a specific purpose.

Unit Testing
This involves testing individual components of the code to ensure they
function as expected. It helps identify issues early in the development
cycle, making them easier to fix.

Regression Testing
This tests the entire system to ensure that recent changes or additions
haven't broken existing functionality. It's crucial for maintaining the
integrity of the software over time.

System Testing
This tests the complete system in an environment that mimics production
to ensure it works as expected. It's a critical final step before deploying
software to end-users.

You might also like