When Companies Should Go to the Public Cloud + When they Should Come Back
Aaron Tilley of the Wall Street Journal has an interesting piece (paywalled) today that speaks to one of the challenges that businesses are facing on the pandemic related technology front. The net of it is that companies are spending more and more on cloud costs, sometimes independent of their business outcomes. It doesn't compute long term.
More importantly, we think this moment signals a shift, with the pendulum swinging in the direction of the private cloud. The direction of repatriation.
We are not suggesting that the public cloud is a phenomenon. On the contrary, it has established itself as one of the foundational components of the enterprise technology stack. It is a multi-billion dollar business for nearly a dozen companies, led most famously by the exceptionally talented and driven team at Amazon. Their web services business generates $40 billion per year, and while the S3 business represents the lion’s share of the revenue, there are valuable services that continue to proliferate, reducing AWS’s exposure to that line of business.
Why did the cloud become so ubiquitous so quickly?
- Simplicity – AWS and others made it simple to solve problems. Need compute? Done. Need storage? Done. Want to add to that storage? Done. Want to analyze the data inside that storage? Done. The public cloud dramatically reduced the friction associated with cloud and shifted the balance of power to the developer community and away from IT.
- Elasticity – The public cloud offered a novel model: pay for what you need, when you need it. The concept of spinning up storage and compute and then spinning it down was entirely new and offered an attractive alternative to sunk costs and over-provisioning.
- A Microservices Mentality – One of the least appreciated implications of the cloud is that it came ready with an unbelievably rich catalog of applications, services and APIs that dramatically accelerated the development of data rich applications.
While these themes powered the rise of the public cloud, they are not fundamentally competitive differentiators. That is to say, that the same attributes can be replicated on other public cloud options and more notably the private cloud, with a number of other benefits. Specifically, on the private cloud you get:
- Security – While the public cloud offers an increasing array of security options, it suffers from some key gaps, namely complexity and management.
- Performance – As we have noted in many of our benchmark papers, the public cloud is plenty fast. Object storage is the primary storage platform in the public cloud for a reason: it offers superior throughput, albeit higher latency. For data-rich applications and analytics, this is the ideal tradeoff. In the private cloud, proximity comes into play and delivers better performance than the public cloud at a fraction of the cost. This is a function of how expensive bandwidth is compared to storage.
- Cost – Ultimately, the public cloud, for all its benefits, doesn’t deliver cost saving at scale. This is what is driving the repatriation phenomenon for large enterprises and keeping other ones out of the cloud. The ease of spinning up an instance, coupled with the ease of forgetting about it, results in massive bills. If your enterprise is dealing with petabytes the economics favor the private cloud.
Having said that there are some good reasons a company should move the public cloud. The answer is to learn. To develop cloud-native muscle. To change the DNA of your organization.
Once you have achieved that, you come back to the private cloud – to run your business at scale. Let’s explore that concept a little further:
- Move Out of Your Comfort Zone – There are a number of skills you will never learn from sliding another blade into the rack and seeing it come up on your “single pane of glass”. This is not an insult to IT admins, as they have significant amounts of tribal knowledge that are immensely valuable. Further, the success of the blade vendors is predicated on making things simple. None of those blade vendors want to talk about Kubernetes, containers or programming skills or databases - but those are the components of the public cloud and they have to be mastered. What better place to do it than the cloud, where sampling different software solutions is as easy as cruising the marketplace.
- Cloud-Native Muscle – The cloud-native mentality is fundamentally different from the traditional IT mentality. The traditional IT mentality is about hardware appliances, integration testing, validation and labs. The cloud-native mentality is about software, applications, containerization, orchestration, APIs and microservices. The cloud-native way is to rapidly assemble infrastructure, applications and workflows, and then deploy that in the service of a business problem. The cloud-native way is the future. Kubernetes is the dominant model in the build/package/deploy framework. It was designed for the cloud-native world that we now live in. These are the skills that a modern enterprise needs to develop. Learning them in the traditional IT framework makes no sense. Moving to the cloud demands that the organization master the cloud-native skill set because that is the only skill set that works there.
- Understand Scaling – In the public cloud, simple scales, failure domains are kept small and building blocks represent the way things are built. Massive, monolithic systems don’t exist. Massive systems exist, just ask the CIOs with 8-figure AWS bills, but they are composed of smaller blocks. The basic premise of cloud-native architecture, whether it is for compute or storage, is to consume resources in small, discrete chunks. As you scale, you add additional instances and pack them as densely as possible in your infrastructure instead of scaling one instance up infinitely.
- Internalize Simplicity – One of the great gifts of the cloud is simplicity: the ability to start with a credit card, to provision infrastructure with a click of the mouse, to add products and services. Simple wins in the cloud. For too long, IT used complexity as a method of control. Only certain, credentialed and certified individuals were given the keys to the castle. In the cloud, simple wins. If your app or service is simple to provision and deploy, more people will adopt it. Like water, consumers choose the path of least resistance. Simple does not mean lacking in features or power. Simple is often more powerful than complex – it just takes more effort to deliver the experience. Simplicity democratizes data. Every organization wants to democratize data – they need to learn its secrets and apply them at scale.
Good? Now apply at scale.
As noted, the public cloud is an amazing place to learn but not an amazing place to scale – unless of course, you are the landlord (AWS, GCP, Azure, Alibaba). The place to scale is on the private cloud, using the same technologies that you used on the public cloud: S3 storage, dense compute, high-speed networking, Kubernetes, containers and microservices.
This offers the ideal mix of operational costs, flexibility and control. It is true that you will take on CapEx, but by starting small and taking advantage of key cloud lessons (elasticity and scaling by components) enterprises can minimize the initial outlay and maximize the operationational savings.
The net effect is to drive superior TCO and ROI through the private cloud.
So go to the public cloud and learn the “way of the cloud” then apply it on-prem. That is where the economics, control and security reign supreme.