Skip to main content

What is DevOps?


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

Popular posts from this blog

Prototype Design Pattern

Prototype Design Pattern is a creational design pattern which will be used when there is a need to create multiple object with the same class and will be involved in lot of configurations. By using Prototype Design pattern we can clone a existing object with same configurations values, with same property values into a different memory location, that will exclude the costly operations. This will save us both time and resources. When to use? and Why? Creating new objects by cloning other objects. Allows for adding any subclass instance of a known super class at run-time when there are numerous potential classes that you want to only use if needed at run-time. Reduce the need for creating sub classes public interface Shape extends Cloneable {            public Shape makeCopy(); } public class Circle implements Shape {            public Circle() {                 ...