Chapter 1. What is cloud computing?
This chapter covers
- Defining the five main principles of cloud computing
- Benefiting from moving to the cloud
- How evolving IT led to cloud computing
- Discussing the different layers (types) of clouds
Cloud computing is the hottest buzzword in the IT world right now. Letâs understand why this is and what this cloud computing hype is all about. A growing consensus among cloud vendors, analysts, and users defines cloud computing at the highest level as computing services offered by a third party, available for use when needed, that can be scaled dynamically in response to changing needs. Cloud computing represents a departure from the norm of developing, operating, and managing IT systems. From the economic perspective, not only does adoption of cloud computing have the potential of providing enormous economic benefit, but it also provides much greater flexibility and agility. Weâll continue to refine and expand our definition of cloud computing as well as your understanding of its costs and benefits throughout this book.
Not only are IT journals and IT conferences writing and talking about cloud computing, but even mainstream business magazines and the mass media are caught up in its storm. It may win the prize for the most over-hyped concept IT has ever had. Other terms in this over-hyped category include Service-Oriented Architectures (SOA), application service providers, and artificial intelligence, to name a few. Because this book is about cloud computing, we need to define it at a much more detailed level. You need to fully understand its pros and cons, and when it makes sense to adopt it, all of which weâll explain in this chapter. We hope to cut through the hype; and to do that we wonât merely repeat what youâve been hearing but will instead give you a framework to understand what the concept is all about and why it really is important.
You may wonder what is driving this cloud hype. And it would be easy to blame analysts and other prognosticators trying to promote their services, or vendors trying to play up their capabilities to demonstrate their thought leadership in the market, or authors trying to sell new books. But that would ignore a good deal of what is legitimately fueling the cloud mania. All of the great expectations for it are based on the facts on the ground.
Software developers around the world are beginning to use cloud services. In the first 18 months that it was open for use, the first public cloud offering from Amazon attracted over 500,000 customers. This isnât hype; these are facts. As figure 1.1 from Amazonâs website shows, the bandwidth consumed by the companyâs cloud has quickly eclipsed that used by their online store. As the old adage goes, âwhere thereâs smoke, there must be a fire,â and clearly something is driving the rapid uptake in usage from a cold start in mid-2006.
Figure 1.1. Amazon originally deployed a large IT infrastructure to support its global e-commerce platform. In less than 18 months after making the platform available as a cloud service to external users, its usage, as measured by amount of bandwidth consumed, outstripped bandwidth used internally.
Similar to the previous technology shiftsâsuch as the move from mainframes to client-server, and then from client-server to the internetâcloud computing will have major implications on the business of IT. We hope to provide you with the background and perspective to understand how it can be effectively used as a component of your overall IT portfolio.
Weâll begin by expanding on our earlier definition of cloud computing in terms of its five main principles.
1.1. Five main principles that define cloud computing
We can summarize the five main principles of cloud computing as follows:
- Pooled computing resources available to any subscribing users
- Virtualized computing resources to maximize hardware utilization
- Elastic scaling up or down according to need
- Automated creation of new virtual machines or deletion of existing ones
- Resource usage billed only as used
We assert, with very few notable exceptions called out later, that these five main principles are necessary components to call something cloud computing. Theyâre summarized in table 1.1 with a brief explanation of each one for quick reference.
Table 1.1. The five main principles of cloud computing
Resource | Explanation |
---|
Pooled resources | Available to any subscribing users |
Virtualization | High utilization of hardware assets |
Elasticity | Dynamic scale without CAPEX |
Automation | Build, deploy, configure, provision, and move, all without manual intervention |
Metered billing | Per-usage business model; pay only for what you use |
Weâll now discuss these principles in concrete terms, making sure you understand what each one means and why itâs a pillar of cloud computing.
1.1.1. Pooled computing resources
The first characteristic of cloud computing is that it utilizes pooled computing assets that may be externally purchased and controlled or may instead be internal resources that are pooled and not dedicated. We further qualify these pooled computing resources as contributing to a cloud if these resources are available to any subscribing users. This means that anyone with a credit card can subscribe.
If we consider a corporate website example, three basic operational deployment options are commonly employed today. The first option is the self-hosting option. Here, companies choose not to run their own data center and instead have a third party lease them a server that the third party manages. Usually, managed hosting services lease corporate clients a dedicated server that isnât shared (but shared hosting is common as well). On this single principle, cloud computing acts like a shared managed hosting service because the cloud provider is a third party that owns and manages the physical computing resources which are shared with other users, but there the similarity ends.
Independent of cloud computing, a shift from self-hosted IT to outsourced IT resources has been underway for years. This has important economic implications. The two primary implications are a shift of capital expenses (CAPEX) to operational expenses (OPEX), and the potential reduction in OPEX associated with operating the infrastructure. The shift from CAPEX to OPEX means a lowering of the financial barrier for the initiation of a new project. (See the definition in section 3.1.)
In the self-hosted model, companies have to allocate a budget to be spent up front for the purchase of hardware and software licenses. This is a fixed cost regardless of whether the project is successful. In an outsourced model (managed hosting), the startup fees are typically equivalent to one monthâs operational cost, and you must commit to one year of costs up front. Typically, the one-year cost is roughly the same or slightly lower than the CAPEX cost for an equivalent project, but this is offset by the reduced OPEX required to operate the infrastructure. In sharp contrast, in a cloud model, there are typically no initial startup fees. In fact, you can sign up, authorize a credit card, and start using cloud services literally in less time than it would take to read this chapter. Figure 1.2 showcases side by side the various application deployment models with their respective CAPEX and OPEX sizes.
Figure 1.2. IT organizations have several alternatives for hosting applications. The choice of deployment model has different implications for the amount of CAPEX (up-front capital expenditure) and OPEX (ongoing operational costs). The number of $ signs represent the relative level of CAPEX and OPEX involved with the choice of deployment model.
The drastic difference in economics that you see between the hosting models and the cloud is due to the fact that the cost structures for cloud infrastructures are vastly better than those found in other models. The reasons for the economies of scale are severalfold, but the primary drivers are related to the simple economics of volume. Walmart and Costco can buy consumer goods at a price point much lower than you or I could because of their bulk purchases. In the world of computing, the âgoodsâ are computing, storage, power, and network capacity.
1.1.2. Virtualization of compute resources
The second of the five main principles of cloud computing has to do with virtualization of compute resources. Virtualization is nothing new. Most enterprises have been shifting much of their physical compute infrastructure to virtualized for the p...