Cloud Computing: Bringing Business and IT Together
You can hardly open any technology or business journal, Web site or newspaper today without hearing some commentary on cloud computing -- what it is and how it will change IT and business. Very few, if any, would argue that its impact will not continue to be felt for many years, regardless of how it all comes together in the end. At the same time, you might also begin to notice that no single definition exists of cloud computing as being talked about, planned and, even, implemented in today’s enterprise networks. Furthermore, any attempt by vendors to define cloud computing is seen as simply a marketing ploy to make their products seem more necessary.
While they may still disagree on whether SaaS is or isn’t cloud computing, many agree that SaaS could be -- and often is -- part of or delivered via cloud architectures, as well as the fact that it can be so much more. Enterprise customers are interested in more than simple server virtualization and consolidation, but realize the impacts of security and maintaining access control as applications and data are dispersed through the various technologies.
One of the key components is the idea that cloud computing is a “style” of computing -- an architecture. It is simply a way of combining mostly existing tools together, automating and orchestrating those processes in order to achieve specific results. What are those results? Ultimately, it is to provide a computing infrastructure that users -- and not necessarily technical users at that -- can simply plug into.
The question then, is what does this architecture look like and what is required above and beyond the standard tools we have today to qualify as a “cloud”?
An important strategic consideration is the integration of all the pieces of the infrastructure to create the style known as cloud. This includes everything from the bare metal to the users themselves and all the elements in between. In addition, it suggests different ways to view the interaction of various operations within the architecture depending on your role as a technical builder or a business manager.
In general, we see cloud computing architecture built upon several functional component blocks (e.g., compute resources or deployment environments), organized into specific layers of a pyramid whose width represents the amount of technical skills or depth of expertise required to build and/or deploy that layer. These layers are roughly synonymous with the notions of Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). At the very apex of the pyramid are the users accessing the applications built upon the cloud architecture; in the center is a block which traverses all others and provides real-time connectivity, information coordination and flow control between the blocks/layers.
We are convinced that in order to maximize the value of cloud architecture, each component must exist in some state or another. For example, dynamic control plane elements are a requirement at every layer of the cloud architecture due to the necessity for cloud environments to be operationally efficient and on-demand. This calls for a level of automation and orchestration that can only be achieved by integrating components across the architecture. Without this collaborative capability, a given cloud architecture model is not capable of enabling an organization to realize the benefits associated with the model. If any of the core components is not implemented, such collaboration will fail and ultimately a true cloud architecture cannot be achieved.
Built from core components that include compute resources and management resources, the base layer of the cloud architecture requires the most technical competence to build and/or deploy. This is the very foundation upon which a cloud is built and, as suggested, is the components most often supplied by vendors who provide IaaS solutions to their customers.
Many applications are built upon software platforms that run on top of infrastructure services. These platforms may be environments like Oracle, BEA or ASP.NET and provide a convenient way for businesses to build custom applications without needing to concern themselves with the details that lay beneath the platforms. While many platforms are based on standards, e.g. Java EE, others are proprietary in nature including Google AppEngine and architecture frameworks developed and deployed by enterprise architects.
At the top of the pyramid, we find general business computing. This is where many organizations find themselves -- especially business organizations -- with the ability to identify a business need, but without the ability to build an application or the infrastructure upon which it runs. Instead of relying on an internal IT organization to build and/or deploy infrastructure and platforms, business stakeholders simply select an application and run it. This occurs for many different reasons, but the most common theme is that the capital, operating expenses, and man-hours required to implement applications that have standardized across industries, is not financially feasible, not an efficient use of IT resources or simply beyond the capabilities of the organization.
Putting It Together
As we move from the building blocks of infrastructure to the pinnacle of the application, the skill and knowledge necessary to build the components becomes less. This is simply because each layer can be built on top of the previous without having to fully understand the layer beneath. An organization with limited infrastructure skills can readily purchase IaaSfrom a vendor and build their own platform (or several) upon that infrastructure without needing the expertise to completely build the infrastructure from scratch. This has been happening for years in the managed hosting business. The organization does not have to be hardware or networking experts and therefore, as an organization, they require less technical expertise of the entire picture.
One of the most exciting, and possibly frightening, aspects of cloud computing architecture is that it finally brings the dynamism of business aligned IT to a workable model. IT organizations build IT systems; Business units deploy solutions to their business problem, which often involve the use of IT systems.
Posted by Karl Triebes on 06/01/2010 at 12:47 PM