What is a cloud?
In this chapter, we introduce cloud concepts. The goal is to provide you with a basic understanding of what a cloud is, and present you with a table of questions to think about and apply to your circumstances.
1.1 Cloud overview
The National Institute of Standards and Technology (NIST) provides the following definition1 for cloud computing:
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (for example, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
Users interact with cloud computing environments with the services that the cloud environment provides. The following examples are services that typically are provided by a cloud:
Virtual servers
Database services
Middleware instances
Email applications
Storage
Your organization can use cloud services that are provided by third parties, or you can build your own cloud. If you build your own cloud, you can provide services from your cloud to internal company users, lines of business, selected Business Partners or customers, or to the world at large.
You might also choose to have a mixture of the two, in which some of the cloud services are internal and accessible through your intranet, and other services are external and accessible by using the internet.
1.1.1 Cloud service characteristics
Based on the NIST definition, the characteristics and models that constitute a cloud service are shown in Figure 1-1.
Figure 1-1 Cloud service characteristics
For a service to be considered a “cloud service,” it must include the following characteristics:
Support self-service provisioning
Be accessible through the internet or corporate intranet
Provide resources from a resource pool, without the user needing knowledge of the pool
Provide simple and fast resource elasticity as users demand changes
Monitor resources with a dashboard view on cloud health status and potentially support a metering capability, which enables a dynamic charge-back model
To provide these characteristics, the infrastructure that enables the cloud services uses the following key enablers:
Virtualization
Allows computing resources to be pooled and allocated on demand. It also enables pay-per-use billing to be implemented.
Automation
Enables the elastic use of available resources and workloads to be moved to where resources are available. It also supports provisioning and deprovisioning of service instances to support scalability.
Although these enablers are not part of any formal cloud definition, they are indispensable in delivering the essential cloud service characteristics.
Many traditional IT services are provisioned with the characteristics of a cloud service. For example, as systems programmers you might create a development and testing environment for a particular application project.
Is this type of provisioning considered a cloud service? The application project leader (user) might submit a work request for these environments to be built. When the systems programmers (provisioners) plan and build the components, they hand these components over to the application project leader. Is this service a type of cloud service? In context of the NIST definition, the answer is no.
How do you know that you are providing or using a cloud service, or when you are using a cloud service?
You know that you are providing or using a cloud service when your service exhibits the characteristics that are shown in Figure 1-1 on page 4 and it is provisioned by using the virtualization and automation enablers.
From a cloud user perspective, it is important that you can perform self-service tasks that relate to the cloud service you are using to quickly provision new service instances. Resources that are elastically sized to meet your changing processing demands also are needed.
Having examined the characteristics, understanding the cloud service model is the next stage.
1.1.2 Cloud services models
NIST formally describes a standard for grouping cloud services, referring to them as service models. These service models are sometimes referred to as delivery models because they describe the services that are delivered by the cloud model. The NIST service models are described next.
Infrastructure as a Service
The Infrastructure as a Service (IaaS) model is the simplest for cloud service providers to provision and can include the following elements:
Compute
Storage
Network
Each of these elements is provisioned in an elastic fashion. As an IaaS user, you can deploy and run your chosen software, including operating systems and applications. You do not need to manage or control the underlying cloud infrastructure, but you can control the operating systems, storage, and deployed applications. You might also have limited control over select networking components, such as host firewalls.
Platform as a Service
The Platform as a Service (PaaS) model includes services that are built on IaaS services. They add value to the IaaS services by providing a platform on which the cloud users can provision their own applications, or conduct application development activities. The user does not need to manage the underlying cloud infrastructure (network, storage, operating systems, and so on), but can control configuring the provisioned platform services. The following services are provisioned in PaaS models:
Middleware
Application servers
Database servers
Portal servers
Software as a Service
The Software as a Service (SaaS) model provides software services that are complete applications that are ready to use. The cloud user connects to the application, which is running at a remote location. The user might not know where the system is located.
The cloud service provider is responsible for managing the cloud infrastructure, the system on which the application is running, and the application. This approach eliminates the need for the users to install and run the application on their own computers, which significantly reduces the need for maintenance and support.
SaaS is sometimes referred to as applications as a service because SaaS provides applications as a service rather than only software. SaaS also includes content services (for example, video on demand) and higher value network services (for example, VOIP) than typically encountered in communication service provider scenarios.
A summary of the service models is shown in Figure 1-2.
Figure 1-2 Cloud service models
Cloud delivery models
Cloud delivery models refer to how a cloud solution is used by an organization, where the data is stored, and who operates the cloud solution. Cloud computing supports multiple delivery models that can deliver the needed capabilities in a cloud solution.
The following cloud delivery models are available:
Public cloud
Private cloud
Hybrid cloud
Community cloud
These delivery models provide services that are in line with the service models. You can integrate them with IT systems and other clouds.
Public cloud
A public cloud is a solution in which the cloud infrastructure is available to the general public or a large industry group over the internet. The infrastructure is not owned by the user, but by an organization that provides cloud services. Services can be provided at no cost, as a subscription, or as a pay-as-you-go model.
Private cloud
A private cloud is a solution in which the infrastructure is provisioned for the exclusive use of a single organization. The organization often acts as a cloud service provider to internal business units that obtain all of the benefits of a cloud without having to provision their own infrastructure. By consolidating and centralizing services into a cloud, the organization benefits from centralized service management and economies of scale.
A private cloud provides an organization with some advantages over a public cloud. The organization gains greater control over the resources that make up the cloud. In addition, private clouds are ideal when the type of work that is being done is not practical for a public cloud because of network latency, security, or regulatory concerns.
A private cloud can be owned, managed, and operated by the organization, a third party, or a combination of the two. The private cloud infrastructure is provisioned on the organization’s premises, but it can also be hosted in a data center that is owned by a third party.
Hybrid cloud
As the name implies, a hybrid cloud is a combination of various cloud types (public, private, and community). Each cloud in the hybrid mix remains a unique entity, but is bound to the mix by technology that enables data and application portability.
The hybrid approach allows a business to use the scalability and cost-effectiveness of a public cloud without making available applications and data beyond the corporate intranet. A well-constructed hybrid cloud can service secure, mission-critical processes, such as receiving customer payments (a private cloud service) and secondary processes, such as employee payroll processing (a public cloud service).
Community cloud
A community cloud shares the cloud infrastructure across several organizations in support of a specific community that includes common concerns (for example, mission, security requirements, policy, and compliance considerations). The primary goal of a community cloud is to have participating organizations realize the benefits of a public cloud, such as shared infrastructure costs and a pay-as-you-go billing structure, with the added level of privacy, security, and policy compliance that is associated with a private cloud.
The community cloud infrastructure can be provided on-premises or at a third party’s data center. It can be managed by the participating organizations or a third party. A summary of the delivery models is shown in Figure 1-3.
Figure 1-3 Cloud delivery models
1.1.3 Two types of cloud
Thus far in this publication, we focused on environments. Environments hold data that must be stored. Consider that there are two types of cloud services. The first is similar to provisioning environments; the second type is primarily concerned with data storage and how that data can be managed. Figure 1-4 shows the two types of cloud.
Figure 1-4 Two types of cloud
The compute cloud provides all of the necessary components to run the applications. The storage cloud holds the data and caters for functions, such as backing up and archiving data.
You might consider cloud storage to be another service and hence consider it as Storage as a Service, and as a service it must be treated with the considerations and governance of other cloud services.
In a traditional z/OS environment, many tasks to support the development and support of business applications and the infrastructure require expertise that is in disparate teams. It is a joint effort that requires the skills of different areas to be focused on a common deliverable, such as a new project. In this instance, the skill factor can be high for each task, but the use of well-defined local standards suggests that the tasks are repetitive (with different values passing through them, such as IP addresses). Therefore, it is likely each of the areas feature their own process to deliver their own part of the project. The following primary questions are important:
How many of the tasks can be delivered as a cloud service?
Where is the data stored for all aspects of a project including its implementation?
In this instance, you might regard the provisioners as the systems programmers, security administrators, and other infrastructure support roles. The users might be the application development project leader, programmers, testers, or someone from the business. They might even be a member of the infrastructure support.
Table 1-1 Cloud Storage questions
Provisioner
Users
Are there enough storage devices to accommodate data storage requirements?
How can I avoid delays i waiting for data to be provisioned?
How can multiple copies of the data be available?
Can I create data as I need it without having to worry about where it is?
What are the criteria for data to be stored on local disks or in the cloud?
Can I access the data in the cloud directly?
What is the format of the data in the cloud?
Must data be staged back from the cloud before I can process it?
How do we know where the data is after it is moved into a cloud?
Could parts of the data be accessed directly in the cloud in a cross-platform application?
Is the data in the cloud backed up? If so, how do I find the backup copies?
What is the retrieval time for data from the cloud?
Is performance an issue with data in the cloud?
What is the comparative storage costs for a project through different phases between onsite or cloud hosted?
How is the data in the cloud protected?
Who provides support if I need it?
What is the granularity of protection for data in the cloud?
How do we organize the development, testing, implementation, and operational roles and responsibilities for storing data?
How can I find out what data is being held in the cloud?
What happens if I need more storage? Are there issues with vendor contracts? What do I need to be aware of?
Cloud storage is accessed remotely by using the network. Is there sufficient bandwidth to cater for storing and retrieving the data in the cloud?
Are the network costs relating to bandwidth to be charged to my project? In the case of post implementation, will this be charged to the line of business?
Is there audit functionality included in a cloud service that is of the same quality as onsite audit procedures?
What happens if we lose the data?
You might have many more questions to add to this table. The answers to the questions in this table vary from person to person. The aim of asking these questions is to explore whether the storage provisioning falls into a cloud service because of the characteristics and enablements of the provisioning.
An application development project’s lifecycle can be much more than a single development and single test environment; more environments are added. These environments might include the same requests as the requests that are shown Figure 1-5, depending on local policies and the scope of project.
Figure 1-5 Potential environments for an application project
Consider again the questions that are listed in Table 1-1 on page 9 for each of the environments that are shown in Figure 1-5. When the lifecycle expands, so too does the amount of effort and skills that are needed to produce data for each environment. As the project progresses through the lifecycle, more people become involved, each with a varying degree of understanding and responsibility.
The people that are involved in building the environments work for different teams within the IT department; therefore, separate work requests are generated, approved, completed, recorded, signed off, and accounted for (such as time sheets and charging).
An effective cloud service can help reduce the level of activities and complexities through the characteristics and enablement factors.
 

1 For more information, see The NIST Definition of Cloud Computing.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.19.242.46