Private cloud platforms provide a controlled and standardised environment for hosting traditional workload, but without many of the advantages of a public cloud platform. Public cloud platforms are designed to provide cheap commodity infrastructure – often built upon customised white-box hardware designed specifically for the needs of the public cloud provider, in a manner that can scale larger and faster than a dedicated private cloud environment, although with less customer control.
Public cloud infrastructure providers generally provide compute, storage and network resources in a shared manner – with multiple customers consuming the same physical infrastructure. Several public cloud providers can now also provide resources in a dedicated manner, with some even able to provide a combination of virtual and physical infrastructure through either internet or private wide area network connectivity.
These capabilities and resources are typically consumed in pay-as-you-go model based on the actual usage of resources incurred and generally without a pre-existing contractual arrangement (although many enterprises still look for this). Due to the lack of enterprise integration, these services can typically be consumed immediately; however, despite the rapid provisioning, additional customisation and services are typically needed before the business can consume this infrastructure in a compliant manner.
Public cloud infrastructure providers (IaaS) offer infrastructure services that must be managed by the customer, as the cloud providers generally lack integrated systems management capabilities and the delivery organisation needed to effectively manage the workload. There are some examples where public cloud providers are starting to move down that path.
These cloud platforms can nonetheless be enhanced by add-on systems management services, usually from an independent supplier, for example, IBM systems management built upon IBM Cloud or Amazon EC2 cloud IaaS.
These additional systems management capabilities are still required for hosting traditional workload – the cloud hosting must still be compliant to security and regulatory requirements and policies, and must be repaired when a fault occurs in order to limit disruption to a business application.
This is often where one of the key changes occurs in how an application uses infrastructure. I’m often asked what the SLA is for the public cloud IaaS (not to mention the PaaS). Whilst it’s good to understand the target levels of availability for a cloud platform, your business should not be reliant on those SLAs. If a cloud platform suffers an outage (as has happened to all major cloud providers at some point), a credit can typically be provided back to the consuming business. However, the application was still down, and customers were still impacted. Applications should be designed to not be as reliant upon the base infrastructure’s level of reliability, and instead themselves able to maintain service around such failures.