I’ve covered infrastructure automation technologies over the past year. After many conversations with end users and vendors, I saw a clear pattern. Almost all infrastructure automation efforts primarily focus on the compute services — servers, virtual machines, or containers — and automate their lifecycle stages.
Why? Because all applications need computing at every stage in the lifecycle.
Undoubtedly, there is momentum to enable automation in other tech domains like storage support for containers, security for everything, service mesh, etc. But, as it appears today, these efforts are largely disjointed, localized, and contained, with little to no joining of hands with other domain technologies.
This Automation Myopia Is A Problem; Here’s A Backdrop To Understand It Better
Industry trends like public cloud, containerized microservices, low code, and no code are driving innovations. The aim is to enable businesses to adapt quicker and faster and build new services, new engagement models, and new markets to be a future fit business.
The Issue Lies In Linking Multiple Technologies Within An Automation Fabric
An automation chain or fabric is needed to cover the broad array of technology components. The stitching is required in a couple of scenarios: application development and IT operations. I will address the first scenario in this blog and the second one in a follow-up. In an application development scenario, a business needs to modernize its e-commerce or loan processing app (built using microservices architecture) to offer improved customer and partner experiences. While iterating, developers need infrastructure services like storage, load balancers, security, and firewalls at different stages of the app lifecycle. Developers need:
- Storage services: A scalable, performant, secure, and dependent storage for performance testing but for functionality-testing not-so-performant storage will suffice. This must be provisioned inline and instantaneously.
- Network and services: Inter-app communication needs the configuration of the network stack, like creating or modifying subnets, utilizing microsegmentation, creating an app profile and algorithm in a load balancer, setting rules on a firewall, publishing APIs via a service mesh, configuring security policies, and applying a Zero Trust framework for the entire tech stack.
- Secure code scanning: Leverage automated security testing tools like static application security testing (SAST) and software composition analysis (SCA) that integrate into their continuous integration and delivery (CI/CD) workflow. Some of these tools scan infrastructure templates, and you can implement them as code.
- Observation tools: a simultaneously available instance of an observation tool to monitor KPIs that will help developers — of applications and infrastructure — find issues earlier in the cycle.
- Config consistency: Ensure the infrastructure profile — specs and configurations — remain the same as you move from test and production.
Should you maintain “islands of automation” and have experts execute tasks adding avoidable delays?
Or should you sew these tasks through an automation fabric with policy-based execution?
I strongly argue the latter. The reality: It’s happening anywhere between infrequently and very infrequently. Almost all the organizations I’ve talked to operate with multiple islands. This problem isn’t new; however, increasing change velocity adds fuel to the fire. Collectively, these “islands of automation” are barriers to organizations that wish to become future fit.
Infrastructure As Code Offers Hope
For the islands of automation scenario, consider the increasing shift to infrastructure as code (IaC) that promises to encapsulate all the underlying technologies in the service of the users and app owners. Terraform, as an example, has gathered wide industry support with over 217 official and certified providers as of February 2. It boasts an astounding 1,600-plus community-built providers. These providers range from compute, storage, network, application, infrastructure-as-a-service, platform-as-a-service, and software-as-a-service. Is it a good direction? Yes! However, don’t celebrate yet, as most providers are at the first step and serve the provisioning use case.
Like Any Other Transformative Technology, IaC Needs A Broad And Comprehensive Approach
As you can imagine, automation technologies alone will not do the magic. Organizations must invest in people (skills), culture (challenging conventional wisdom), and practices (like coming out of the command line) to gain the most out of this momentum.
Join The Conversation
We invite you to reach out to us through social media if you want to share your observations. If you prefer more formal or private discussions, email firstname.lastname@example.org to set up a meeting! Click Naveen at Forrester.com to follow my research and continue the discussion.