A THREE-PART SERIES ON CLOUD COMPUTING - PART II: The Elements of Cloud Computing
Part II - What do Legos have to do with the cloud, and why do I care?
I have read countless articles about "the cloud." Over the past two years or so, a pattern has emerged: many articles and posts discussing aspects of cloud computing benefits, strategies, and considerations are missing helpful context to provide the reader with a common starting point. Instead, we’re "flying blind," as in flying through bad weather without the benefit of accurate orientation. To be clear, I have benefited a great deal from valuable insight and wisdom in many of the same articles and posts. But absent a commonly shared (even if assumed by the author) starting point, terms and phrases with real meaning take on a life of their own.
In case you missed it:
In Part I, I set out to demystify "the cloud" and deliver a basic and precise description that is clearly bounded by specific identifiable constituent parts. Simply put, because “the cloud” is tossed about as the description for an amorphous array of possible things, the term loses its descriptive integrity. I hope I was able to successfully restore the descriptive integrity of "the cloud," so Parts II and III don't collapse like a building with no structural integrity.
A Visit to Legoland
“The cloud” is not a one size fits all thing. The magic is in how various combinations of configurations and service types are assembled and deployed in support of a given business. So, what Lego pieces are available in today’s cloud?
To answer that question, it’s useful to refer to the National Institute of Standards and Technology (NIST) definition of cloud computing, and specifically what NIST feels are the important components of “the cloud model.” To support their definition, NIST suggests the components that compose the “cloud model” include Essential Characteristics, Service Models, and Deployment Models (what I choose to refer to as Configuration Options).[1]
Essential Characteristics of Cloud Technology
- Elastic configuration, necessary to support rapid reconfiguration requirements to meet the needs of a user
- Resilient configuration to support high availability
- High-speed, secure Internet connectivity
- Secure (cyber and physical security)
Configuration Options (Deployment Models)
As the global digital ecosystem continues to change at a torrent pace, the number and type of cloud computing configuration options continue to evolve. The most commonly used and discussed options are listed below. Comprehensive descriptions of each configuration option below, as well as emerging alternatives can be found on IBM’s Cloud Learn Hub under Cloud Computing Types.
- Public
- Private
- Hybrid
- Multi-cloud and multi-cloud hybrid
Service Models
The descriptions offered below can be found on IBM’s Cloud Learn Hub under Cloud Computing Services.
Software as a Service (SaaS)
Commonly used without even realizing it (e.g., gmail), SaaS refers to software residing in “the cloud” where it is centrally managed, updated, and controlled. Applications offered via the SaaS model are most often paid based on a subscription-based pricing model.
Advances in browser technology and web-based integration and interoperability have enabled SaaS-based application software to offer increasingly broad user experience options. No longer are SaaS-based applications limited to web browsers running on computers. Today, SaaS-based products can be accessed via mobile, desktop, browser, and native OS dedicated desktop software.
Platform as a Service (PaaS)
The PaaS model has helped democratize even the most sophisticated software engineering requirements by moving the cost and complexities associated with a collaborative, multi-OS, multi-technology, multi-development tool environment to the cloud where the cloud service provider hosts everything necessary to support a complete development and testing environment.
Infrastructure as a Service (IaaS)
The first foray into a true cloud service business model, IaaS offers just-in-time access to the foundational components required of a digital technology infrastructure such as real (i.e., physical) and virtual servers, networking, and storage. The service delivery is possible because the infrastructure components are securely connected to the Internet for remote access.
As with SaaS and PaaS, IaaS offers usage elasticity so businesses can scale their infrastructure environments up and down as required, paying for usage. Given the right skill sets within the business using an IaaS offering, organizations that may not have previously been able to purchase expensive high-performance computing technology, for example, can now take advantage of the IaaS model’s reliance on economies of scale.
Unlike PaaS and SaaS, however, the IaaS model requires the business using the compute resources to manage them as well, thus my “skill set caveat” above.
In Part III, I will discuss why this particular model may be irrelevant in the short-term future.
Why play with Legos at all?
There is potential to reduce IT costs substantially and in the short term. Prior large capital expenditures required to maintain a full IT capability from infrastructure to application development can be largely mitigated, replaced by flexible subscriptions designed to scale up and down with the customer’s needs.
In a field of rapid onset of obsolescence – why purchase excess capacity that will sit unused for extended periods of time? The elasticity afforded by cloud computing models enables rapid adaptability and no capital depreciation.
The challenge facing businesses considering migration to the cloud rests in determining how to optimize the various combinations of options to shape a coherent cloud computing strategy. Each business has unique needs and therefore must consider the options carefully.
In other words, there are many ways to assemble “the cloud” model’s Lego pieces, but not all combinations are optimal, and the right combination is highly dependent on the specific considerations and priorities unique to each business’ needs.
Part III will focus on ways to evaluate the myriad alternative cloud migration strategies available ending with a discussion regarding the importance of adaptability in light of emerging technologies, regulatory considerations, and the accelerating rate of change. You’ve got the foundation, and now you’ve got the Legos. Stay tuned to learn more about how to put them together.
[1] NIST Special Publication 800-145 - The NIST Definition of Cloud Computing