What is DevOps?
DevOps is a set of practices that
will increase the ability of an organization to deliver applications and
services to the clients in a faster and more reliable way. These practices will
enable development (Dev) and operation (Ops) teams to merged into a single team
so the team can work entire application lifecycle, from development and test to
deployment to operations rather than the be a traditional isolated teams that
will work only on a part of the application lifecycle.
DevOps teams try to automate as many processes
as possible in order to build, test and release products in more faster and
with more reliability.
DevOps Practices
- Agile
Agile is a time boxed, iterative approach that builds
software in an incremental way from the start of the project instead of
delivering it all at once at the end of the project. In this way customer can
see the software form the start of the project and the team can get feedback about
the software from client that will lead to having the exact software that
client needed at the end of the project.
o
Stakeholder engagement
o
Transparency
o
Early and predictable delivery
o
Allows for change
o
Focus on business value
o
Improved quality
- Continues integration
CI is practice that will automate the build and testing
of the code each and every time when a new commit is checked in to the code
repository which will enable the team to find defects early.
Usually developers tend to work on isolation and
check-in their work in the end. This is not a good practice because when we try
to integrate all the code from all team members at the end this will cause many
merge conflicts and to solve that it takes unnecessary time. And after they solve these merge conflicts
there are bugs that are popping up after integration and theses bugs are hard
to fix. To avoid these problems we can use CI.
CI requires the team to have a shared version control merge
their code and unit tests continuously and that code is built and tested. This
will reduce time spent on the merge conflicts and enables to find defects early
on which will lead less time to solve that defect.
o
Less bugs
o
Integration problems are been solved early
o
Less context switching
o
Testing cost reduced
- ·
Continues Delivery
Continues
delivery is a practice that will automate build, testing and prepared for the
release. This is an extension of continues integration to make sure that
developers can release the products with new features to the customer in a
quicker and more sustainable way.
CD lets the
developers automate not only the unit testing but also UI testing, load testing
integration testing, etc.…. This enables the developers to test their
application more thoroughly before going to the customer and by so making a
quality product.
o
Low risk releases
o
Faster time to market
o
Higher quality
o
Lower costs
o
Better products
These are 3 of main key practices of DevOps and there are many more practices
Comments
Post a Comment