The list of topics here is not exhaustive. If you think there are other topics on which readers require the book, Packt would love to hear about them.
Cloud Computing Central
Packt Publishing is planning to advance its line up of Cloud Computing books and is currently inviting book ideas and potential authors interested in writing IBM Cloud Computing to get in touch.
You are not required to be an experienced author to write for Packt. If you have a good knowledge about your subject, a passion to share it with others and can communicate clearly in English, you could be Packt's next author.
Some of the topics which immediately interest Packt are:
More details about this can be found at: http://authors.packtpub.com/content/packt-invites-ibm-cloud-computing-authors-and-book-ideas
So, if you love Cloud Computing and fancy writing a book, send in your book ideas to firstname.lastname@example.org. If you don't have a book idea and are simply interested in writing a book, Packt is still keen to hear from you.
Defining Cloud Computing
Let’s start the first module with trying to understand and define the term Cloud Computing in its details. It is comprised of two words – Cloud and Computing. So simply put it is computing that you can offer on the cloud. What’s the Cloud referred here? The term "cloud" is used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the network. The computing could be any goal-oriented activity requiring, benefiting from the usage of Information Technology that includes hardware and software systems used for a wide range of purposes; processing, structuring, and managing various kinds of information;
There are several definitions that you can find on the web for cloud computing.
National Institute of Standards and Technology (NIST), Information Technology Laboratory has been promoting the effective and secure use of cloud computing technology within government and industry by providing technical guidance and promoting standards.
NIST Definition - Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Wikipedia - Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.
Internet-based computing was always available. So what’s different now? The different is Cloud computing is a paradigm shift. Cloud computing is a new consumption and delivery model inspired by consumer internet services. Cloud computing is still an evolving paradigm. But in general most of the companies involved with cloud have agreed on certain general characteristics or essentials that qualify any internet-based computing to be referred to as a cloud. They are the following
On-demand self-service - A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed without requiring human interaction with each service’s provider.
Ubiquitous network access - Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Location independent resource pooling - The provider’s computing resources are pooled to serve all consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. The customer generally has no control or knowledge over the exact location of the provided resources. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
Rapid elasticity - Capabilities can be rapidly and elastically provisioned to quickly scale up and rapidly released to quickly scale down. To the consumer, the capabilities available for rent often appear to be infinite and can be purchased in any quantity at any time.
Pay per use - Capabilities are charged using a metered, fee-for-service, or advertising based billing model to promote optimization of resource use. Examples are measuring the storage, bandwidth, and computing resources consumed and charging for the number of active user accounts per month. Clouds within an organization accrue cost between business units and may or may not use actual currency.
The intent of this blog is not to duplicate the content from other web sites into this article. But provide a means to navigate through a variety of resources that are available and take a structured approach to understanding the term. Once we have understood this basic definition, let’s look at other resources for further reading.
The best first stop for getting started with some basis is the cloud computing zone on IBM Developerworks. There is a specific section called New to Cloud that discusses some of the frequently asked questions.
· What is Cloud Computing?
· Is Cloud Computing same as Software-as-a-Service?
· Where can I learn more about Cloud Computing?
· What types of application can run in the Cloud?
Cloud Computing Primer - Part 1 – This white paper recommended as one of the resources for the Cloud Computing Certification discusses the definition in detail. Beyond the definition, it discusses the cloud computing context and how is it different from current hosted services. Virtualization plays a key role for meeting some of the characteristics of cloud like Elasticity and Scalability, Workload Migration and Resiliency. This article discusses Virtualization and its effect on cloud is computing. The article further tries to burst some common myths about cloud computing like
To get an overview best is to start with these excellent 3 to 4 minute videos on introduction to the basics of cloud computing from common craft and rPath – Cloud Computing in Plain English and Cloud Computing Plain and Simple. Cloud Computing Explained is another simple video that explains Cloud Computing in a way that everyone can understand! You can find many videos on Youtube if you search for cloud computing. But the best that I liked is this one where a Dad is explaining Cow computing – I mean Cloud Computing to his daughter. Check it out.
Slide share is another good place where I found there are some very interesting presentations on cloud.
The best way to learn I feel is learning together. That’s the power of communities. We can collectively learn from each other. So I would suggest all of you (if not already) to join the Cloud Computing Central as well as the IBM Cloud Computing Community.
Finally what better way to discuss this topic - Enjoy this song (parody) by Loose Bruce and get the complete essence of What’s Cloud Computing.
As part of the first two parts of this series we have tried to define the term “cloud computing”. Having understood what it is, let us now try to look at how and cloud computing is gaining importance now.
As the world is becoming more interconnected, infrastructure
needs to become dynamic to bring together business and IT. Growth of
instrumentation, interconnection and intelligence in the world is driving the
emergence of IT and business services and the requirement for service
management systems. To create such a
dynamic infrastructure, the customers (businesses) are looking for following
capabilities If you research on how the business can address or acquire
the above capabilities, cloud computing seems to be holding to the key answers
to the above considerations. An effective Cloud Computing deployment is built
on a Dynamic Infrastructure and is highly optimized to achieve more with less leveraging
virtualization, standardization and automation to free up budget for new
investment. A Consumption model: new user
experience and a business model A
Computing and Delivery model: One of the
earliest groups to take a step towards identifying some of these use cases is
Computing Use Cases Workgroup on google groups. This collaborative
effort of cloud consumers and cloud vendors has put out a white paper that
discusses some of the basic definitions. The paper further discusses the
various Use Case Scenarios from a Delivery and Deployment model perspective. The
white paper is in its fifth iteration were the group members are now discussing
what and how about “moving to the cloud”. The current version of the paper can
be found here.
The delivery model (public, private or hybrid) selection
depends on the workload. The research studies by IBM indicate that the
different types of workloads that could be delivered internal with a private
cloud or on a fully shared environment on a public cloud are the following.
As the world is becoming more interconnected, infrastructure needs to become dynamic to bring together business and IT. Growth of instrumentation, interconnection and intelligence in the world is driving the emergence of IT and business services and the requirement for service management systems. To create such a dynamic infrastructure, the customers (businesses) are looking for following capabilities
If you research on how the business can address or acquire the above capabilities, cloud computing seems to be holding to the key answers to the above considerations. An effective Cloud Computing deployment is built on a Dynamic Infrastructure and is highly optimized to achieve more with less leveraging virtualization, standardization and automation to free up budget for new investment.
A Consumption model: new user experience and a business model
A Computing and Delivery model:
One of the earliest groups to take a step towards identifying some of these use cases is the Cloud Computing Use Cases Workgroup on google groups. This collaborative effort of cloud consumers and cloud vendors has put out a white paper that discusses some of the basic definitions. The paper further discusses the various Use Case Scenarios from a Delivery and Deployment model perspective. The white paper is in its fifth iteration were the group members are now discussing what and how about “moving to the cloud”. The current version of the paper can be found here.
The delivery model (public, private or hybrid) selection depends on the workload. The research studies by IBM indicate that the different types of workloads that could be delivered internal with a private cloud or on a fully shared environment on a public cloud are the following.
Cloud Deployment and Delivery Models
There are multiple delivery and deployment models that cloud computing supports to deliver the promised capabilities. This choice and flexibility of having different deployment delivery models is the key to success of Cloud Computing platform. The cloud flexible delivery models include
Standard Cloud service types are emerging and guiding the IT Industry development. The different deployment models are
Now that we have discussed, what’s cloud, its different delivery and deployment model as well as its benefits, let us look at what steps enterprises should take to get on the cloud.
The first obvious step for the traditional IT is to consolidate the physical infrastructure. IT service providers are facing enormous challenges and rising costs in managing and operating a growing number of heterogeneous system and computing landscapes. It is not about managing just the hardware and software but also things like the power, cooling, location and many other resources that are required to run a data centre. The cost of managing all of these have forced traditional computing environments to reorganize computing resources within the data centre, as continuous growth leads to an inefficient utilization of the underlying hardware and software infrastructure. Reducing this management cost by server and Infrastructure consolidation and better utilization is one of the first steps towards transforming corporate data centres into compute clouds.
Gartner provides this interesting material for further details on IT Infrastructure Consolidation. IBM’s offerings in this space all the way from strategy and planning to consolidation of all the resources can be found here.Even after consolidation, the IT infrastructure or a compute resource is
Virtualization is the next logical step to cloud that can enable flexibility. Virtualization provides infrastructure abstraction and the flexibility to give out soft configured IT resources that can be recycled / reused with ease. This increases the utilization of the resources and at the same time makes the data centre energy efficient. Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources. There are three areas of IT where virtualization is making head roads, network virtualization, storage virtualization and server virtualization. You can read more about it in this article. We will discuss each of this virtualization in detail in our subsequent lessons.
Even with virtualization there exists many configurations that are constrained and cannot be effectively managed. So it is important from the data centre perspective to standardize the IT service and offerings that it can provide to the IT consumers. The 80-20 rule applies here. We need to look for what configuration / services are mostly used that account for 80% of the IT service requests and then standardize them for better management. With standardization, the biggest outcome is simplification. We will have only few configurations to automate and support.
Even after standardization, many of the traditional IT process remain highly manual intensive, skill dependent, error prone and costly. The next major step towards cloud and that provides a huge ROI on cloud investment is automation. This step would remove human involvement to a large extent and provides rapid deployment and management of IT services. This would be a repeatable configuration/activity that also improves compliance.
The final steps to cloud comes from being able to optimally sharing the resources among common workload profiles and be able to dynamically provisioning of resources based on demand. This is possible only by providing a self-service User Interface for the IT Service Consumer. Such self-service capability gives complete control to the user as well as the he will have a wide choice of cost and usage models that can be select based on the requirement. Apart from these features the cloud environment should provide increased visibility and required IT/Business alignment.
Service management system is the capability that can provide this visibility, control and automation needed for efficient cloud delivery in both public and private implementations. Many of the aspects like Simplifying user interaction with IT, User friendly self-service interface, Service catalog, Automated provisioning & de-provisioning, increase system administrator productivity are provided by the Service management system. In fact 81%* of cloud payback is driven by labour savings enabled by service management. We will discuss service management in detail in the next chapter.
Chapter 3 – Cloud Deployment and Delivery Models
For the enterprises, the most attractive factor of cloud is its flexible sourcing options and the choices of deployment. And again the different deployment and delivery models can co-exist and it is possible to integrate with traditional IT systems and with other clouds.
Cloud Delivery Models
Private Cloud refers to IT capabilities are provided “as a service,” over an intranet, within the enterprise and behind the firewall. Privately owned and managed. The access limited to client and its partner network. The Private cloud drives efficiency, standardization and best practices while retaining greater customization and control within the organization. In a private cloud environment, all resources are local and dedicated. All cloud management is local.
Figure 1 Private Cloud
Public Cloud refers to IT activities / functions are provided “as a service,” over the Internet Service provider owned and managed. In public cloud, access is by subscription.
The public cloud delivers select set of standardized business process, application and/or infrastructure services on a flexible price per use basis. Multiple tenancy is a key characteristic of public cloud services.
Figure 2 Public Cloud
Hybrid cloud is a combination of characteristics of both public and private cloud where internal and external service delivery methods are integrated. For example in the case of an Off-Premise Private Cloud, resources are dedicated, but off-premise. Enterprise administrator can manage the service catalog and policies. Cloud provider operates and manages the cloud infrastructure and resource pool.
Figure 3 Off-Premise Private Cloud
Community cloud – This is the model where the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.
Public vs. Private trade-off considerations
Overall private clouds have higher levels of consideration than public clouds with most of the enterprises but there are various other models that are emerging.
Figure 4 Cloud Delivery Models
We need to balance the business benefits of increased speed and lower cost with public cloud offerings versus the security and ownership of infrastructure and service management considerations while choosing between a public and private cloud offering for a capability. The governance model, resiliency, level and source of support, architectural & management control, compliance, customization / specialization etc are other considerations.
Public and Private Clouds are preferred for different workloads. Many enterprises still prefer to host their traditional applications out of their private cloud. The top private workloads include
As and when a workload becomes more standard and the SLAs are well established, the same service becomes easy to consume over a public cloud. This is similar to how you can access well defined banking functions through ATMs. Only when you need some special services you go to your bank these days. Similarly top public workloads include
Cloud Deployment Models
All the computing related functions that clouds provide are accessed through a service catalog and delivered as integrated services. The different layers of IT-as-a-Service are referred to as the Cloud Deployment Models. More details of these definitions can be found at the NIST website which is source for some of the text below.
Figure 5 Cloud Deployment Models
Infrastructure as a Service (IaaS) is the service delivery model where customers use processing (server), storage, networks and other computing resources/ data center functionality. Iaas has the ability to rapidly and elastically provision and control resources. In this model customers can deploy and run software and services without the need to manage or control the underlying resources. The IBM Research Compute Cloud (RC2) is an example for this model. Smart Business Desktop on the IBM Cloud is another example for IaaS that enables desktop virtualization with a subscription service with no upfront fees or capital expense. Consider reading about IBM Cloudburst if you are building your own IaaS platform.
Platform as a Service (PaaS) is the delivery model where customers can use programming languages, tools and platforms to develop and deploy applications on multi-tenant shared infrastructure with ability the to control deployed applications and environments. All of these again can be done without the need to manage or control the underlying resources. IBM BPM BlueWorks provides tools to build your own business process. WebSphere Cloudburst is also something for you to look at if you building a PaaS yourself.
Software as a Service (SaaS) is the popular model where customers use applications (Eg, CRM, ERP, E-mail) from multiple client devices through a Web browser on multi-tenant and shared infrastructure without the need to manage or control the underlying resources. An example of this model is IBM lotuslive.
Business Process as a Service (BPaaS) is an emerging model where customers can consume business outcomes (Eg, payroll processing, HR) by accessing business services via Web-centric interfaces on multi-tenant and shared infrastructures. Smart Business Expense Reporting on the IBM Cloud is one of the offerings in this category.