C113 CaseStudyDevOps
C113 CaseStudyDevOps
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.
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.
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 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:
Automated Testing
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.