Public cloud provides developers the ability to provision resources on-demand and only pay for what they use, but what makes up a public cloud?

In this lightboard video, I’m going to provide an overview of public cloud and break down the different compute solutions,  levels of control, and the many capabilities that are available in a public cloud.

Make sure to like and subscribe if you enjoy the video!

Learn more

Video Transcript

What is public cloud?

Public cloud is an incredible resource for developers today. It brings the ability to provision resources on-demand and only pay for what you use. This leads to greater developer efficiency while bringing down overall costs. But, what exactly makes up a public cloud?

Today, we’ll start with an analogy. Say you wanted to bake a pie from scratch—well, how committed are you? Are you going to make your own flour? Are you going to grow your own fruits? Well, in this society, we’ve generally accepted that for certain ingredients, you’ll go to a supermarket.

A public cloud is a supermarket of sorts, it has multiple vendors and multiple solutions, allowing you to pick and choose the right tools and solutions for your tastes.

Different compute solutions available in a public cloud

Now, to start my explanation of public cloud, I could start by talking about things like Infrastructure-as-a-Service or maybe Platform-as-a-Service, or Software-as-a-Service—more naturally known as PaaS, IaaS, and SaaS—but instead, I’m going to focus on the overall control and overhead for the different compute solutions that are available in a public cloud.

So, as a box gets bigger here, there’s more control but that comes with more overhead.

Bare metal

Now let’s start with the biggest box, where we’ve got things like bare metal. Now with this, you’re gonna have the most control, but that also comes with a lot of overhead to actually maintain those instances.

VPC and VMware

Let’s take it a step higher. Here, we’ve got things like VPC and VMware. So, with these solutions, you’re gonna have a little less overhead because there’s automation that allows you to spin up the actual machines.

Kubernetes and OpenShift Container Platform

Going a step higher we’ve got solutions like Kubernetes and OpenShift Container Platform. These will allow you to get kind of higher abstraction over the actual worker nodes—the machines that power your actual cluster are basically going to be managed by the platform, and you can focus on writing containers.

Cloud Foundry and Cloud Functions 

And, going up higher on the list, we get to things like Cloud Foundry as well as Functions, which are gonna allow you to focus, as a developer, entirely on the code and let the platform take care of things like networking and scaling and that kind of thing.

So, we’ve got our set of capabilities for compute, but that’s not the only thing in a public cloud. You’re going to have integrations and services that allow you to start spinning up capabilities that you need.

Sample application architecture in the public cloud

So, today let’s go over a sample application architecture for which we’re going to use the public cloud. Now, let’s say, to start, we have something like a legacy application that relies on VMs or bare metal capabilities.


So, we’ll say over here that we’ve got VPC and/or bare metal. Now, on top of this, we’re gonna spin up some containers—some machines, rather. Now in those machines let’s say we have our legacy backend application.

So, we’ll scale it out onto three different machines. So there we go, we’ve got our backend pieces. Now that covers our backend compute for our sample application.


Now let’s say for our frontend application, we’re taking a model where we have a frontend and a backend for frontend which are based on containers.

So, here it’s a little bit of a different model—the worker nodes are going to be managed for us by the Kubernetes or OpenShift layer. So here, we’ll have the Kubernetes and our OpenShift layer.

Now on top of this, we can start deploying our containers. So, let’s say, like we mentioned, we have that frontend as well as a backend for that frontend application. And for each of those, we want to scale those out, which Kubernetes or OpenShift can handle for us.

There we go, so these are the basics of our application architecture—we’ve got some backend stuff we’ve got some frontend stuff and all of that is kind of running on some of our compute solutions.

Let’s actually start taking advantage of some of the cloud integrations that are possible to build out some of the other requirements we have here.


First things first, storage. So, our frontend application—let’s say we need something like, I don’t know, a SQL database to actually store things like customer login data. So our applications here are gonna use a SQL datastore… there we go.

Now, for our backend application, let’s say we need something different—not a standard SQL store, but something like cloud object storage.

So here, we’ll sketch out a cloud object store instance, which our backend application will be using. 

DevOps and toolchain capabilities

So, we’ve talked about storage, next let’s talk about DevOps and toolchain capabilities which we’ll also take advantage of our public cloud for.

Now, our code is probably split into two different repositories for this particular application that we’ve got here—our Kubernetes app. We’ll say we’ve got a set of code for the actual containers and applications and a separate set of code for the actual infrastructure, because we want to manage our Infrastructure-as-Code as well.

Now, for this, we want to take advantage of some toolchain capabilities. So for our app, we’ll take advantage of a toolchain which will deploy our containers. Now for our infrastructure, I’m going to take advantage of a similar toolchain, but in this case, we want to use Terraform, which is an open source way of managing your Infrastructure-as-Code to actually manage the infrastructure.

So in this case, this will manage your spinning up the worker nodes as well as the Kubernetes layer. So there we go, we’ve got we’ve talked about so far storage, as well as DevOps from our cloud.

Logging and monitoring

Next, let’s talk about you know having a central logging or monitoring solution for our tools. So we’ve got our backend application here as well as our frontend application, and for both of those, we want to stream to a central logging store.

So, let’s say I’ve got a logging service that I’ve created here, and that’s gonna be our central source of logs for both our application running on Kubernetes as well as our backend application running within VMware or bare metal or VPC. So there we go, we’ve talked about central logging now.

Networking and security

Now the next service that I want to take advantage of is thinking about things like networking and security. So, in this sample architecture, for our backend piece, let’s say we’ve got really private data—we want to make sure that access to that backend piece only happens over private endpoints. And for our frontend piece, we don’t care quite as much we can access over the public endpoint.

So, making a bisection here, we’ll say that this is entirely private—private endpoints only—and on this side, we can access our data over public endpoints. 

Now, this doesn’t mean our data is insecure. We can still use something that allows us to bring our own keys to secure our data with our own kind of certs and keys.

So, both of these environments are going to be completely secured. But, by making this bisection how does our frontend app now start talking to some of those backend capabilities that we’ve got?

So again, we can tap into our cloud and take advantage of something like a VPN gateway. So, here we go, we’ll set up a gateway so that our frontend and backend can start talking to one another.

Now, this is just scratching the surface of the capabilities that are available in a public cloud. We haven’t even begun just talk about some of the artificial intelligence, machine learning, data analytics and insights, and so many other services that are available in a generic public cloud.

More from Cloud

Modernizing child support enforcement with IBM and AWS

7 min read - With 68% of child support enforcement (CSE) systems aging, most state agencies are currently modernizing them or preparing to modernize. More than 20% of families and children are supported by these systems, and with the current constituents of these systems becoming more consumer technology-centric, the use of antiquated technology systems is archaic and unsustainable. At this point, families expect state agencies to have a modern, efficient child support system. The following are some factors driving these states to pursue modernization:…

7 min read

IBM Cloud Databases for Elasticsearch End of Life and pricing changes

2 min read - As part of our partnership with Elastic, IBM is announcing the release of a new version of IBM Cloud Databases for Elasticsearch. We are excited to bring you an enhanced offering of our enterprise-ready, fully managed Elasticsearch. Our partnership with Elastic means that we will be able to offer more, richer functionality and world-class levels of support. The release of version 7.17 of our managed database service will include support for additional functionality, including things like Role Based Access Control…

2 min read

Connected products at the edge

6 min read - There are many overlapping business usage scenarios involving both the disciplines of the Internet of Things (IoT) and edge computing. But there is one very practical and promising use case that has been commonly deployed without many people thinking about it: connected products. This use case involves devices and equipment embedded with sensors, software and connectivity that exchange data with other products, operators or environments in real-time. In this blog post, we will look at the frequently overlooked phenomenon of…

6 min read

SRG Technology drives global software services with IBM Cloud VPC under the hood

4 min read - Headquartered in Ft. Lauderdale, Florida, SRG Technology LLC. (SRGT) is a software development company supporting the education, healthcare and travel industries. Their team creates data systems that deliver the right data in real time to customers around the globe. Whether those customers are medical offices and hospitals, schools or school districts, government agencies, or individual small businesses, SRGT addresses a wide spectrum of software services and technology needs with round-the-clock innovative thinking and fresh approaches to modern data problems. The…

4 min read