Skip to content

Serradas

Can we even make a cloud by ourselves?

cloud, tech4 min read

That's the question our ancestors have made since Atlantean Times. I'll explain why don't we see more public clouds out there and some ideas for the future.

Let's get down to it.

The State of Affairs

Why does this question even matter? The Cloud Computing ecosystem changes constantly, and we want to be informed to make decisions. There are 3 trends happening right now in the cloud world:

  • Companies are increasingly migrating their workloads to the public clouds. 2020 is the year when workloads are higher on the public clouds than on private solutions.
  • The market is being dominated by big players.
  • The cloud compute is hybrid.

Majority of workloads will go to the cloud in 2020. From AllCloud's Cloud Infrastructure Report and Flexera's 2020 State of the Cloud Report more than 50 percent of enterprise workloads and data are expected to be in a public cloud within 12 months. This event didn't take the industry by surprise: there are reports that projected the change to happen this year. It was accelerated due to the pandemic.

alt text

Amazon is leading the Cloud Market. AWS has one third of the cloud market share followed by Microsoft's Azure. The cloud business is a network effect business. Its value increases according to the number of other clients using it. AWS counts with the biggest educational network, consulting companies, blog spots, documentation from third party providers, and the AWS Marketplace. Amazon will continue to dominate the market.

Infographic: Amazon Leads $100 Billion Cloud Market | Statista
You will find more infographics at Statista

The cloud computing future is hybrid. The industry is adopting a hybrid approach for its infrastructure needs. Companies are using multiple public and private clouds at the same time. Teams are taking advantage from different cloud provider's services. Only one cloud provider is not enough to meet most of the companies requirements.

alt text

We're living exciting years for the cloud. The old ways of managing our computing workloads are giving way to more flexible solutions provided by private and public cloud providers. Amazon has most of the cloud market share, thanks to its network effect. But even if Amazon dominates the market, companies are using more than one cloud provider for their needs.

What's the cloud anyways?

To understand what the cloud is. We need to see what cloud computing is. Later, we'll define the different functionalities we need in order to have a minimum viable cloud.

Cloud Definition. From Wikipedia we have:

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.

Service Models. Our definition is broad, therefore we have multiple service models to enumerate:

  • Infrastructure as A Service: We don't have control over the underlying cloud infrastructure but has control over the operating system, storage and applications. Popularized by AWS, Azure and GCP.
  • Platform as a Service: With this service model we have control only over the deployed application. Examples are Google App Engine and Amazon Fargate.
  • Software as a Service: We have the capability of using an application through diverse clients. The greatest example is Salesforce.
  • Backend as a Service: Web app and mobile app developers are provided with a way to link their applications to cloud storage and cloud computing services with application programming interfaces (APIs) exposed to their applications and custom software development kits (SDKs). Firebase is a good example of backend as a service for mobile applications.
  • Serverless Computing: Fully managed code by the cloud provider. Popularized by AWS Lambda.

From Josh Stella's Minimum Viable Cloud article there are other characteristics that are important for a Minimum Viable Cloud:

  • Elasticity: A cloud should be able to serve quickly its customers demands.
  • Fault Tolerance: Or having resources in multiple geographical locations so even if a catastrophe happens applications would run.
  • Operational Expenditure instead of Capital Expenditure: Pay as you go approach and not in advance.

As of now it seems that only the companies that we've seen before are the ones who satisfy all the marks.

The fundamental characteristics of the cloud model are:

  • An API for requesting computing and data resources.
  • Lack of active user management.

That's why there are so many service models for cloud computing. But we want to build a Cloud. There are other conditions we need to follow:

  • Elasticity.
  • Fault Tolerance.
  • OpEx instead of CapEx.

Why don't we build a Cloud?

Finally, we're ready to answer the question can we even build our own cloud?.

Perhaps, there's a path we can follow in order to build our own Cloud. I'll write about OpenStack, a popular Cloud operating system. Next, I'll list companies that are doing their own cloud.

Existing solutions. OpenStack is the most popular solution for the creation of public and private cloud providers. Why don't we have public clouds everywhere? There are many companies using OpenStack but most of it usage comes from Private Clouds.

alt text

Even if we were to use OpenStack we would need to have Fault Tolerance for our use case, which is something hard to satisfy without having multiple data centers in different geographical regions.

There are companies trying to make a cloud by themselves or which have done it in the past:

  • DigitalOcean: From the founders of a managed hosting business, ServerStack. DigitalOcean targets developers and startups instead of enterprise clients. They raised a Seed Funding of US$3.2 million.
  • Render: "The Easiest Cloud for all your Apps and Websites" from their website. They take advantage of Kubernetes plus AWS in order to provide a platform for applications.

It introduces 2 different paths. Either getting a lot of funding at the beginning or using a public cloud to bootstrap your business. Reinventing the wheel tempt can tempt us. But there is a lack of innovation and a clear business case for innovating in the cloud.

Building a public cloud is not an easy feat. There are many aspects that we need to accomplish in order to make the customer happy. Nevertheless, there are companies who've already done it from scratch. For this we have 2 paths:

  • Funding
  • Bootstrap it using another public cloud.

Innovation will be one of the most important things in this area.

Conclusion

So there you go! The answer of this question is...

perhaps

There are many trends in the cloud market at this moment. Companies have a hybrid infrastructure, one that depends on multiple clouds providers.

We've understood that apart from an API and lack of active user management from resources we also need to have elasticity, fault tolerance, and OpEx instead of CapEx in order to have a Minimum Viable Cloud.

Finally, we were able to check the different paths we could to take in order to make a cloud.

Follow me on Twitter if you liked this article.

If you want to keep in touch, join my newsletter.