A public cloud is so-called because it is just that – accessible by anybody with a web browser over the public Internet. They typically have the following attributes:
- Self-provisioning model via browser portal
- Unmanaged service – user configures themselves
- Online payment via credit card
- Pay-as-you-go with configuration and usage charges
- Highly scalable and elastic
- Very small to enormous instances available
- Typically Windows or Linux OS options
- Storage, backup and load balancing options
Public clouds are always based on multi-tenant platforms, usually extremely large environments in dedicated datacenters. The huge scale requirements associated with being a public cloud provider means that most are major Internet players like Amazon, Google and Microsoft, hardware providers like IBM, Dell and HP, or telecoms providers.
A high-level public cloud deployment is shown below:
Advantages of Public Clouds
Public clouds are quick to deploy and at the customer’s own timescale, thanks to the self-provisioning model. The pay-as-you-go approach makes them ideally suited to “test and dev” environments as well as to large scale, short-term initiatives (e.g. time-limited media streaming, campaigns, etc) and for “burst” requirements when in-house resources are limited in capacity. For any customer needing compute and storage, accessible anywhere, who doesn’t want to invest in expensive hardware, public clouds offer significant benefits.
Disadvantages of Public Clouds
Their strengths are also their weakness – there is a knowledge pre-requisite associated with public clouds as they are inherently an “unmanaged service”. The customer, especially a business user, must know what they’re doing or they could damage their company. Due to the large scale and unmanaged nature, they can be unreliable for an inexperienced user, e.g. if a virtual machine “dies”, its contents are gone forever.
Often, public clouds are used by only the smallest or largest of customers. At one end, consumers or small companies/departments that have no choice but to use public clouds, who like the self-service simplicity as it saves them from having to buy hardware. At the other end, major enterprises with large IT departments have the resources to write scripts and manage public cloud deployments in-house, thus mitigating their risks.
Examples of Public Cloud in the Real World
Public Clouds are ideal for short-term, high-capacity needs. This might be streaming audio/video services (e.g. record companies launching an album or a company providing Internet films) or special events (e.g. selling tickets for a concert by a popular artist). Very popular websites are often hosted on public clouds as it’s often the simplest way to build the scale needed to handle the huge traffic these sites get. Many public clouds have no SLAs in place but this risk is mitigated by sheer scale – if your deployment has 100s or 1000s of virtual machines sharing the load, it matters less if one or two “disappear” as you have enough scale to cope.