Cloud computing is one of the new technologies that emerged in the first half of the decade between 2010 – 2020. As with all innovations, cloud computing borrowed heavily from computing practices and principles that were already in existence by then. By this time, the various practices and principles of cloud computing were going by names or terminologies which differed from one vendor or manufacturer to the other. What cloud computing did was adopt those practices and principles and standardize them as cloud computing emerged as a new standardized way of computing, with a clear governance framework and approach.
At Cutting Edge Technologies Ltd, we were active players in the practices, principles and technologies that came to be known as Cloud Computing, and are thus competent enough to write about the history and practice of cloud computing. We also underwent rigorous formal training in the domains related to cloud computing, and became cloud computing implementers and trainers. For those seeking to get a grasp of cloud computing, we summarize Cloud Computing in this article.
We have adopted the American National Institute of Standards and Technology’s (NIST) definition of Cloud Computing. NIST defines cloud computing as follows:
"Cloud computing is a model for enabling pervasive, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction".
From the above definition of cloud computing, some principles of cloud computing emerge, viz:
- Outsourcing: The ICT consumer does now own the ICT sources. They belong to the vendor or original equipment manufacturer [OEM]. The consumer accesses the required cloud resources over a predetermined period of time, at a given fee or charge.
- Hosting: The ICT resources are hosted in a remote data center owned by the vendor or OEM who provides them. The consumer accesses those resources remotely over a secure network, normally secured via a Public key infrastructure (PKI). A fixed IP address and any other requirements for remotely accessing ICT resource are also provided to the consumer.
- Scalability: The ICT resources consumer can increase or decrease the amount of ICT resources being used depending on the need at a given point in time. This scalability capability largely depends on the cloud subscription package chosen by the consumer, but scalability is an inherent characteristic of cloud computing.
- Standardization: The traditional heterogeneous nature of most data centers is replaced with standardization. Standardization in cloud computing is all about reducing the number of different platforms available for a given computing tier. For example, compute resources are standardized along a chosen hardware platform like Intel x86. A similar strategy is adapted to the storage tier. The Operating Systems (OS) are also reduced to just two or a few OS platforms. This standardization is a prerequisite for resource pooling.
- Resource Pooling: Similar ICT resources are combined together into one large scalable pool of similar ICT resources, from which consumers gets allocated (or provisioned) with just the quantity of the resources that they need. If consumbers demand more of a given ICT resource like storage, the vendor or OEM increases the size of the storage pool available in their cloud data center.
- Low CaPex: The ICT consumer does not incur heavy capital expenditure to acquire the ICT resources for ownership. The main spending is in a phased lease based payment model based on the resources consumed in a determined period of time.
All the above, among others, are some of the principles and practices that govern cloud computing, irrespective of the cloud vendor or OEM.
When a cloud or OEM vendor provides ICT resources to consumers using a cloud-computing model, the ICT cloud resources so provided are provided in a public cloud model. A public cloud is a an ICT pool of resources to which any member of the public [from any part of the world] can subscribe. An ICT cloud resources consumer is also referred to as a cloud subscriber, because ICT cloud resources are consumed via a subscription model.
Public cloud platforms are therefore any cloud platform which are open to any member of the public to subscribe to and consume. An individual organization can also use the principles of cloud computing to build a private [ICT] cloud platform. A private cloud belongs to a given organization, and it is normally an on-premises ICT platform that is put together using cloud computing principles in order to tap into such benefits of cloud computing as:
- Reduction in hardware wastage by avoiding to procure hardware in a siloed strategy. A siloed strategy provides headroom for workload growth and spikes on a per application or workload basis. In a private cloud model, an application or workload can scale up in hardware resource usage by taping form the “pool” of resources available, since at any one time, some workloads will experience a spike while others are relatively idle.
- Faster provisioning of new environments, in the form of new virtual machines (servers) and the associated storage by tapping from the spare capacity available in the respective resource pool as opposed to having to procure new hardware (compute and storage resources) every time the need for a new new environment or project comes up.
- Simplification of the data center by getting rid of the complexity that comes with a highly heterogeneous data center with diverse hardware and operating systems which are sourced from diverse OEMs, and networked using diverse networking technologies. Optimizing such a data center is challenging. Getting support for such a data center is also complex due to finger pointing by the diverse support service providers. Multiple different skill sets are also required to manage the different hardware components, even where the hardware components belong to the same computing category like storage or compute servers.
- Improve on the achievability of internal service level agreements (SLAs), by achieving high performance levels and up times as a result of the data simplification highlighted above.
- Reduction on the diversity of internal training requirements to manage the diverse ICT assets in a highly heterogeneous data center
- The benefits of consolidation at all tiers: storage, compute, databases and middleware server farms. The benefits of consolidation include the need for fewer software licenses, fewer system, network, database and application administrators, smaller data center footprints which consume less electrical power and require less cooling etcetera.
Public Cloud computing basically involves the consumer of ICT resources getting access to those ICT resources without “owning” them. The ownership of those ICT resources remains in the hands of their vendor or OEM, who makes them available to consumers based on the consumers’ demand. The ICT consumer only “rents” or “leases” those ICT resources for a defined period of time, under defined terms, provided by the cloud computing vendor or OEM. Private Clouds are an attempt to apply the principles of cloud computing internally within an organization’s on-premises data center in order to get the benefits of the principles of cloud computing on an on-premises platform.
As a result, with reference to cloud computing, you will hear of such terminologies as:
- On-premises ICT resources, which refers to ICT resources that ICT consumers “own” and operate from their own data centers.
- On-cloud or Cloud ICT resources, which refers to ICT resources that ICT consumers use by “renting” or “leasing” them from the ICT vendor or OEM.
- Hybrid Cloud Platforms, which refers to ICT platforms that comprise of on-premises and cloud ICT resources, which have been integrated to operate like one seamless ICT platform.
Typical hybrid cloud platform scenarios include:
- i. Using a database hosted on the cloud with an application server hosted in an on-premises data center
- ii. Using a Customer Relationship Management (CRM) application hosted on the cloud, which is integrated with an on-premises data warehouse.
- Using an analytics test or development platform that is hosted on the cloud while the production platform is hosted on-premises
- Taking backups of an on-premises application or database to a storage platform (service) hosted on the cloud
- Using an e-mail system that is hosted on the cloud while most of the other applications are hosted on-premises
- Using a cloud-at-customer platform hosted on-premises to overcome data sovereignty bottlenecks to cloud adoption. In this case, the OEM provides the cloud hardware and software to the consumer, who hosts it in their on-premises data center. The consumption, metering and charge-back method applied to computing is then applied to the cloud-at-customer platform. The difference between the typical cloud computing and cloud-at-customer is that the same cloud platform available in a publicly shared cloud data center is situated securely behind the consumer’s own firewall, in the consumer’s own data center. The ownership of the cloud-at-customer remains with the OEM, and the consumer is charged for the resources they consume from the cloud-at-customer platform
These examples are note exhaustive and they keep growing as different cloud vendors or OEM change their go-to-market strategies to suit their business models.
Cloud computing is now a standard way of accessing and using (or consuming) ICT resources for both personal ICT computing and for enterprise-level computing. Reach out to us to learn more, or if you need cloud computing consultancy services or education.