Linux Platform System Administrator at a healthcare company with 10,001+ employees
Nov 9, 2021
The advantages significantly outweigh the disadvantages.
There are significant financial, opportunity cost and time-saving advantages. Terraform and Ansible are both cross-platform yield tremendous cost and time-saving opportunities. I use these tools during my day-to-day operational tasks. In a cloud-based infrastructure, the ability to manage the infrastructure as code using Terraform to complement and integrate with other tools for example ad-hoc bash, Python, PowerShell scripts makes IaC tooling advantageous to achieve your IT goals.
IT Support at a tech services company with 51-200 employees
Jun 3, 2020
Infrastructure-as-code is trendier than infrastructure configuration.
Infrastructure-as-code has an implication that some form of programmed tools to manage the deployment whereas infrastructure configuration can be done the same way or with binders of information printed on pages.
The difference is the provisioning way (or process)
Infrastructure as code, also referred to as IaC, is a type of IT setup wherein developers or operations teams automatically manage and provision the technology stack for an application through software, rather than using a manual process (infrastructure configuration) to configure discrete hardware devices and operating systems. Infrastructure as code is sometimes referred to as programmable or software-defined infrastructure.
To me, a tool like ServiceNow (not cheap for small orgs), would be an example of this.
Dmytro touched on the need to track changes but also assets. S/N can do both with different modules but essentially you have to have the S/N scanners go sniff out all the assets and configurations on those assets and keep it updated on a routine basis (say once a week).
Then as you make changes to the environment, build new servers or decomm old servers, or change an application to different servers this CMDB gets updated with the current information and allows you to track these changes (change module) with who did what when in an automated tool.
If you had to do this manually, both asset and your CMDB would be severely out of date in no time unless you were a small org with only a few assets. For large organizations, this is a must if you want to track what happens, what changed, who made changes, plan changes out (change board process), and schedule blackout windows for Xmas so everyone can go on PTO, or if something broke the 1st thing you're going to do is go look at the last change to that system and see what changed. It makes resolution faster, safer and more precise.
This is a pretty wide topic. Basically, we need this to be able to track changes (when it was changed, who did this and what actually was updated). Also, it brings such things as repeatability and automation to decrease the possibility of typos and misconfiguration.