Infrastructure as Code and DevOps

Daniel Kerschagl
Just another buzzword
3 min readAug 17, 2020

Infrastructure as a Code is a concept that deals with the configuration and deployment of the infrastructure as well as the creation of software or code. Just as an application can be created automatically, it should also be possible to provide and configure the associated infrastructure automatically without great effort. The basic goals are to ensure that changes can be easily implemented without long downtimes or complicated system interventions. This creates usable capacities, as the administration of the infrastructure is largely taken over by tools. Also, users without much experience can deploy and manage infrastructure that is already required for their purposes. The learning effect and the correction of errors are also easier to handle, since constant improvements can be made. The DevOps principle also emerged from this approach.

Der term DevOps

The term DevOps is composed of the two words Development and IT Operations. Individual areas such as development or operations should work together and communicate with each other better, i.e. no longer in isolation. Quality assurance will also be more strongly integrated. This is achieved by using automation, tools, special ways of thinking and processes. DevOps also supports Continuous Integration. Furthermore, the term is based on the so-called “Agile Infrastructure”.

This is a mindset that states that organizations should be open to change. It is a goal to strive for continuous delivery and constant improvement. It is also important to detect errors early on and to correct them during development. This then leads to faster deployment, higher flexibility and continuous improvement through timely feedback. The goal of DevOps is to develop products in a shorter period of time. A developer is thus involved in the entire life cycle of an application and not only in the individual sub-steps.

Principles regarding DevOps

There are some principles that should be observed in connection with DevOps. Basically there is a common goal at the beginning, also called a “Bigger Picture”, which all teams and their members want to know and achieve. This is achieved through mutual trust and respect. It must be possible to rely on everyone to do their jobs. Also the tasks are divided. It is important that so-called “knowledge silos” are avoided.

So the knowledge must be divided equally. Thus, there is no one who, should he fail or refuse to cooperate, can affect the whole project. Of course this does not mean that everyone has to be an expert in everything. Wherever possible, automation should be implemented. By using Infrastructure as a Code you get some version control and the possibility to split the processes. This also provides traceability. This leads to modern configuration management and easy provisioning of cloud environments.

Also important is the use of metrics and monitoring to control the application. The information gained from this can then be used to make further decisions or handle critical situations. Here you can find information from Col J. Boyd, a military strategist, developed the so-called OODA concept (Observe, Orient, Decide and Act). This means that it is important to adapt to constantly changing circumstances, such as those found in the market economy and rapid technological progress

To meet this principle, DevOps uses Continuous Integration, Delivery and Deployment. Often the term Microservice is also used in this context to exploit its advantages. Finally, it is essential to learn from mistakes. It is desirable to take certain risks in order to find new ways and improve. If problems occur, it is possible to learn from them to improve the resilience of the application later on. In this way, a positive benefit can be drawn from experiments and failures, without having a negative influence or blame on anyone.

--

--

Daniel Kerschagl
Just another buzzword

I am a Senior Cloud & DevOps Specialist at white duck. Passionate about agile project management. Also Blogger, Speaker, Lecturer, Scrum Master and IHK Examiner