CVP Modernization Framework: Build an Adaptable Infrastructure (Pt. 3 of 3)
In our previous blog posts in this series, we talked about the first and second prongs in our three-pronged modernization approach: Making the Shift to Continuous Everything and Slay or Split the Monolith. In this blog post, we’ll discuss the final prong: Build an Adaptable infrastructure.
Build an Adaptable Infrastructure
If an organization’s shift to cloud computing is focused primarily on saving money by just moving all its applications to someone else’s computer, the organization is missing out on several important technological changes that have been enabled and intertwined with cloud computing:
- Infrastructure as code. Do you know system administrators who need to order computers, rack and stack them, load an image, configure them, assign IPs, setup firewalls, and open ports? Does it take them over a week to build a new environment? Infrastructure as code is the concept that your whole infrastructure stack should be defined by version controlled, peer reviewed code and not manual processes. Once this is the case, tools like Terraform or AWS CloudFormation can build a whole environment from nothing in minutes. Reverting infrastructure changes become as simple as reverting commits. Audit of infrastructure is as easy as handing over a repository to assessors versus eight hours of interviews and shoulder surfing.
- Immutable infrastructure. Related to the idea of infrastructure as code is the idea that infrastructure components should be immutable, or unchanging. Traditionally, we treated our servers like pets and spent a lot of time and money on them when they weren’t working right. If all our systems are defined with code, we can treat them as cattle – take a sick one out of the line and substitute in a new one in a matter of minutes. (for more details on the pets vs. cattle analogy, see this article).
- Adaptability with utilization of “X as a Service” components. Infrastructure as a service works well with the above bullets, but we should also look into platform as a service (PaaS) and software as a service (SaaS). The clearest case of SaaS we have seen is enterprise email: it is not easy to do and everyone depends on it, but no company or organization is going to differentiate itself by doing an excellent job running their internal email service. For almost all customers, we recommend they stop managing their own email and instead look into Microsoft’s Office 365 or Google’s G Suite SaaS. In almost all cases, you will get more capabilities, more capacity, and higher reliability, all for a lower cost.
Besides enabling reduction in operating expenses, continuous efforts to consolidate, share, and adapt infrastructure are vital for modernization efforts. Migration to cloud computing is a key enabler here, along with development of a strategy to migrate to immutable infrastructure components. With immutable servers, servers are not modified once deployed but replaced by provisioning a new server, leading to a simpler deployment process as well as consistent and reliable infrastructure.
Our approach entails helping our customers with streamlining the set-up, abstraction, and consumption of software (SaaS), infrastructure (IaaS), and platforms (PaaS) in the cloud, on-premises, or in a hybrid arrangement. In some cases, lower-level IaaS might make sense for exotic code and and applications. In other cases, especially commodity services like email, SaaS frequently makes sense.
Finally, certain scenarios like a custom web application, we help to evaluate PaaS options like Heroku or AWS Elastic Beanstalk that let you run your own application with minimal administration.
We carefully evaluate various strategies including a lift and shift ( re-host in cloud) alongside opportunistic migrations (re-architect, replace, and/or retire targeted systems) to design and plan the transition. With a combination of adaptable infrastructure, slaying the monolith and helping establish continuous everything, we are helping modernizing IT systems, one client at a time.
by Raj Hegde, Cal Zemelman, and Shamaa Ahmad