0% found this document useful (0 votes)
5 views2 pages

Dev Ops

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)
5 views2 pages

Dev Ops

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

DevOps

• DevOps ("development" and "operations") is a software engineering practice that


aims at unifying software development (Dev) and software operation (Ops).
• The main characteristic of the DevOps movement is to strongly advocate automation
and monitoring at all steps of software construction,
from integration, testing, releasing to deployment and infrastructure management.
• DevOps aims at shorter development cycles, increased deployment frequency, more
dependable releases, in close alignment with business objectives.
• As DevOps is intended to be a cross-functional mode of working, rather than a single
DevOps tool there are sets (or "toolchains") of multiple tools.
• Such DevOps tools are expected to fit into one or more of these categories, reflective
of key aspects of the development and delivery process

1. Code — code development and review, source code management tools, code merging
2. Build — continuous integration tools, build status
3. Test — continuous testing tools that provide feedback on business risks
4. Package — artifact repository, application pre-deployment staging
5. Release — change management, release approvals, release automation
6. Configure — infrastructure configuration and management, Infrastructure as
Code tools
7. Monitor — applications performance monitoring, end–user experience

Some categories are more essential in a DevOps toolchain than others; especially continuous
integration (e.g. Jenkins) and infrastructure as code

The goals of DevOps span the entire delivery pipeline. They include:
• Improved deployment frequency;
• Faster time to market;
• Lower failure rate of new releases;
• Shortened lead time between fixes;
• Faster mean time to recovery (in the event of a new release crashing or otherwise
disabling the current system).
DevOps is more than just a tool or a process change; it inherently requires an organizational
culture shift. This cultural change is especially difficult, because of the conflicting nature of
departmental roles:
• Operations — seeks organizational stability
• Developers — seek change
• Testers — seek risk reduction

DevOps and Architecture


To practice DevOps effectively, software applications have to meet a set of architecturally
significant requirements (ASRs), such as: deployability, modifiability, testability, and
monitorability. These ASRs require a high priority and cannot be traded off lightly.
Although in principle it is possible to practice DevOps with any architectural style,
the microservices architectural style is becoming the standard for building continuously
deployed systems. Because the size of each service is small, it allows the architecture of an
individual service to emerge through continuous refactoring, hence reducing the need for a
big upfront design and allows for releasing the software early and continuously.

You might also like