Problem II
Another pressing project was the migration of an in-house data center to a new location. To painlessly move the apps to a new home, our DevOps team needed to automate the client’s app provisioning and delivery.
IaC and moving to new data center
IaC (Infrastructure as Code) is a “cookie cutter” approach that allows a DevOps engineer to “take measurements” off of a particular infrastructure, put it down in code, and recreate it any number of times across any number of servers, as needed.
So the first step was to describe the client’s infrastructure in code. We introduced Terraform to codify the server creation process and upgraded Puppet (the configuration management tool) to the latest version. We also added Foreman on top of Puppet, making Puppet a single point of access to the latest system patches and updates on the Internet. Adding Foreman also enabled us to get visual statistics for Puppet configuration status changes over time. Our client’s IT staff also installed VMware - a server virtualization technology - to enable our DevOps to “copy and paste” the infrastructure code onto the new servers.
Once we introduced automation and made it easy to replicate the client’s infrastructure in a new environment, it became possible to start the migration to the new data center.