Friday, 27 November 2015

UNIT 2 LECTURE 2

CLOUD INTEROPERABILITY AND STANDARD

Introduction
Cloud computing is rapidly growing in importance for many organizations, with ongoing take-up of a wide range of cloud services and the transition of both data and applications to cloud computing environments. The topics of interoperability and portability are significant considerations in relation to the use of cloud services, but there is also confusion and misunderstanding of exactly what this entails. The aim of this section is to provide a clear definition of interoperability and of portability and how these relate to various aspects of cloud computing and to cloud services.

Interoperability & Portability Overview
The cloud ecosystem is large, with many providers offering a wide variety of cloud services. Understanding the portability and interoperability “of what” is the necessary first step of planning and designing for the use of any cloud service. Clarifying the specific interoperability and portability concerns accelerates identification of the “best fit” options and potential development of solutions.

This section provides an overview of the topics of interoperability and portability which is useful in understanding the more detailed descriptions contained in the scenarios and subsequent sections.

Basic Definition of Interoperability
Broadly speaking, interoperability can be defined as a measure of the degree to which diverse systems or components can work together successfully.

More formally, IEEE and ISO define interoperability as the ability for two or more systems or applications to exchange information and mutually use the information that has been exchanged.

To be more concrete, in the context of cloud computing, interoperability should be viewed as the capability of public clouds, private clouds, and other diverse systems within the enterprise to understand each other’s application and service interfaces, configuration, forms of authentication and authorization, data formats etc. in order to cooperate and interoperate with each other.

In cloud computing, the most significant interacting components are those which belong to the cloud service customer which interact with components of the cloud service provider. The nature of the interaction is a network connection using a prescribed interface or API. There are typically multiple separate interfaces, each dealing with a different aspect of the cloud service. For example, there are the functional interfaces of the cloud service itself, authentication and authorization interfaces, interfaces for administration of the cloud services, and business interfaces for billing and invoicing. The ideal of interoperability is that the interfaces are standardized in some way – i.e. they are interoperable - so that the customer can switch to another cloud service provider with minimal impact on the customer's components.
 
Basic Definition of Portability
Portability is about the ability to move an entity from one system to another so that it is usable on the target system. The main problem caused by the lack of portability is that it may take considerable effort to transform the entity from its format on the source system to the format required by the target system.
Portability is divided into two separate areas: data portability and application portability: 

Cloud data portability is the ability to easily transfer data from one cloud service to another cloud service, without being required to re-enter the data. It is the ease of moving the data that is the essence here. This might be achieved by the source service supplying the data in exactly the format that is accepted by the target service. But even if the formats do not match, the transformation between them may be simple and straightforward to achieve with commonly available tools.

Application portability is the ability to easily transfer an application or application components from one cloud service to a comparable cloud service and run the application in the target cloud service. The ease of moving the application or application components is the key here. The application may require recompiling or relinking for the target cloud service, but it should not be necessary to make significant changes to the application code.


 Standards for Interoperability and Portability
To date, most of the focus for cloud interoperability and portability standards has been at the IaaS layer although activity at the PaaS level is starting to accelerate. In addition, there are several security standards that enable and facilitate cloud computing interoperability even though they are not exclusive to cloud computing. Cloud computing customers should determine the level of support for the following standards by prospective cloud service providers. Lack of support for these standards is likely to result in interoperability and portability challenges down the road.

·   Open Virtualization Format (OVF). A packaging standard developed by the Distributed Management Task Force (DMTF) that is designed to address the portability and deployment of virtual machines.
·         Cloud Data Management Interface (CDMI). A standard defined by the Storage Networking Industry Association (SNIA) that defines the functional interface that applications will use to create, retrieve, update and delete data elements from the cloud.
·         Open Cloud Computing Interface (OCCI). A set of open specifications delivered through the Open Grid Forum that defines a protocol and API for all kinds of cloud computing management tasks.
·         Topology and Orchestration Specification for Cloud Applications (TOSCA). A standard developed by OASIS that enables the interoperable description of application and infrastructure cloud services, the relationships between parts of the service, and the operational behavior of these services (e.g., deploy, patch, shutdown).
·         Cloud Application Management for Platforms (CAMP) . A standard developed by OASIS that defines an interoperable protocol that cloud implementers can use to package and deploy their applications.
·         Cloud Auditing Data Federation (CADF). A standards developed by DMTF that defines open standards for cloud auditing.
·         LDAP, OAuth, OpenID Connect and SAML. Standards that enable third party ID and Access Management functionality.
·         US FIPS 140-2. Standard that specifies the security requirements to be satisfied by a cryptographic module utilized within a security system protecting sensitive information.

In addition to standards, there are a number of open source projects that are having a positive impact on cloud computing interoperability and portability. Open source projects that have an open governance model (i.e. not controlled by a single company) and attract a broad supporting ecosystem are the best candidates for creating de facto standards. In the IaaS space, OpenStack is an example of an open source project that is building significant industry momentum. Open source projects for PaaS are emerging. Examples of PaaS open source projects that are starting to build significant industry support include Cloud Foundry, Heroku, OpenShift and Docker.

SCALABILITY & FAULT TOLERANCE
The ability to scale on demand constitutes one of the most attractive features of cloud computing. Clouds allow scaling beyond the limits of the existing in-house IT resources, whether they are Infrastructure (compute and storage) or applications services. To implement such a capability, the cloud middle ware has to be designed with the principle of scalability along different dimensions in mind—for example, performance, size, and load. The cloud middleware manages a huge number of resource and users, which rely on the cloud to obtain the horse power that they cannot obtain within the premises without bearing considerable administrative and maintenance costs. These costs are a reality for whoever develops, manages, and maintains the cloud middleware and offers the service to customers.
In this scenario, the ability to tolerate failure becomes fundamental, sometimes even more important than providing an extremely efficient and optimized system. Hence, the challenge in this case is designing highly scalable and fault-tolerant systems that are easy to manage and at the same time provide competitive performance.

UNIT 2




Unit-II
Cloud Computing Architecture: Cloud Reference Model, Types of Clouds, Cloud Interoperability & Standards, Scalability and Fault Tolerance.
Cloud Solutions: Cloud Ecosystem, Cloud Business Process Management, Cloud Service Management.

Cloud Offerings: Cloud Analytics, Testing Under Control, Virtual Desktop Infrastructure.







TYPES OF CLOUDS

Following are the Deployment models of cloud computing
  1. ·         Public Clouds
  2. ·         Private Clouds
  3. ·         Hybrid Clouds
  4. ·         Community Clouds

      PUBLIC CLOUDS

Public clouds are made available to the general public by a service provider who hosts the cloud infrastructure. Generally, public cloud providers like Amazon AWS, Microsoft and Google own and operate the infrastructure and offer access over the Internet. With this model, customers have no visibility or control over where the infrastructure is located. It is important to note that all customers on public clouds share the same infrastructure pool with limited configuration, security protections and availability variances.

                          The cloud infrastructure is provisioned for open use by the general public. It may be             owned, managed, and operated by a business, academic, or government organization, or some                  combination of them. It exists on the premises of the cloud provider.

Public Cloud customers benefit from economies of scale, because infrastructure costs are spread across all users, allowing each individual client to operate on a low-cost, “pay-as-you-go” model. Another advantage of public cloud infrastructures is that they are typically larger in scale than an in-house enterprise cloud, which provides clients with seamless, on-demand scalability. These clouds offer the greatest level of efficiency in shared resources; however, they are also more vulnerable than private clouds.

PRIVATE CLOUDS
Private cloud is cloud infrastructure dedicated to a particular organization. Private clouds allow businesses to host applications in the cloud, while addressing concerns regarding data security and control, which is often lacking in a public cloud environment.  It is not shared with other organizations, whether managed internally or by a third-party, and it can be hosted internally or externally.
“The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises. ”          
                                         
There are two variations of private clouds:
  1. On-Premise Private Cloud: This type of cloud is hosted within an organization’s own facility. A businesses IT department would incur the capital and operational costs for the physical resources with this model. On-Premise Private Clouds are best used for applications that require complete control and configurability of the infrastructure and security.
  2. Externally Hosted Private Cloud:  Externally hosted private clouds are also exclusively used by one organization, but are hosted by a third party specializing in cloud infrastructure. The service provider facilitates an exclusive cloud environment with full guarantee of privacy. This format is recommended for organizations that prefer not to use a public cloud infrastructure due to the risks associated with the sharing of physical resources.
Undertaking a private cloud project requires a significant level and degree of engagement to virtualize the business environment, and it will require the organization to re-evaluate decisions about existing resources. Private clouds are more expensive but also more secure when compared to public clouds. An Info-Tech survey shows that 76% of IT decision-makers will focus exclusively on the private cloud, as these clouds offer the greatest level of security and control.

When is a Private Cloud for you?
·         You need data sovereignty but want cloud efficiencies
·         You want consistency across services
·         You have more server capacity than your organization can use
·         Your data center must become more efficient
·         You want to provide private cloud services


COMMUNITY CLOUD
A community cloud is a is a multi-tenant cloud service model that is shared among several or organizations and that is governed, managed and secured commonly by all the participating organizations or a third party managed service provider.

Community clouds are a hybrid form of private clouds built and operated specifically for a targeted group. These communities have similar cloud requirements and their ultimate goal is to work together to achieve their business objectives.

The goal of community clouds is to have participating organizations realize the benefits of a public cloud with the added level of privacy, security, and policy compliance usually associated with a private cloud. Community clouds can be either on-premise or off-premise.

Here are a couple of situations where a community cloud environment is best:
·         Government organizations within a state that need to share resources
·         A private HIPAA compliant cloud for a group of hospitals or clinics
·         Telco community cloud for Telco DR to meet specific FCC regulations

Cloud computing is about shared IT infrastructure or the outsourcing of a company’s technology.  It is essential to examine your current IT infrastructure, usage and needs to determine which type of cloud computing can help you best achieve your goals.  Simply, the cloud is not one concrete term, but rather a metaphor for a global network and how to best utilize its advantages depends on your individual cloud focus.
The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.


HYBRID CLOUD
Hybrid Clouds are a composition of two or more clouds (private, community or public) that remain unique entities but are bound together offering the advantages of multiple deployment models. In a hybrid cloud, you can leverage third party cloud providers in either a full or partial manner; increasing the flexibility of computing. Augmenting a traditional private cloud with the resources of a public cloud can be used to manage any unexpected surges in workload.

Hybrid cloud architecture requires both on-premise resources and off-site server based cloud infrastructure. By spreading things out over a hybrid cloud, you keep each aspect of your business in the most efficient environment possible. The downside is that you have to keep track of multiple cloud security platforms and ensure that all aspects of your business can communicate with each other.
Here are a couple of situations where a hybrid environment is best:
·         Your company wants to use a SaaS application but is concerned about security.
·       Your company offers services that are tailored for different vertical markets. You can use a public cloud to interact with the clients but keep their data secured within a private cloud.
·      You can provide public cloud to your customers while using a private cloud for internal IT.
The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).