GovIT Authors: Yakov Fain, Kevin Jackson, Cloud Ventures, Solar VPS

Related Topics: Cloud Expo, GovIT

Cloud Expo: Blog Feed Post

Scale Is the Common Abstraction of Cloud Computing

One thing the NIST definition does well is aggregate the most common elements that people associate with cloud computing

In my experience, for there to be widespread adoption and agreement over a concept, the semantics surrounding that concept must be unique and discrete. If the definition is too broad, there will be too much opportunity for dissenting opinion. NIST’s definition of cloud computing doesn’t really answer the mail when it comes to delivering a definition for cloud computing. In my opinion, it’s nothing more than bucket of attributes that have been previously associated with cloud computing; and attributes do not constitute meaning. To define cloud computing concretely, in a way that can be agreed upon by a majority, we must identify that common abstraction that binds the definition in a unique way.

One thing the NIST definition does well is aggregate the most common elements that people associate with cloud computing today. The characteristics, delivery models and deployment models offer up data that can be analyzed to find that common abstraction that will help foster the definition the industry needs to differentiate cloud computing from other elements of computing that are similar. We need to answer the looming question, “what makes cloud computing different?”

I will not be attempting to put forth my recommendation for a definition in this blog entry. Instead, I am merely attempting to get to a common abstraction can make sense of why these characteristics, delivery models and deployment models make sense together.

For example, without my discovery of a common abstraction, I questioned why Software-as-a-Service (SaaS) is a legitimate aspect of cloud computing. I can clearly see how Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) relate to the essential characteristics as they have direct impact on providing elasticity and scalability. However, the relationship of SaaS to these other two seems contrived and vestigial; a left over from the “cloudy” (pun intended) formation of cloud computing. Indeed, without the common abstraction, SaaS is nothing more than the Application Service Provider (ASP) model renamed. Morevoer, SaaS clouds (yes, pun intended again) understanding since SaaS pertains more to “how a service is delivered” than “what is in the service offering”. Furthermore, the concept of SaaS doesn’t immediately translate well when our focus is on private over public cloud computing. That is, an application served up in a private cloud is typically not considered SaaS.

Of note, I would propose that if we’re moving toward IT service management and delivering IT-as-a-Service (ITaaS), then any applications served by up by IT, be it public or private, should be considered as SaaS. But, this is a debate for another day, the key focus here is to find an common abstraction that allows the definition of cloud computing to hold together regardless of the deployment model.

So, to cut to chase, for me, the common abstraction that allows the NIST proposed definition to stand as a legitimate grouping of attributes is scale. What is different about cloud computing compared to other computing models? Cloud computing focuses on making scalability work at very large scales as part of delivering computing within a service model context. IaaS provides scalability of compute, storage, memory and network resources; PaaS provides scalability of application infrastructure; and SaaS provides scalability of users and licensing.

For years we have been able to scale linearly, but without infinite funds, space and power, eventually, the ability for a single entity to scale will reach a point of saturation. At that point, to continue scaling would require assistance from external partners. However, without a framework and architecture to facilitate extending their own resources into that of their partner’s the entity would still be at a loss to achieve their goal and continue to scale. Cloud computing provides us with that architecture and framework to reach beyond our own limits for scalability.

Perhaps others can find other common abstraction that meet their needs in this regard, but for me, defining cloud computing requires us to answer what is the key differentiator between cloud computing and other computing models e.g. client/server, distributed object computing, mainframe, etc. For me, that key definition is the ability to eliminate the saturation points of scaling computing resources.

Read the original blog entry...

More Stories By JP Morgenthal

Mr. Morgenthal has over 25 years of experience in Information Technology spanning multiple disciplines including software engineering, architecture, marketing, sales, consulting and executive management. He has specializations in multiple industry verticals including: banking, brokerage, retail, supply chain management, healthcare and Federal. Mr. Morgenthal also has technical specializations, and is considered a thought leader, in integration, enterprise architecture, service oriented architecture and cloud computing. In the role of Director, Mr. Morgenthal is responsible for furthering Perficient’s efforts in cloud computing with its customers through services development, sales force enablement and training, strategic account support and development of programs to drive cloud computing opportunities. Prior to his role as Director, Mr. Morgenthal was a Cloud Ranger with EMCC’s Cloud & Virtual Data Center service line. In that role, Mr. Morgenthal was instrumental in driving consulting opportunities for EMC around cloud and IT transformation, facilitating workshops and EBCs, and developing statements of work. Prior to EMC, Mr. Morgenthal designed, developed and operated one of the first Platform-as-a-Service for the supply-chain, logistics, multi-channel retail management, loyalty program management and payment cards. Mr. Morgenthal is the author of four trade publications covering topics of Cloud Computing, Enterprise Application Integration, Enterprise Information Integration, and Distributed Systems Management. He has also published over one-hundred articles and is a frequent blogger and has spoken at many of the leading conferences covering these technologies. He has a Bachelor and Masters Degrees in Computer Science from Hofstra University.