Using infrastructure code has several benefits, one of the most important is the consistent interface for engineers to build and maintain an environment. A consistent interface reduces friction for the engineering team, the engineering does not have to log into a cloud console, into a server or a web UI.
We like to sum up modern methodology is everything – code or infrastructure code – with a ci cd pipeline.
Each of those operations costs time and mental energy, it’s called context switching and that can create friction for the engineer if they’re having to manage a full stack which is basically how systems administrators operate these days. So, you go from network all the way up to application and user, therefore the ability to manage configurations, apply changes, modify and deploy the infrastructure through a single interface, in this case the code, clears the infrastructure and the engineer’s mind to better focus on what they’re actually trying to do whatever change or upgrade.
It can also happen that the engineer or engineer team can review the current configurations very quickly via the code that deployed it and have a logical consistent flow when they’re analyzing a problem and they can see things in the code that might not be as readily apparent because they’re buried in a menu or are a sub configuration item and they don’t see it explicitly called out. However, if they have the infrastructure code that created that resource, that service, then they’re able to step through that line by line, refresh their mind on exactly how it’s configured and go from there.
This style of workflow enables a rapid iteration and review cycle, so engineers either single or multiple teams can propose a change review. The change applis to a test environment and then to production and that type of cycle is measured in minutes or hours as opposed to days or weeks. As a result, that reduced friction enables an increase in pace for the engineering team, in essence modern methodology enables the engineer to use a single pane of glass which is the infrastructure code, and there won’t be any anything outside of the infrastructure code ideally that the engineer hasn’t been involved with.
Having the trust in the code as well as the experience and the time with the code, engineers are going to know what changes need to be made and what they need to do to move to the goal that they’re looking to get. This review process moves engineers into an industry tested software development review practice which when combined with the mandatory use of version control software, engineers can branch, they can review, collaborate, and then eventually merge their code back into the main line of the infrastructure.
Code engineers and supervisors and non-coders will be able to monitor the progress of either a feature or change. They can review the history of that change, and they can review notes to commit for that change and that again keeps the friction out of the project and enables engineers to empower themselves.
In summary, modern technology benefits the engineering and systems a minute administration team and the organization as a whole because of the better visibility and better collaboration