Lori MacVittie, Principal Technical Evangelist, Office of the CTO, F5
There is an ebb and flow to technology cycles. Its inevitability is extant in many theories, such as the S-curve of innovation.
Cloud is subject to these same waves. We've seen two very strong cycles over the past ten years, and it appears that a third wave is beginning to crest.
In the first wave, organizations sprinted to the cloud, lured by promises of cost savings and business agility. As cloud adoption grew, providers moved to differentiate through a variety of services and specialties. AWS is definitely an eCommerce powerhouse, perfect for apps that need to integrate into commerce ecosystems. Azure has a lock on traditional and database-driven applications, perfect for supporting applications built with Microsoft technologies and toolsets. And Google remains a developer's dream, encouraging experimentation and innovation and supporting the very latest protocols, platforms, and services.
This ultimately drove a second wave of cloud, resulting in our current multi-cloud environment. Each provider catered to slightly different applications, and organizations responded by choosing the "right cloud for the application." The average enterprise today, according to our State of Application Services report research, operates applications in two to six different public cloud environments.
Organizations that have been operating in cloud for some time now have begun to rebel against its significant operational costs that can drive down profit margins and upset investors. Often referred to as “cloud repatriation”, we now see a non-trivial percentage of large enterprises are leading the third wave of cloud out of the public space and back to the data center and, one assumes, to a private cloud (86.5% of organizations operate one on-premises).
At the heart of these waves lies a common concern over costs. Organizations want to maximize return on their investment in applications. As they progress through the phases of digital transformation, the number of applications in the enterprise portfolio are growing, often exponentially. Cost becomes a significant inhibitor to expansion of the digital capabilities demanded by convenience-hungry consumers. Each application must provide a return either in productivity gains or profit. Period.
That cost factor is significant when you begin to examine the enterprise app portfolio and recognize that a majority of applications in service—and thus, in the public cloud, were not designed to take advantage of the economies of scale innate to the cloud model. The bulk of applications in service today are based on traditional architectures, and not on the more cloud-inspired containerized model.
Applications that are developed using modern architectures are inherently more capable of realizing the cost savings promised by cloud computing. Cloud-native architectures focus on the disaggregation of workloads based on business function—into smaller, more discrete functions often referred to as micro services—and thus are more operationally capable of taking advantage of cloud economies of scale. The consumption of resources at scale of a cloud-native application when compared to a traditional application is significantly lower because only those business functions in demand are scaled, rather than all of them. For example, one large retailer recently told us they replaced 200 siloed and redundant apps with a single micro service that performed the same business function. This decreased complexity, improved reliability, and lowered costs.
Additionally, cloud-native architectures are innately more portable between cloud entities, allowing organizations to drive toward a future where cloud arbitrage is real and offers compelling cost savings for those able to harness it. Investing in application services and architectures capable of operating in any environment will ensure a smoother migration from one environment to the next. Relying on a consistent set of application services—decoupled or loosely coupled with the underlying infrastructure—also eliminates a significant source of cost associated with cloud computing: cloud specific tools, services, and skills.
Consider this theoretical example. Imagine an enterprise has a cloud-native application that was prototyped in AWS. The developers incorporated AWS application services like load balancing, web application firewalling (WAF), and Kubernetes Ingress. The app is successful, so it’s turned “on”, and begins serving live traffic and customers. Then, as the app grows in functionality, the company realizes that part of it needs to be deployed in Azure.
This same app still requires load balancing, WAF, and Kubernetes, so developer and DevOps teams must dedicate time to deploy, configure, and maintain those Azure-specific services. At this point, the enterprise has experienced the first two waves of cloud adoption—moving to the cloud for agility and then going multi-cloud. Now imagine the company has built up familiarity and expertise around managing cloud-native apps. The economics favor bringing the app on-prem, either partially or entirely. The company is in the third wave of cloud adoption and needs yet another round of deployment, configuration, and maintenance of its on-prem app services.
Cloud providers will no doubt respond to this third wave with compelling services and ecosystem advantages that will draw enterprises to redeploy in public cloud again, kicking off a fourth wave of cloud adoption.
Ultimately, almost every organization operates in an accidental multi-cloud model. We expect the trend of cloud repatriation will only accelerate this phenomenon. A better approach than "all or nothing" is a strategic one that invests in the right application services to enable a best cloud for the business choice in the future.