Wednesday, September 21, 2011

Why I think cloud computing should be considered a “platform” by adopters!

In this post attempt to explore various components that collectively define cloud computing as a platform. It is to be noted that I have deliberately used the term platform, in this context to highlight the importance of services extended by each layer to enable the notion of unlimited available resources. While virtualization technologies enable efficient use of resources, by marginally over-committing computing resources, with an assumption that not all partitions of a system will consume all resources at all times. This assumption is further accentuated by a policy driven approach that factors in resource prioritization at times of contention, by allocation resources to most important partition or application. While virtualization can be seen as a foundation for cloud computing platform, virtualization alone cannot be and should not be mistaken for a cloud computing platform. As a platform cloud computing attempts to address several IT operational and business including (but not limited to):

a. Escalating costs of hosting ‘over-provisioned’ and application specific

environment.

b. Reduced ‘ramp-up’ time for provisioning hardware and software resources

for various environments (Development, Staging and production).

c. Cost Effective solution by re-use of software and hardware assets.

d. Reduction in support and maintenance costs with use of standardized (at

times virtual) images.

So it is evident that the over arching goal of cloud computing platform is to provide a cost effective solution to the end user with tremendous flexibility and agility. The flexibility and agility thus become important facets of any cloud platform, as these concepts are basic to the intrinsic value enabled by cloud of resources. To achieve the elasticity and agile on demand provisioning thus requires a system that is not only self sustainable but also sensitive to growth. Let’s explore what this means. A true cloud platform provides an illusion of infinite computing resources available on demand. The notion of on demand infinite computing resources requires a systemic approach that includes sense and response subsystems, with a tie into a system level monitoring subsystems which is front ended by a rich user interface and all tied together by a robust governance sub system. These sub systems can be further classified as a complete and inseparable components of a cloud computing platform. We will discuss them in detail in later posts, but it is important to understand the relevance of these sub systems as vital design imperatives of a cloud computing platform. Cloud computing is a new consumption and delivery model nudged by consumer demand and continual growth in internet services. Cloud computing exhibits the following at least 6 key characteristics:

a. Elastic Environment

b. Provisioning Automation

c. Extreme Scalability

d. Advanced Virtualization

e. Standards based delivery

f. Usage based equitable chargeback

I thus, deliberately use the term platform in context of cloud computing

environment that facilitates flexibility, robustness and agility, as a systemic

approach in providing a stage to hosting applications without the concern for

availability or provisioning of underlying resources.

No comments:

Post a Comment