1.

Can you explain the “Shift left to reduce failure” concept in DevOps?

Answer»

In order to understand what this means, we FIRST need to know how the traditional SDLC cycle works. In the traditional cycle, there are 2 main sides -

  • The left side of the cycle consists of the planning, design, and development phase
  • The right side of the cycle includes stress testing, production staging, and user acceptance.

In DevOps, shifting left simply means taking up as many tasks that usually take place at the end of the application development process as possible into the earlier stages of application development. From the below graph, we can see that if the shift left operations are followed, the chances of errors faced during the later stages of application development would greatly reduce as it would have been identified and solved in the earlier stages itself.

Shift Left To Reduce Failure

The most popular ways of accomplishing shift left in DevOps is to:

  • Work side by side with the development team while creating the deployment and test case automation. This is the first and the obvious step in achieving shift left. This is done because of the well-known fact that the failures that get notices in the production environment are not seen earlier quite often. These failures can be linked directly to:
    • Different deployment procedures used by the development team while developing their features.
    • Production deployment procedures sometimes tend to be way different than the development procedure. There can be differences in tooling and sometimes the process might also be manual.
  • Both the dev team and the operations teams are expected to take ownership to develop and maintain standard procedures for deployment by making use of the cloud and the pattern CAPABILITIES. This AIDS in giving the confidence that the production deployments would be successful.
  • Usage of pattern capabilities to avoid configurational level inconsistencies in the different ENVIRONMENTS being used. This would require the dev team and the operation team to come together and work in developing a standard process that guides developers to test their application in the development environment in the same way as they test in the production environment.


Discussion

No Comment Found