Nowadays IT organizations are under increasing pressure to deliver applications faster and with higher quality, and to stay ahead of the competition in terms of innovation. With the classic approaches and their slow and usually manual processes, the increased business requirements can no longer be met. The scope and complexity of today’s IT environments have simply become too demanding.
New applications need to be implemented faster, and at the same time, they must ensure that systems and their overlying services can still be used reliably.
Infrastructure automation, also known as Infrastructure as Code (IaC), is the basis for faster qualitative progress. It doesn’t only increase the efficiency of projects and their services, but also operational activities.
IaC includes both software and the necessary infrastructure for execution, such as storage, computer, or network resources which are described in a declarative language, such as Puppet DSL, CloudFormation, or Terraform Syntax. See blog article: How Declarative and Imperative Styles Differ in Infrastructure as Code
IaC is also about programming hardware infrastructures as executable code that can be easily adjusted, duplicated, deleted, and versioned at any time.
Another goal is to guarantee the consistency between development, testing, and production environments. This is to implement changes quickly, with the knowledge that everything that works smoothly in one environment also works in others, and that all systems are described accordingly and are therefore stable.
The software teams have also undergone massive transformations in recent years, with more and more Cloud technologies being used for development and testing. This is mainly due to the fact that IT operation teams have to meet ever-increasing demands and it is becoming increasingly difficult to quickly provide IT infrastructures according to the developers’ requirements. This is why hybrid on-premise infrastructures with hyperscale Cloud solutions are popular with many customers and why the importance of infrastructure automation and its processes (including tools) are increasing enormously.
Agile Development and DevSecOps Mindset
The agile process model “SCRUM” or the Scaled Agile Framework ® (SAFe) together with DevSecOps teams can help to achieve higher release frequency and reliability. DevSecOps itself is not a framework or a process model; rather, it is a philosophy and cultural mindset for the cooperation of development and operation on a cultural, practical, and tool level to achieve the aforementioned goals. This allows for more flexible processes that support and simplify the collaboration for all people involved in the development process. Changes to the infrastructure (code) become transparent and traceable in detail, and collaboration is increased for all IT stakeholders (security developers, operations). Ensuring that the tool chain includes technologies that enable processes such as continuous integration and continuous delivery (CI/CD) is also very important, so that the infrastructure code can be treated in the same way as the application code and similar tools and processes can be used.
To answer the initial question:
We at copebit AG are convinced that with the right automation tools, methods, and frameworks, and with a DevSecOps philosophy, we can massively increase the actual added value for the customer, and at the same time, provide them with the basis for future innovations. We rely on Puppet technologies in the area of on-premise infrastructure automation, as it is a comprehensive total solution for us which can also be complemented with other automation and CI/CD tools. But it is also important for us to always provide our customers with a DevSecOps team with knowledge of agile development and the necessary modern mindset to generate maximum customer value.