Scaling Automation and IaC with a Self-Service Platform Framework

Sometimes code is not enough

Jason Bloomberg, Managing Partner, Intellyx

IT infrastructure automation has a turbulent history.

First, there were runbooks: simple, step-by-step instructions for how to handle certain IT processes for on-premises physical equipment. Early runbooks consisted entirely of manual steps, but over time, engineers would automate individual tasks within each runbook using configuration management tools.

Virtualization and then cloud computing brought powerful abstractions to bear. Provisioning an instance in the cloud, for example, was a simple matter of entering a few configuration parameters and clicking a few buttons – a far cry from the weeks-long process of provisioning physical servers back in the day.

More recently, cloud-based simplicity has empowered engineers to up their automation game with infrastructure as code (IaC). IaC technologies like Terraform by HashiCorp let engineers create complex, dynamic IT infrastructure automation scenarios – not simply for operations, but across the entire software development lifecycle. 

However, IaC is not a panacea, as IT environments consist of hybrid, cloud-native combinations which are too dynamic and diverse for IaC to provide adequate automation.

Furthermore, every organization that is implementing such dynamic and diverse environments also struggles with staffing. There are simply not enough qualified technical people to go around.

As a result, today’s platform operations teams with limited resources need help with context and collaboration across multiple tools and clouds to support enterprise scale.

A Blueprint for Infrastructure as Code and Automation Success

IaC and configuration management in general have been important enablers of DevOps, as they bring automation to DevOps toolchains, enabling continuous deployment within CI/CD pipelines.

In practice, however, the more complex scripts become, the more they struggle with the same issues that code faces: versioning, testing, and increased complexity that limits scalability.  These limitations are particularly pronounced in heterogeneous cloud native and multi-cloud environments.

At scale, pure script-based solutions with tools like IBM’s Red Hat Ansible or Terraform can become brittle. The solution is to add a layer of abstraction that enables the right tool for the right job without adding complexity.

The following diagram from Morpheus Data illustrates how these abstraction layers work.

Morpheus Library Item Blueprint

In the diagram above, the platform operations team wants to support the ability of engineers to provision different instances of the Apache web server in different clouds on different operating systems based on specific project requirements. 

On the Morpheus platform, the diagram above represents a blueprint. Provisioning a web server is but one of many examples of the power of blueprints and their constituent layouts to provide a seamless self-service experience. The same experience could apply to Databases, OS’s, Container Images, Kubernetes Clusters, etc.

Morpheus breaks down such blueprints into multiple layouts (the middle tier above), each of which corresponds in this case to a particular version of Apache on a particular cloud, along with the workflows necessary to set them up.

Each layout, in turn, runs on a node type. The platform team can embed the right scripts in context at this lower level to properly provision each instance of a node type from the appropriate machine image and file templates.  The blueprint can also include scripts mapped to the natural lifecycle phases of service – start, stop, reconfigure, teardown, etc.

From the developers’ perspective, they simply have a ‘provision Apache’ button in a unified portal as well as a single API set or Terraform provider should they want to stand everything up programmatically. 

They do not need to worry about the nuance of specific clouds or configuration minutiae; all they do is indicate the right cloud and layout, and the platform (in this case, Morpheus) does the rest.

Extending Self-Service Beyond Workload Provisioning

Platform operations is a modern approach that seeks to balance two conflicting priorities: the self-service provisioning capabilities that give developers the agility and flexibility they require while supporting the automated operations and rigor necessary to meet the organization’s cloud management needs.

Take, for example, common scenarios like managing service accounts within a cloud, provisioning new landing zones, patching distributed systems, or simply cleaning up infrastructure. Such mundane activities are not as sexy as developer enablement, but they are in fact critical to maintaining the production operations of a global enterprise.

Individual automation engineers often perform these routine tasks using their unique home-grown scripts based on their tool of choice.  Such manual work leads to siloed automation and one-off responses to issues that slow down the effort and prevent it from scaling.

Morpheus aims to simplify life for platform teams by expanding the ability of operations to take advantage of automation using the same self-service capabilities that benefit developers. By bringing tasks and workflows into a centralized self-service automation platform, operators can benefit from automation without having to be an expert in the underpinning task type.  This can be particularly important in heterogeneous environments that often use a mix of Terraform, Ansible, Puppet, Bash, PowerShell, etc.  

Exposing automation tasks within a self-service catalog can take advantage of application development practices such as version control and collaborative development, without falling into the trap of custom responses to individual issues.

The Intellyx Take

One of the primary constraints to the deployment of cloud-native hybrid IT at scale is the shortage of qualified technical talent. The Morpheus approach to hybrid cloud platform operations helps to mitigate the challenge, as blueprints supplant complicated, time-consuming tasks with simple self-service functionality.

Morpheus also lessens organizations’ dependency on expensive add-ons to open-source IaC projects – tooling whose capabilities are now too narrow to address the gamut of hybrid infrastructure automation requirements. IaC still plays a role, but it is now a piece of the automation puzzle rather than the puzzle itself.

Service catalogs and marketplaces have been around for years, but typically host simple, preconfigured services. Morpheus Data’s blueprints avoid this problem by adding additional layers of abstraction and a unified programmatic interface that enable developer and operator self-service, even in dynamic hybrid IT environments at scale.

Copyright © Intellyx LLC. Morpheus Data is an Intellyx customer. Intellyx retains final editorial control of this article. No AI was used to write this article.