Not all infrastructure automation projects are created equal. The spectrum ranges from simple AWS and Azure software-defined data center automations to the extremely complex automation of on-premises applications, which were not even designed to be automated. There is a lot of information out there about how to automate public cloud, so instead, I wanted to share one of our top lessons learned from on-premises automation projects.
We always suggest our clients utilize AWS or Azure as the initial automation development environment. This might seem counter-intuitive as we are automating on-premises rather cloud infrastructure, but hear me out:
> We don’t get blocked out of the gate by waiting on infrastructure, environment access, or the inevitable fact that most companies don’t have the development environment for major portions of their on-premises infrastructure.
> We have reusable automations for spinning up development environments and automation engineering tooling in AWS and Azure. We can start to immediately focus on automating the application-specific infrastructure configuration instead of foundational infrastructure.
> Application automations are extremely impactful regardless of if they have supporting infrastructure automation in place. These automations can be used to refresh existing environments, provision local development environments, and act as configuration data that can be stored alongside the source code.
> Many legacy applications tend to lack current documentation, making it difficult to re-create production. Cloud is designed to provide almost unlimited parallel processing capacity, which gives us the ability to test multiple automation configurations at once.
> Often, we find resistance to infrastructure automation from those who don’t believe it’s real or just don’t understand the value. It’s typical to get pushback from teams who have established manual or partially scripted processes (“If it isn’t broken, don’t fix it” or “This is the way it has always been done around here”). There’s nothing like a fully automated, mature example running in the cloud to suddenly broaden their horizons.
> The catalog of available automation tools just expanded exponentially. We can now utilize cloud-based automation tools on-premises. Cloud providers make available cloud native automation in hybrid configurations and on consumption-based pricing models. When you’re automating complex workloads, the Swiss Army knife of tools is ideal.
Hopefully, this will inspire anyone tackling on-premises infrastructure automation initiatives to consider cloud for their initial development environments. You will deliver value faster, comprehend how highly automated infrastructure platforms should function, and you’ll have the ultimate backup plan in the event on-premises doesn’t work the way you had hoped it would.