The Definitive Guide to Cloud Computingby Dan Sullivan
Cloud computing has clearly emerged as a viable means for delivering IT services. Less obvious, though, is how to identify the potential role of cloud computing in your organization and adapt this new model of service delivery. The Definitive Guide to Cloud Computing provides IT managers, system architects, and IT service consumers with the information they need to understand the advantages of cloud computing, the options for deploying cloud infrastructure, and the means to transition to cloud-based service delivery. This Definitive Guide provides a road map to implementation that starts with defining key characteristics of cloud computing and moves through identifying, planning, and implementing cloud service delivery. Other critical topics, such as governance, security, and growth are addressed as well.
Chapter 1: Changing the Way We Deliver Services with Cloud Computing
Computing is constantly changing, creating new hardware technologies, improving software, and optimizing business processes. The history of computing is almost a constant stream of advances. Mainframe computing was followed by mini-computers, which were followed by personal computers, and most recently mobile devices. Software development followed a similar trajectory with an evolution that started with batch-oriented mainframe applications and moved through client server models to highly distributed service-oriented architectures and Web applications. Business processes changed and computing expanded beyond the reach of large volume highly-focused back office systems supporting core operations to widely adopted collaboration and personal productivity applications. Sometimes the changes in hardware, software, and business processes converge in ways that create significant new opportunities for delivering business services. The advent of cloud computing is one of those events.
Cloud computing in its simplest form is a model for allocating compute and storage resources on demand. In practice, it is much more. Cloud computing offers new ways to provide services while significantly altering the cost structure underlying those services. These new technical and pricing opportunities drive changes in the way businesses operate. The Definitive Guide to Cloud Computing describes the technical, operational, and organizational aspects of cloud computing and provides a roadmap for navigating the emerging landscape of cloud computing.
Chapter 2: Demystifying Cloud Computing
The term "cloud computing" has become a shorthand way of describing a wide range of different computing services. When describing their cloud offering, a vendor might focus on the ability to rapidly provision instances of virtual machines to run applications of your choice. Another vendor might use the term "cloud" when promoting a new way to license and run the vendor's applications on the vendor's servers. Of course, there are any number of definitions in between.
The goal of this chapter is to demystify cloud computing by defining a set of common characteristics that should be included in any cloud service that could be considered ready for enterprise use. The common characteristics, as we shall see, still leave plenty of room for different types of cloud computing. We will examine several types of cloud services and the advantages and disadvantages of each. The chapter concludes with a discussion of different cloud delivery models that range from public to private clouds.
Chapter 3: Enabling Business Innovation by using Cloud Computing
Many discussions of cloud computing focus on its technological advantagesâ€”and there are manyâ€”but there are business advantages as well. This chapter shifts focus from questions of architecture and operations to issues of service delivery and return on investment (ROI). After all, cloud computing is not an end in itself (unless you are a computer scientist or systems architect) but a means of delivering existing services more efficiently and enabling the delivery of new services that may not be practical under other models. The chapter is divided into three main sections:
- Launching a new business serviceâ€”The first section compares service delivery under traditional IT service models and under cloud computing. Example scenarios will illustrate some of the key differences.
- Advantages of doing business with cloud computingâ€”The advantages of doing business with cloud computing include the reduced time required to deliver new services, new means to control costs, the ability to scale to demand, and the adaptability of cloud computing.
- Sources of ROI in the cloudâ€”ROI in cloud computing comes from both reduced capital costs and lower operational costs. As with other technologies, the ROI in the cloud is highly dependent on more than just the technology; how you implement and manage cloud services contributes to how much of the potential ROI is actually realized. As a first step to understanding the source of ROI in cloud computing, letâ€™s consider a couple of hypothetical examples of how service delivery in the cloud differs from traditional IT service delivery.
Chapter 4: How Cloud Computing Will Help Your Business
Cloud computing changes the way we do business. Much of the coverage of cloud computing has focused on the technical aspects of this computing model: the consolidation of servers, virtualization, security, and so on. This is understandable, as you must have a clear idea of what cloud computing offers from a technical perspective before you can appreciate what it can do for you from a business perspective.
This chapter turns attention to the business side of cloud computing. In particular, this chapter considers the following:
- How cloud computing can help your business
- Assessing current capabilities
- Introducing cloud computing as a new model for consumption and delivery
- Measuring the value of a cloud
The discussion will start by identifying key business priorities; move on to looking at the current state of IT infrastructure, services, and procedures; describe how to transition those capabilities to a cloud-enabled enterprise; and finally assess the financial value of a cloud to the organization.
Cloud computing has and always will be a rich technical area, but its application to realworld business problems requires the examination of organizational issues that range from bordering on the technical to being the provenance of business executives responsible for overall strategy.
Chapter 5: Strategies for Moving to the Cloud
Cloud computing is a framework for delivering services that, as we have seen in previous chapters, offers a number of compelling benefits. Now it is time to turn our attention to strategies for moving an organization from thinking about cloud computing to using cloud computing. Many of the same rational methods and management techniques we use in IT planning and deliver today are relevant to cloud computing. This is not surprising. As I have noted in this book, cloud computing is a phase in the evolution of IT services delivery; it builds on previous practices to deliver new levels of efficiency, control, and manageability.
This chapter focuses on how to plan for the organizational and technical issues around the move to cloud computing. It is specifically structured around three broad topics:
- Planning principles
- Architectural principles
- Use case scenarios
The first section on planning principles will describe a process for understanding the current state of IT services and framing them in such a way that we can properly start delivering these services in a cloud-based environment. In the second section on architectural principles, we examine issues such as scalability, manageability, and service delivery in terms of design and implementation issues. High-level discussions about planning and architecture in the first two sections of this chapter are complemented by a set of use case scenarios in the third section of this chapter. The goal of the use cases is to provide concrete examples of applying the planning and architectural principles to typical scenarios facing cloud computing adopters.
Chapter 6: Identifying the Right Cloud Architecture for Your Business
Cloud computing is a general model for delivering computing and storage services. The model lends itself to a range of implementations with no single architecture constituting a "true cloud" architecture. This is hardly surprising. The defining characteristics of cloud computing (the ability to allocate and release compute and storage resources on demand, a payâ€asâ€youâ€go funding mechanism, and high levels of selfâ€service) allow cloud providers to deliver a wide range of services using a number of implementation models.
This range of variability means businesses can choose the right cloud architecture for their environments. In this chapter, we will examine several aspects of selecting a cloud architecture:
- Levels of cloud architecture
- Issues in providing compute services
- Issues in providing storage services
- Considerations for network services
- Cloud operations management
- Service layers and adapting IT operations to infrastructures
- Topics in service management
We will start with a brief review of architectural elements common to all cloud architectures.
Chapter 7: Roadmap to Cloud Computing: The Planning Phase
The benefits of cloud computing are well established: This model of service delivery is efficient, scales well, and meets a wide range of business needs. These benefits are maximized when business drivers, infrastructure, and policies are properly aligned to take advantage of the clouds method of delivery services. Cloud computing is not a universal panacea and some business processes are better delivered by other approaches. Not all businesses will benefit equally from cloud computing; much depends on how well they prepare for the adoption of cloud computing. The purpose of this chapter is to outline a planning process that will help maximize the benefits of cloud computing. The planning process consists of several steps:
- Assessing readiness for cloud computing
- Aligning business strategy with cloud computing services
- Preparing to manage cloud services
- Planning for centralized resources
- Committing to service level agreements (SLAs)
- Meeting compliance requirements
The chapter concludes with a preâ€implementation checklist to help manage your own planning phase.
Chapter 8: Roadmap to Cloud Computing: The Implementation Phase
One of the most challenging IT tasks is to implement a new systems architecture. By definition, we are introducing a new way of delivering services; at the same time, we are often required to maintain existing services. It is analogous to repairing your car while driving it. The first step in the cloud adoption process is to develop a comprehensive plan that begins with assessing readiness for cloud computing, aligning business processes with cloud services, planning for centralized resources, and committing to service level agreements (SLAs). We described this first step in detail in the previous chapter; in this chapter, we shift focus from planning onto the actual implementation of the plan.
Many planning issues are common to both public and private clouds, but the implementation details are more complex in the case of private cloud computing. This chapter will address how to implement a private cloud and will include discussion of hybrid and public cloud issues as well. The structure of the discussion is divided into five core subtopics:
- Establishing a private cloud
- Transitioning compute and storage services to a cloud
- Completing a post-implementation checklist
- Managing cloud services
- Extending a private cloud with public services
Chapter 9: Maintaining a Cloud Environment: Governance, Growth and Security
There is much discussion about how cloud computing is different from earlier models of service delivery. This book has followed a similar pattern for the first eight chapters by concentrating on what distinguishes cloud computing from mainframe, clientâ€server, and other distributed approaches to delivering services. This chapter will be different. Now we will focus our attention on themes common to all forms of IT and delivery:
- The role of governance
- Capacity planning
- The need for security
Governance is the guiding framework that defines how we go about implementing service delivery in the cloud. It can be thought of as a set of constraints on possible solutions to a problem. Principles of governance are not technical principles, per se, but they do have implications on the technical solutions we implement. For example, a policy may dictate that especially sensitive private and confidential information may only be stored on devices under the complete control of the company. This limits the use of public clouds as an extension of a private cloud. The governing policy need not explicitly mention restrictions on public clouds but that is the practical implication. Other aspects of governance influence and constrain how we deliver other services, what types of services may be delivered, and to whom we may deliver them.
Capacity planning is often a challenging task in IT management. Throughout this book, we have discussed how cloud computing makes capacity planning easier, and it does—for the cloud consumer. The cloud services provider, however, still faces the typical challenges of forecasting demand for services, balancing peak load demand with average load demand, and formulating acceptable service level agreements (SLAs) with customers.
In addition to having enough capacity to meet the demands of SLAs, we have to ensure that infrastructure is reliable enough to be available as required by SLAs. Fortunately, cloud architectures are inherently distributed and therefore enable relatively straightforward failover approaches. Nonetheless, we still have to be careful to avoid single points of failure and ensure that supporting services, such as making redundant copies of data, happen fast enough and frequently enough to ensure sufficient recovery in the event of a data loss in one part of the storage system.
Chapter 10: Key Steps in Establishing Enterprise Cloud Computing Services
Adopting cloud computing technology in an enterprise can produce substantial improvements in service delivery and cost control. That is, if it is done right. The driving force behind the use of any technology should be a business imperative. For that reason, the first key step in establishing enterprise cloud services is to understand the business objectives that can be served by the technology.
In this, the final chapter of The Definitive Guide to Cloud Computing, we begin by examining how to align business drivers with cloud services. This process includes understanding business objectives, identifying weaknesses in existing IT service delivery, and prioritizing the multiple objectives that can be served by cloud computing.
Once we have established what we want to achieve with cloud computing in the enterprise, we move on to the second key step in the process: planning. The planning phase requires a combination of business and technical knowledge that typically requires a team of professionals from across the organization. Some of the issues we must address at this stage are assessing the current state of readiness, determining the best cloud model for a given set of requirements, and planning for longâ€term management and sustainability.
The implementation phase follows the planning stage. The details of this phase will vary depending on whether a business decides to adopt a private cloud model, a public cloud service model, or a hybrid setup. Later in the chapter, we will examine issues that should be considered in each case, such as reallocating server hardware when implementing a private cloud or establishing service level agreements (SLAs) with a cloud provider when a public cloud service is used.
The fourth key step in establishing cloud computing services is to develop a maintenance model. Maintenance has both technical and business dimensions. Technical issues include establishing procedures to monitor services, identifying and correcting failed services, and maintaining proper patch levels of software underlying cloud services. The business side of maintenance focuses on tasks such as establishing value metrics and planning for adequate capacity.