Over a million developers have joined DZone.

Should You Come Home From the Public Cloud?

DZone's Guide to

Should You Come Home From the Public Cloud?

Moving to the cloud is a popular move, but questions remain: public cloud, private cloud, or hybrid? See how stability, performance, and cost can impact your choice.

· Cloud Zone ·
Free Resource

Learn how to migrate and modernize stateless applications and run them in a Kubernetes cluster.

Moving everything to the public cloud isn’t always all that it’s cracked up to be. It can force unwanted tradeoffs in stability and service and quickly become very expensive. Consequently, many organizations are turning to the private cloud after finding the tradeoffs were just too large to overcome.

Clearly, the public cloud offers great benefits and is ideal for smaller test environments that require storage and compute in smallish amounts. But many organizations are turning to the private cloud after finding the public cloud is no longer economical and can no longer deliver the required service levels when operating at scale. Let’s explore why companies are opting for a private cloud to meet their big data infrastructure requirements.

  • As your workload requirements stabilize and run 24/7, you end up paying a lot more for the resources in the cloud than if you were to have your own privately owned scale-out data center infrastructure.
  • There are very limited guarantees of performance and stability of the scale-out infrastructure with cloud providers, so you end up having varying performance results, unplanned downtime or lack of resources at unexpected intervals. Since cloud service providers design their scale-out infrastructure to be substantially oversubscribed in terms of capacity, you can never be assured of quality service and performance unless you pay for dedicated hardware and infrastructure resources. When and if you reach this point, you are far better off building your own on-premises scale-out infrastructure.
  • Although some cloud providers have addressed this issue reasonably well, it’s still a tough decision to place your core enterprise information technology resources in someone else’s hands.

The moment you move to a privately owned and managed infrastructure solution, you lose many of the benefits of the cloud such as the ability to easily and quickly scale up and down resources as workloads and demands change. To ameliorate this, you will want to design your on-premises scale-out infrastructure as the cloud providers do, creating a private cloud to replace the public cloud that gives your users a similar experience as they were getting from the public cloud.

And consider big data. When you have small workloads, it makes sense to run them in the cloud, but as soon as you start to move that test into production and your clusters begin to grow, you’ll start running into issues of performance, stability and exponentially increasing costs.

But there are ways around this. Some companies have adopted a hybrid model to address the issues outlined above. Others have found ways to decouple and disaggregate compute and storage by moving to a software-defined storage solution, among a small number of hardware and platform solutions that can perform this function as well.

Regardless of the path you choose, simply deciding to shift your entire IT stack to the public cloud isn’t necessarily the right answer, from an economic, performance and flexibility perspective. As in most things, there are tradeoffs. The question to answer for your own business is how do you embrace your new “cloudified” IT stack in the hyperconnected world and apply it to private cloud installations as well as in the public cloud, using each solution where it makes the most sense.

Join us in exploring application and infrastructure changes required for running scalable, observable, and portable apps on Kubernetes.

public cloud ,private cloud ,cloud

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}