A working governance requires Infrastructure as Code
“Lift and Shift” was a hot phrase some years ago. Getting all the benefits from moving to the cloud without the hassles of changing too much in the IT organziation seemed to be a great way for cloud beginners.
While this works good for heavy content workloads, which can be processed better with more computing power, that approach turned out inefficient for monolithic legacy systems which are not very elastic, and complex environments that needed much operational effort to keep them up and running. The efforts spent on maintaining racks and a zoo of virtual machines simply moved to the cloud, too. Not much was gained that way.
With the rise of Devops, thinking began to turn. What if we use the extended elasticity and virtualization possibilities of cloud resources to start changing not only the technical architecture but also the way how it is operated? This was the beginning of a “shift to the left” that has just started to reach the IT organizations. The phrase “Infratructure as Code” shows in a good way how this can be understood: Instead of maintaining infrastructure resources at runtime as an individual entity, now the resource is defined as a piece of code, that can be interpreted and leads to the desired instance. The provisioning system tracks the real life status of the resource and aligns differences between plan and reality automatically.
This approach has several advantages:
- repeatable setup processes which lead to identical results
- upscaling requirements can quickly be satisfied
- disposing unneeded resources is an automated process
- a/b tests and blue/green rollouts are easily instantiated
- new infrastructure releases can be tested with an identical instance in advance
- drift coming from the occasional manual change on running systems are avoided
- automated provisioning creates consistent change logs that allow tracking and compliance audits
If done right, this approach leads to automation benefits in terms of decreased costs, higher agility, and a scalable system architecture that stays under control.
It comes at a price, though.
You have to overhaul your organizational IT setup to gain the effects described before. Shifting operational tasks to the development units is key of that concept. This means, your developers are suddenly not living in a sandbox any longer, but are responsible for production readiness of their code. Operations staff needs to embrace the ideas of coding and version control instead of mainly reacting on production events and needs. Old architectural patterns begin to lose their validity and need to be replaced by their more agile and lean counterparts.
Start that journey today! You will have to overcome some obstacles on that path, but having this pattern up and running will provide you with a sound base of the business transformation that is already ongoing. Feel free to contact us if you need additional insights how your target organization and architecture could look like.