Cloud Computing Architecture: Part I
Updated in September 2010 by Dexter Duncan.
(Article submitted to magazine targeting CIOs and originally published in September 2009.)
The latest craze in the IT (Information Technology) sector is Cloud Computing. Some call it the new frontier. The Wild West is here, bringing with it opportunities for new companies. Conferences on this topic are already in their third or fourth year. Companies in this space are attracting venture capital funds even during the Global Financial Crisis. IDC estimates the market size for Public Cloud Computing to be at USD $56 Billion by 2014, with an annual growth rate of 25%, or five times the regular IT growth rate. Extending this to 2020, the market size for Cloud Computing stands at an astronomical $213 Billion. With the growing shift in application software development from PC to Data Centers and Clouds, we expect that this opportunity will increase even higher. With these projections, so many vendors and service providers have got into the game and so much press activity has taken place. Gartner’s 2009 IT Hype Cycle for Emerging Technologies, released this July, places “Cloud Computing” at the peak of the “hype cycle”. The lead adopter phase is over and a period of uncertainty, innovation and consolidation has begun as companies find practical uses for Cloud Computing.
Cloud computing is often called the 5th Utility . Utilities such as water, gas, and electricity are fundamental in our daily life and are exploited on a pay per use basis. The existing infrastructures deliver these services almost anywhere and anytime. The usage of these utilities is charged, according to different policies, to the end user. The same idea of utility is applied to computing and a consistent shift towards this approach is seen with the proliferation of Cloud Computing.
Cloud Computing promises to deliver on- demand IT resources on a pay-per-use basis by dynamically growing or shrinking the virtualized resources and providing them as a service to the users over the internet. This is aimed at a global market with massive demands in real time, ranging from the end users that host their personal documents on the Internet, to enterprises outsourcing their entire IT infrastructure to external data centers. The approach of Cloud Computing makes the notion of IT as a fifth utility a reality: not only computing and storage resources are delivered on demand but the entire stack of computing is offloaded to the Cloud.
CIOs should ask: how does Cloud Computing help my organization? Can this new commoditized infrastructure give me a competitive advantage in delivering services or does it provide new flexibility? Many of the advantages of Cloud Computing are a culmination of advantages derived from the multiple technologies that drive it – such as Grids, Clusters, Virtualization, Utility (e.g. pay-per-use), Service Oriented Architecture and Quality of Service needs.
Some of the most famous names in Cloud Computing are giants such as IBM, Microsoft, Google and Sun Microsystems (now part of Oracle). In addition, a number of IT vendors, including HP, Dell, EMC (VMWare), Cisco, Citrix, RedHat, AT&T, Unisys, Oracle, and small to mid-size start-ups have made product and service announcements addressing the Cloud Computing space. Even Amazon, the bookseller, opened up its datacenters for business by selling compute and storage “on-demand” and includes this new service as one of its best revenue growth areas.
What is Cloud Computing and who are the teams playing in this space?
The CEO of Microsoft, Steve Balmer, reportedly told a reporter in New York in March 2009, “Anything that has been a server needs to be a service.” His statement is a good summary of Microsoft’s Azure strategy, but only partly covers the definition of Cloud Computing. A new framework race is on that allows enterprises to manage based on the demand based commodity infrastructure. The framework needs to make it easy to manage, provision, monitor, secure and change resources when needed or based on pre-determined service levels that match the applications.
Cloud Computing Reference Model
Cloud Computing is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on a service-level agreement . According to this definition, Cloud Computing refers to the practice of delivering software and infrastructure as a service on a “pay as you go” basis.
Figure 1 illustrates the layered architecture of the Cloud Computing. Generally, the Cloud architecture defines 4 distinct layers from physical hardware to end user applications. Physical resources including spare desktop machines, clusters and datacenters form the lowest level of the stack, on top of which the virtual infrastructure is deployed. Infrastructure supporting large scale Cloud deployments are more likely datacenters hosting hundreds or thousands of machines, while small scale, in house Clouds provide a more heterogeneous scenario where the idle CPU cycles of spare desktop machines are used to leverage the compute workload. This level provides the “horse power” of the Cloud.
Figure 1: Cloud Computing layered architecture.
For full article, click here.