To quickly understand the baseline, let’s take a moment to define public cloud. Public cloud is more or less a platform that leverages a standard cloud computing model to make storage, networking, virtual machines, etc. available to the public over the public internet. These are typically grouped as services and made available either for free or charged via subscription models or based on usage. Pretty straight forward, right? One could say that it is similar to using an on-demand car service (Uber or Lyft) to get somewhere. The service is on-demand, you are provided with details on cost and duration of your trip and an arrival time. There are no upfront costs such as vehicle lease or purchase, no vehicle maintenance involved, nor do you have to ensure you have the right size vehicle. You simply pay for what you use at the time of use.
It’s important to highlight that public cloud deployment model services (compute, storage, processing, and network) are part of a “shared” infrastructure; typically designed with built-in redundancies to prevent data loss. For example, a cloud provider may automatically replicate customer data across several of their data centers, in order to make disaster recovery easy and fast for both. This is why data stored on a public cloud platform is generally thought of as safe from most hazards.
Another characteristic of the public cloud deployment model is that customers will never see, know, or have physical access to the hardware running said services. They will simply know which geographic region they reside and operate in. While it might seem trivial, this is important for companies to keep in mind when deciding what workloads to migrate to a public cloud, since choosing to deploy them onto the wrong geographic region could have negative operational and compliance implications. For example, from an operational standpoint, deploying an application that leverages a service hosted in the wrong geographic region could significantly impact the application’s performance by introducing unnecessary latency for users located in a totally different geographic region. From a compliance standpoint, storing or transferring data in regions that are outside of the company’s country of origin could be subject to differing regulatory requirements.
Lastly, public cloud providers typically offer different cloud service models, or “service types”. It is important to understand these, as they play a key role when selecting a cloud deployment model. Here are the three most common cloud service models:
- Software as a service (SaaS): Software hosted in the cloud, by a 3rd party or cloud provider, that users can access over a web-browser via the internet. “SaaS” eliminates the need for individual users to install software on their personal computers. Examples include Google Apps and Microsoft O365.
- Platform as a service (PaaS): A common/core platform that is hosted and maintained by the cloud provider. “PaaS” allows users to develop software without needing to maintain the underlying infrastructure. It often includes version control and compile services as well as computing and storage resources.
- Infrastructure as a service (IaaS): Referred to as the aggregate of services (network, compute, storage) that are hosted and maintained by the cloud provider. “IaaS” makes it simpler for companies to onboard to the cloud and is often more cost-efficient than purchasing and maintaining hardware on-site. An example would be Amazon’s AWS EC2 or Google’s Compute Engine.