jntuabookblog.files.wordpress.com file · web viewinternet technologies (web services,...

44
Cloud Computing UNIT –II Foundations Introduction to Cloud Computing, Migrating into a Cloud, Enriching the ‘Integration as a Service’ Paradigm for the Cloud Era, The Enterprise Cloud Computing Paradigm. 1. Foundation 1.1 INTRODUCTION TO CLOUD COMPUTING 1.1.1 Cloud Computing In a Nutshell Computing itself, to be considered fully virtualized, must allow computers to be built from distributed components such as processing, storage, data, and software resources. Electricity virtualized; that is it is readily available from a wall socket that hides power generation stations and a huge distribution grid. When extended to information technologies, this concept means delivering useful functions while hiding how their internals work. Technologies such as Cluster ,Grid, now Cloud computing have all aimed at allowing access to large amount of computing power in fully virtualized manner, by aggregating resources and offering a single system view. Utility computing describes a business model for on-demand delivery of computing power based on usage (“pay-as-you- go”); Ex- water, Electricity, gas and telephony. Cloud computing has been coined as an umbrella term to describe a category of sophisticated on-demand computing

Upload: dinhnhi

Post on 29-Aug-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Cloud Computing

UNIT –II

Foundations

Introduction to Cloud Computing, Migrating into a Cloud, Enriching the ‘Integration as a Service’ Paradigm for the Cloud Era, The Enterprise Cloud Computing Paradigm.

1. Foundation

1.1 INTRODUCTION TO CLOUD COMPUTING

1.1.1 Cloud Computing In a Nutshell

Computing itself, to be considered fully virtualized, must allow computers to be built from distributed components such as processing, storage, data, and software resources.

Electricity virtualized; that is it is readily available from a wall socket that hides power generation stations and a huge distribution grid.

When extended to information technologies, this concept means delivering useful functions while hiding how their internals work.

Technologies such as Cluster ,Grid, now Cloud computing have all aimed at allowing access to large amount of computing power in fully virtualized manner, by aggregating resources and offering a single system view.

Utility computing describes a business model for on-demand delivery of computing power based on usage (“pay-as-you-go”); Ex- water, Electricity, gas and telephony.

Cloud computing has been coined as an umbrella term to describe a category of sophisticated on-demand computing services initially offered by commercial providers, such as Amazon, Google, and Microsoft.

Cloud Computing denotes a model on which a computing infrastructure is viewed as a “cloud”, from which businesses and individuals access applications from anywhere in the world on demand.

Note: - Main Principle – computing, storage and software “as a service”

Cloud computing means?

Buyya el al - “Cloud is a parallel and distributed computing system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and

Page 2: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

presented as one or more unified computing resources based on service-level agreements(SLA) established through negotiation between the service provider and consumers.”.

Vaquero el al – “Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization.This pool of resources is typically exploited by a pay-per-user model in which guarantees are offered by the infrastructure provider by means of customized Service Level Agreements.”

McKinsey and Co. – “Clouds are hardware-based services offering compute, network, and storage capacity where: Hardware management is highly abstracted from the buyer, buyers incur infrastructure costs as variable OPEX, and infrastructure capacity is highly elastic.

Cloud Characteristics:- (based on University of California Berkeley)

1) The illusion of infinite computing resources2) The elimination of an up-front commitment by cloud users3) The ability to pay for use… as needed…

Cloud Computing Characteristics: (Based on National Institute of Standards and Technology)

“…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.”

Armbrust el al generic definition – “data center hardware and software that provide services”.

Sotomayor et al – “cloud” is more often used to refer to the IT infrastructure deployed on an Infrastructure as a Service provider data center.

Common Characteristics:

i) Pay-per-useii) Elastic capacity and the illusion of infinite resourcesiii) Self-Service interfaceiv) Resources those are abstracted or virtualized.

1.1.2 ROOTS OF CLOUD COMPUTING

Hardware(virtualization, multi-core chips) Internet technologies (Web services, service-oriented architectures, Web 2.0)

Page 3: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Distributed Computing (clusters, grids) System Management (Autonomic computing, data center automation)

1.1.2.1 From Mainframes to Clouds

We are currently experiencing a switch in the IT world, from in-house generated computing power into utility-supplied computing resources delivered over the Internet as Web Services.

Century ago when, factories, which used to generate their own electric power, realized that it was cheaper just plugging their machines into the newly formed electric power grid.

Page 4: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Computing delivered as a utility can be defined as “on demand delivery of infrastructure, applications, and business processes in a security-rich, shared, scalable, and based computer environment over the Internet for a fee”.

This model benefit for Consumers and providers of IT Services. “On-Demand” – component of this model allows consumers to adapt their IT usage to rapidly increasing.Providers of IT services achieve better operational costs; Hardware and software infrastructures are built to provide multiple solutions and serve many users, thus increasing efficiency and ultimately leading to faster return on investment (ROI) as well as lower total cost of ownership (TCO).

1970 – Common data processing tasks, such as payroll automation, operated time-shared mainframes as utilities.Mainframes had to operate at very high utilization rates simply because they were very expensive and costs should be justified by efficient usage.The mainframe era collapsed with the advent of fast and inexpensive microprocessors and IT data centers moved to collections of commodity servers. Apart from its clear advantages, this new model inevitably led to isolation of workload into dedicated servers, mainly due to incompatibilities between software stacks and operating systems.Unavailability of efficient computer networks meant that IT infrastructure should be hosted in proximity to where it would be consumed. Altogether, these facts have prevented the utility computing reality of taking place on modern computer systems.

Similar to old electricity generation stations, which used to power individual factories, computing servers and desktop computers in a modern organization are often underutilized, since IT infrastructure is configured to handle theoretical demand peaks.

Early stages of electricity generation, electric current could not travel long distances without significant voltage losses.

So, New Paradigms emerged culminating on transmission systems able to make electricity available hundreds of kilometers far off from where it is generated.Likewise, the advent of increasingly fast fiber-optics networks has relit the fire, and new technologies for enabling sharing of computing power over great distances have appeared.

Page 5: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

These facts reveal the potential of delivering computing services with the speed and reliability that businesses enjoy with their local machines. The benefits of economies of scale and high utilization allow providers to offer computing services for a fraction of what it costs for a typical company that generates its own computing power.

1.1.2.2 SOA, Web Services, Web 2.0, and MashupsWeb services can glue together applications running of different messaging product

platforms, enabling information from one application to be made available to others, and enabling internal applications to be made available over the Internet.

WS software stack Standards - a multitude of technologies to describe, compose, and orchestrate services, package and transport messages between services, publish and discover services, represent quality of service (QoS) parameters, and ensure security access.

WS standards have been created on top of existing ubiquitous technologies such as HTTP and XML, thus providing a common mechanism for delivering services, making them ideal for implementing a service-oriented architecture (SOA).SOA Purpose:

To address requirements of loosely coupled. Standards-based. Protocol-independent distributed computing.

In a SOA, software resources are packaged as “services”, which are well-defined, self-contained modules that provide standard business functionality and are independent of the state or context of other services.

An enterprise application that follows that SOA paradigm is a collection of services that together perform complex business logic.

Service mashups :-In the Consumer Web, information and services may be programmatically

aggregated, acting as building blocks of complex compositions, called “service mashups”.SaaS domain, cloud applications can be built as compositions of other services from the same of different providers.building blocks Examples:

Services such user authentication, e-mail, payroll management, and calendars are examples of building blocks that can be reused and combined in a business solution in case a single, ready-made system does not provide all those features.Example: Programmable Web is a public repository of service APIs and mashups currently listing thousands of APIs and mashups.

Page 6: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Popular APIs:- Google Maps, Flickr, YouTube, Amazon eCommerce, and Twitter, when combined, produce a variety of interesting solutions, from dividing video game retailers to weather maps.Example: - Salesforce.com’s offers AppExchage, which enables the sharing of solutions developed by third-party developers on top of Salesforce.com components.

1.1.2.3 Grid ComputingGrid computing enables aggregation of distributed resources and transparently access to them.What are the production grids are there?

TeraGrid and EGEEAim is to seek to share compute and storage resources distributed across different administrative domains. Main focus:- being speeding up a broad range of scientific applications, such as climate modeling, drug design, and protein analysis.

Key aspect of Grid Computing:Vision realization has been building standard Web services-based protocols that

allow distributed resources to be “discovered, accessed, allocated, monitored, accounted for, and billed for, etc., and in general managed as a single virtual system.

1.1.2.4 Utility Computing

Drawback in Grid Computing :

Excessive spikes in demand for resources coupled with strategic and adversarial behavior by users.

At Initial stage grid resource management techniques did not ensure fair and equitable access to resources in many systems.

Traditional metrics failed to capture the more subtle requirements of users. No real incentives for users to be flexible about job deadlines.

Utility Computing:

Users assign a “utility” value to their jobs, where utility is a fixed that captures various QoS constraints (deadline, importance, satisfaction).

Note: Valuation is the amount they are willing to pay a service provider to satisfy their demands.

Page 7: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.1.2.5 Hardware Virtualization

Hardware virtualization allows running multiple operating systems and software stacks on a single physical platform.Fig 1.2, a software layer, the virtual machine monitor (VMM), also called a hypervisor.Hypervisor mediates access to the physical hardware presenting to each guest operating system a virtual machine (VM).

Management of workload in a virtualized system: Isolation

o One VM should not affect the performance of another VM. Consolidation

o Run Legacy and new operation systems concurrently. Migration

o Facilitates hardware maintenance, load balancing and disaster recovery.

The VMM platforms are: VMWare, Xen and KVM

VMWare ESXi:

1. VMWare is a pioneer in the virtualization market.2. ESXi is a VMM from VMWare. It is a bare-metal hypervisor.

Page 8: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

3. Install on the physical server, whereas others may require a host OS.

Xen:

1. Xen hypervisor started as an open-source project.2. It served as both commercial and open-source.3. It has pioneered the Para-virtualization concept.4. Commercial hypervisor vendors are: Citrix XenServer and Oracle VM.

KVM:

1. Kernel-based virtual machine (KVM) is a Linux virtualization subsystem.

2. KVM is simpler and smaller than hypervisors

3. KVM leverages hardware-assisted virtualization

4. It supports several versions of Windows, Linux and UNIX

1.1.2.6 Virtual Appliances and the Open Virtualization Format

Virtual Appliance: - It Combined OS, libraries, compilers, databases, application containers, and so forth.

Packaging application environments in the shape of virtual appliances eases software customization, configuration, and patching and improves portability.

VMWare virtual appliance marketplace allows users to deploy appliances on VMWare hypervisors or on partners public clouds and Amazon allows developers to share specialized Amazon Machine Images (AMI) and monetize their usage on Amazon EC2.

Interoperability Problem: VM image format and the formats are incompatible one another.So, Several Vendors, including VMware, IBM,Citrix,Cisco,Microsoft,Dell and HP, have devised the Open Virtualization Format (OVF).OVF AIM: Open, secure, portable, efficient and extensible.

What OVF Consists?

It consist file, or set of files, describing the VM hardware characteristics (e.g., memory, network cards, and disks), OS details, startup, and shutdown actions, the virtual disks themselves, and other metadata containing product and licensing information.

Page 9: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

OVF also supports complex packages composed of multiple VM’s(e.g., multi-tier applications).What is VMC?

Mathews et al have devised VMC( Virtual Machine Contracts) is an Extension to OVF.VMC aids in communicating and managing the complex expectations that VMs have of their runtime environment and vice versa.

Example:- VMC is when a cloud consumer wants to specify minimum and maximum amounts of a resource that a VM needs to function; similarly the cloud express resource limits as a way to bound resource consumption and costs.

1.1.2.7 Autonomic ComputingTo decreasing human involvement in their increasing complex computing system operation or system should manage themselves.IBM’s Autonomic Computing properties:

Self-configurationSelf-optimizationSelf-healingSelf-protection

What is MAPE-K?IBM reference model for autonomic control loops for autonomic managers, called MAPE-K(Monitor Analyze Plan Execute – Knowledge).

1.1.3 Layers and Types of Clouds

Cloud Computing Services are divided into three classesi. Infrastructure as a Serviceii. Platform as a Serviceiii. Software as a Service

Page 10: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.1.3.1 Infrastructure as a Service

Offering virtualized resources (computation, storage, and communication) on demand is known as Infrastructure as a Service (IaaS)

Who Offers Iaas?

Amazon Web Services(AWS). AWS EC2 service means offering VMs with a software stack that can be customized similar to how an ordinary physical server would be customized.

Iaas Activities:Starting and stoppingInstalling software packageAttaching virtual disks Configuring access permission andFirewalls rules

1.1.3.2 Platform as a ServiceOffering a higher level of abstraction to make a cloud easily programmable, known as Platform as a Service (PaaS).

A Cloud Platform offers an environment on which developers create and deploy applications and do not necessarily need to know how many processors or how much memory that applications will be using.

Page 11: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

In addition, multiple programming models and specialized services ( e.g., data access, authentication, and payments ) are offered as building blocks to new applications.

Who Offers PaaS?Google App Engine(GAE), offers a scalable environment for developing and hosting web applications, which should be written in specific programming languages such as Python or Java, and use the services’ own proprietary structured object data store.GAE Building Blocks:- In-memory object cache (memcache) Mail serviceInstant messaging service (XMPP)Image manipulation serviceIntegration with Google Accounts authentication service

1.1.3.3 Software as a ServiceTop of the cloud stackEnd users can be accessed through Web Portals.Traditional desktop applications such as word processing and spreadsheet can now accessed as a service in the Web. Who Offers Saas?Salesforce.com, offers business productivity applications (CRM) that reside completely on their servers, allowing customers to customize and access applications on demand.

1.1.3.4 Deployment Models

Regardless of its service class, a cloud can be classified as public, private, community or hybrid based on model of deployment as shown in below fig.

Public cloud:- cloud made available in a pay-as-you-go- manner to the general public.

Private cloud :- Internal data center of a business or other organization, not made available to the general public.

Page 12: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Community cloud:- Shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations)

Hybrid cloud:- It takes shape when a private cloud is supplemented with computing capacity from public clouds.The approach of temporarily renting capacity to handle spikes in load is known as “cloud-bursting”.

1.1.4 Desired Features of a Cloud1.1.4.1 Self Service.

On-demand, nearly instant access to resources. To support these expectations clouds must allow self-service access so that customers can request, customize, pay and use services without intervention of human operations.

1.1.4.2 Per-Usage Metering and BillingAllowing them to request and use only the necessary amount.

Page 13: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Metering should be done accordingly for different types of service and usage promptly reported, thus providing greater transparency.

1.1.4.3 ElasticityUsers expect clouds to rapidly provide resources in any quantity at any time.

1.1.4.4 CustomizationInfrastructure services, customizations means allowing users to deploy specialized virtual appliances and to be given privileged (root) access to the virtual servers.

1.1.5 Cloud Infrastructure Management Manage Physical and virtual resources.Software toolkit responsible for this Orchestration is called a virtual infrastructure manager (VIM).Software toolkit are two categories:

1. Cloud toolkit: expose a remote and secure interface for creating, controlling and monitoring virtualize resources.2. Virtual Infrastructure Managers – advanced features such as automatic load balancing and server consolidation, but do not expose remote cloud-like interfaces.

1.1.5.1 Features

Both basic and advanced features those are available in VIM’s.

Virtualization Support: Virtual resources (CPUs, memory, etc.) can be sized and resized with certain flexibility.These features make hardware virtualization, the ideal technology to create a virtual infrastructure that partitions a data center among multiple tenants.

Self-Service, On-Demand Resource Provisioning:

Directly obtain services from cloudsTailoring its software,configurations, and security policies, Without interacting with a human system administrator.This feature eliminates the need for more time-consuming, labor-intensive, human-driven procurement processes familiar to many in IT.

Page 14: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Multiple Backend Hypervisors:

Open-source VI managers – provide pluggable drivers to interact with multiple hypervisors.

Storage Virtualization:

Virtualizing storage means abstracting logical storage from physical storage.All available storage devices in a data center, it allows creating virtual disks independent from device and location.

Interface to Public Clouds:

Can be borrowing resources from public clouds for extending the capacity of local in-house computing infrastructure. Virtual Networking:

Virtual Networks allow creating an isolated network on top of a physical infrastructure independently from physical topology and locations.Dynamic Resource Allocation:

Number of VI managers include a dynamic resource allocation feature that continuously monitors utilization across resource pools and reallocates available resources among VMs according to application needs.

Virtual Clusters:

This feature is useful for provisioning computing Virtual clusters on demand, and interconnected VMs for multi-tier Internet applications.

Reservation and Negotiation Mechanism:

To Support complex requests, such as AR(Advance Reservations), a VI manager must allow users to “lease” resources expressing more complex terms (e.g., the period of tome of a reservation).

Page 15: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

High Availability and Data Recovery:The High Availability (HA) feature of VI managers aims to minimizing application downtime and preventing business disruption.

AppLogic: AppLogic is a commercial VI managerAppLogic provides a fabric to manage clusters of virtualized servers, focusing on managing multi-tier Web applications.AppLogic offers dynamic appliances to add functionality such as Disaster Recovery and Power optimization to applications.negotiated negotiated negotiated

Note: - 3tera AppLogic provides the following features: Linux-based controller; CLI and GUI interfaces; Xen backend; Global volume Store (GVS) storage virtualization; virtual networks; virtual clusters; dynamic resource allocation; high availability; and data protection.

Citrix Essentials:VI Management software Focusing on management and automation of data centersCurrently supporting Citrix XenServer and Microsoft Hyper-V.It facilitates both human and programmatic interaction with the controller.It provides following features:

Windows based controllerGUI,CLI,Web Portal and XML-RPC interfacesSupport for XenServer and Hyper-V hypervisorsCitrix Storage Link Storage virtualization, Virtual networksDynamic resource allocation(i.e., recovery by VM restart, recovery by activating paused duplicate VM, and running duplicate VM continuously).

Enomaly ECP:

It is most complete edition, offers most features a service provider needs to build an IaaS cloud.

ECP Service Provider Edition offers a Web-based customer dashboard that allows users to fully control the life cycle of VMs.

ECP allows providers and users to package and exchange applications.

Page 16: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Features are: Linux based controller,Web portal and Web services (REST) interfaces, Xen back-end; interface to the Amazon EC2 public cloud, virtual networks , virtual clusters (ElasticValet).

Eucalyptus:

One of the First Open-Source Project on building IaaS clouds.

It has been developed with the intent of providing an open-source implementation nearly identical in functionality to Amazon S3 API.

Eucalyptus cloud using the same tools they use to access Amazon EC2.

Amazon S3 API- storing general user data and VM images.

Features are: Linux-based controller with administration Web portal; EC2-compatible (SOAP, Query) and S3 compatible (SOAP,REST) CLI and Web portal interfaces; Xen, KVM, and VMWare backends; Amazon EBS-compatible virtual storage devices; interface to the Amazon EC2 Public cloud; virtual networks;

Nimbus3:

The Numbus toolkit is built on top of the Globus framework.

It provides features in common with other open-source such as an EC2-compatible front-end API, support to Xen and a backend interface to Amazon EC2.

It distinguishes from others by providing a Globus Web Services Resource Framework (WSRF) interface.

It also provides a backend service, named Pilot, which spawns VMs on clusters managed by a local resource manager(LRM) such as PBS and SGE.

Nimbus core was engineered around the Spring framework to be easily extensible, so several internal components to be replaced and also eases the integration with other systems.

Features: Linux-based controller;EC2-compatible (SOAP) and WSRF interfaces; Xen and KVM backend and a Pilot program to spawn VMs through an LRM; interface to the Amazon EC2 public cloud; virtual networks; one-click virtual clusters.

Page 17: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

OpenNebula:

OpenNebula is one of the most feature-rich open-source VI managers.

It manages local virtual infrastructure and also included remote interfaces that make it viable to build public clouds.

Four programming APIs are available:

XML-RPC and libvirt for local interaction.

A subset of EC2 (Query) APIs and the OpenNebula Cloud API(OCA) for public access.

The Core module orchestrates physical servers and their hypervisors, storage nodes, and network fabric.

Management operations are performed through pluggable Drivers, which interact with APIs of hypervisors, storage and network technologies, and public clouds.

The Scheduler module, which is an charge of assigning pending VM requests to physical hosts, offers dynamic resource allocation features.

Administrators can choose between different scheduling objectives such as packing VMs in fewer hosts or keeping the load balanced.

Via integration with the Haizea lease scheduler , OpenNebula also supports advance reservation of capacity and queuing of best-effort leases.

Features:

Linux-based controller; CLI,XML-RPC,EC2-compatible Query and OCA interfaces; Xen, KVM and VMware backend; interface to public clouds (Amazon EC2, ElasticHosts); virtual networks; dynamic resource allocation; advance reservation to capacity;

OpenPEX:

OpenPEX (Open Provisioning and EXecuting Environment) was constructed around the notion of using advance reservations as the primary method for allocating VM instances.

Page 18: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

It distinguishes from other VI managers by its leases negotiation mechanism, which incorporates a bilateral negotiation protocol that allows users and providers to come to an agreement by exchanging offers and counter offers when their original requests canot be satisfied.

Features: Multi-platform (Java) controller; Web portal and Web services (REST) interfaces; Citrix XenServer backend; advance reservation of capacity with negotiation.

oVirt:

oVirt is an open-source VI manager,sponsored by Red Hat’s Emergent Technology group.

It provides most of the basic features of other VI managers,including support for managing physical server pools, storage pools, user accounts, and VMs.

All features are accessible through a Web interface.

The oVirt admin node:- which is also a VM, provides a Web Server, secure authentication services based on freeIPA, and provisioning services to manage VM image and their transfer to the managed nodes.

Each managed node libvirt, which interfaces with the hypservisor.

Features:

Fedora Linus-based controller packaged as a virtual appliance; Web portal interface; KVM backend.

Platform ISF:

Infrastructure Sharing Facility (ISF) is the VI manager offering from Platform Computing.

The company, mainly through its LSF family of products, has been serving the HPC market for several years.

ISF’s architecture is divided into three layers.

The top most Service Delivery layer includes the user interfaces (i.e., self-service portal and APIs); the Allocation Engine provides reservation and allocation policies; and the bottom layer-Resource Integrations – provides

Page 19: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

adapters to interact with hypervisors, provisioning tools, and other systems (i.e., external public clouds).

The Allocation Engine also provides policies to address several objectives, such as minimizing energy consumption, reducing impact of failures, and maximizing application performance.

ISF is built upon Platform’s VM Orchestrator, which , as a standalone, product, aims at speeding up delivery of VMs to end users. It also provides high availablility by restarting VMs when hosts fail and duplicating the VM that hosts the VMO controller.

ISF Provides features:

Linux-based controller packaged as a virtual appliances; Web portal interface; dynamic resource allocation; advance reservation of capacity; high availability.

VMWare vSphere and vCloud:

For transforming IT infrastructures into private clouds.

vSphere architecture: servers run on the ESXi platform.

A separate server runs vCenter Server,Which control over the entire virtual infrastructure.

vSphere Client software, administrators connect to vCenter Server to perform various tasks.

Distributed Resource Scheduler( DRS) makes allocation decisions based on predefined rules and policies.

DRS continuously monitors the amount of resources available to VMs and, if necessary, makes allocation changes to meet VM requirements.

In the storage virtualization realm, vStorage VMFS is a cluster file system to provide aggregate several disks, in a single volume.

VMFS is especially optimized to store VM images and virtual disks.

It supports storage equipment that use Fibre Channel or iSCSI SAN.

vSphere is a private administration suite,in basic setup.

Page 20: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

vSphere can be used by service providers to build public clouds.

vSphere interfaces with the vCloud API, thus enabling cloud-bursting into external clouds.

vSphere provides features:

Windows-based controller (vCenter Server);

CLI, GUI, Web portal, and Web Services interface;

VMware ESX, ESXi backend;

VMware vStorage VMFS storage virtualization;

Interface to external clouds (VMware vCloud partners);

Virtual networks (VMWare Distributed Switch);

Dynamic resource allocation (VMware DRM);

High availability;

Data protection (VMWare Consolidated Backup).

1.1.6 Infrastructure as a Service Providers

Public Infrastructure as a Service providers commonly offer virtual servers containing one or more CPUs, running several choices of operating systems and a customized software stack. In addition, storage space and communication facilities are often provided.

1.1.6.1 FeaturesGeographic PresenceTo improve availability and responsiveness, a provider of worldwide services would typically build several data centers distributed.Ex:- Amazon Web Services presents the concept of “availability zones” and “regions” for its EC2 service.

User Interfaces and Access to ServersDifferent types of user interfaces (UI) provide different levels of abstraction, the most common being graphical user interfaces(GUI),command line tools(CLI), and Web Service(WS) APIs.Advance Reservation of Capacity

Page 21: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Allow users to reserve resources for a specific time frame in the future, thus ensuring that cloud resources will be available at that time.Note: - Only long periods of 1 to 3 years are offered; therefore , users cannot express their reservations in finer granularities- ex:- hours or days.Automatic Scaling and Load BalancingIt allow users to set conditions for when they want their applications to scale up and down, based on application-specific metrics such as transactions per second, number of simultaneous users, request latency, and so forth.Service-Level AgreementIaas providers to express their commitment to delivery of a certain QoS.

Additionally, metrics must be agreed upon by all parties as well as penalties for violating these expectations.Ex:- Amazon EC2 states that “if the annual uptime percentage for a customer drops below 99.95% for the service year, that customer is eligible to receive a service credit equal to 10% of their bill”.

Hypervisor and Operating System ChoiceIaaS providers needed expertise in Linux, networking, virtualization,

metering, resource management, and many other low-level aspects to successfully deploy and maintain their cloud offerings.

Recently, there has been an emergence of turnkey IaaS platforms such as VMWare vCloud and Citrix Cloud Center(C3) which have lowered the barrier of entry for IaaS competitors, leading to a rapid expansion in the IaaS marketplace.

1.1.6.2 Case StudiesWe describe the main features of the most popular public IaaS clouds.

Amazon Web ServicesIt’s pioneered services of IaaS Cloud.Services are:S3(Storage)EC2(Virtual Servers)SimpleDB(structured Datastore)RDS(Relational Database)SQS(reliable messaging)Elasitc MapReduce(data processing)

Flexiscale:

Page 22: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

It is a UK-based provider offering services similar to Amazon Web Services.Its virtual servers offer some distinct features:Persistent storage by defaultFixed IP addressesDedicated VLANWider range of server sizesRuntime adjustment of CPU capacity.

Joyent:Solaris containers virtualization technology.It includes by default a Web-based configuration tool and several pre-installed software, such as Apache, MySQL, PHP, Ruby on Rails and Java.Automatic vertical scaling of CPU cores.

GoGrid:It offers “value-added” stacks on top for applications such as high-volume Web serving, e-Commerce, and database stores.Hybrid hostingDedicated hosting Free hardware load balancingAuto-scaling Persistent storage

Rackspace Cloud Servers:It provides fixed size instances in the cloud.It offers a range of Linux-based pre-made images.It also offers hybrid approachIt enables fixed (static) IP addressesPersistent storageLoad balancing at No additional cost.

1.1.7 Platform as a Service ProvidersPublic Platform as a Service providers commonly offer a development and deployment environment that allow users to create and run their applications with little or no concern to low-level details of the platform.

1.1.7.1 FeaturesProgramming Models, Language, and Frameworks:Programming Model aim is effectively solving a particular program.Models are:

MapReduce Model,Workflow ModelLanguages:

For user convenience

Page 23: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Python and Java (e.g., Google App Engine).net language (e.g., Microsoft Azure)Ruby (e.g., Heroku)

Frameworks:

Providers that focus on Web and enterprise application hosting offer polular frameworks.such as Ruby on Rails, Spring, Java EE and .Net.

Persistence Options:

A Persistence layer is essential to allow applications to record their state and recover it in case of crashes, as well as to store user data.

Web and Enterprise application developers have chosen Relational Databases as the preferred persistence method.

Drawback of Databases: Lack of Scalability to handle several petabytes of data storage.

Cloud computing domain, distributed storage technologies robust and highly scalable.

Example: Amazon SimpleDB and Google App Engine datastore offer schema less, automatically indexed database services.

Data Queries can be performed only on individual tables; No join operations for the sake of scalability.

1.1.7.2 Case StudiesAneka:

It is a .NET-based service-oriented resource management and development platform.

Aneka container provides the base infrastructure that consists of services for: Persistence, security and communication.

Cloud Nodes can be either physical server, virtual machines.

Aneka container can also host any number of optional services.

Aneka container provide a single, extensible framework for orchestrating various application models.

Page 24: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Several programming models are supported by such task models to enable execution of legacy HPC applications and MapReduce, which enables a variety of data-mining and search applications.

User request resources via a client to a reservation services manager of the Aneka master node, which manages all cloud nodes and contains scheduling service to distribute request to cloud nodes.

App Engine:

Google App Engine(GAP) – Python and Java Web Application

GAP allows your applications to scale dynamically as your traffic and data storage requirements increase or decreases.

It allows real-time auto-scaling without virtualization for many common types of Web applications.

Some instances you need to use specific Google APIs.

Example:

Deployed App Engine application cannot write to the file system directly (You must use the Google Datastore) or

Open a socket or access another host directly (you must use Google URL fetch service).

Microsoft Azure: also called Windows Azure

Microsoft Azure Cloud Services offers developers a hosted NET Stack (C#,VB.NET,ASP.NET).

Java & ruby SDK for .NET Services is also available.

Windows Azure Fabric Controller provides auto-scaling and reliability.

It also manages memory resources and load balancing.

The .NET Access control identity providers include enterprise directories and Windows LiveID.

.Net Workflow allows construction and execution of workflow instances.

Force.com:

Page 25: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Force.com PaaS allows developers to create add-on functionality that integrates into main Salesforce CRM SaaS application.

Force.com offers developers two approaches:

1) A Hosted Apex: It is a proprietary Java-like language that can be used to create Salesforce applications.

2) Visualforce: It is an XML-like syntax for building UIs in HTML, AJAX applications.

An application store called AppExchange is offers paid and free application directory.

Heroku:

Heroku is a platform for instant deployment of Ruby on Rails Web applications.

In the Heroku system, servers are invisibly managed by the platform and are never exposed to users.

Applications are automatically dispersed across different CPU cores and servers, maximizing performance and minimizing contention.

Heroku has an advanced logic layer than can automatically route around failures, ensuring seamless and uninterrupted service at all times.

1.1.8 Challenges and RisksProviders, developers, and end users must consider these challenges and risks to take good advantage of cloud computing.Issues to be faced include user privacy, data security, data lock-in, and availability of service, disaster recovery, performance, scalability, energy-efficiency, and programmability.

1.1.8.1 Security, Privacy and Trust

Ambrust et al. cite information security as a main issue: “current cloud offerings are essentially public… exposing the system to more attacks.”

For this reason there are potentially additional challenges to make cloud computing environments as secure as in-house IT systems.

Page 26: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

At the same time, existing, well understood technologies can be leverages, such as data encryption, VLANs, and firewalls.Security and privacy affect the entire cloud computing stack, since there is a massive use of third-party services and infrastructures that are used to host important data or to perform critical operations.In this scenario, the trust toward providers is fundamental to ensure the desired level of privacy for applications hosted in the cloud.Legal and regulatory issues also need attention.When data are moved into the cloud, providers may choose to locate them anywhere on the planet.The physical location of data centers determines the set of laws that can be applied to the management of data.For example, specific cryptography techniques could not be used because they are not allowed in some countries.Similarly, country laws can impose that sensitive data, such as patient health records, are to be stored within national borders.

1.1.8.2 Data Lock-In and StandardizationUsers may want to move data and applications out from a provider that does not meet their requirements.However, in their current form, cloud computing infrastructures and platforms do not employ standard methods of storing user data and applications. Consequently, they do not interoperate and user data are not portable.

So answer for this concern is standardization. There are efforts to create open standards for cloud computing.The cloud computing Interoperability forum (CCIF) was formed by organizations such as Intel, sun, and cisco in order to “enable a global cloud computing ecosystem whereby organizations are able to seamlessly work together for the purposes for wider industry adoption of cloud computing technology.”The development of the Unified cloud Interface (UGI) by CCIF aims at creating a standard programmatic point of access to an entire cloud infrastructure.In the hardware virtualization sphere, the Open virtual Format (OVF) aims at facilitating packing and distribution of software to be run on VMs so that virtual appliances and be made portable- that is, seamlessly run on hypervisor of different vendors.

Page 27: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.1.8.3 Availability, Fault-Tolerance, and Disaster Recovery

These Expectations include Availability of the service, its overall performance, what measures are to be taken when something goes wrong in the system or its components.

SLAs , which include QoS requirements, must be ideally set up between customers and cloud computing providers to act as warranty. An SLA specifies the details of the service to be provided, including availability and performance guarantees.Additionally, metrics must be agreed upon by all parties, and penalties for violating the expectations must also be approved.

1.1.8.4 Resource Management and Energy-EfficiencyOne important challenge face by providers of cloud computing service is the efficient management of virtualized resource pools.

Physical resource such as CPU cores, disk space, and network bandwidth must be sliced and shared among virtual machines running potentially heterogeneous workloads.

The multi-dimensional nature of virtual machines complicates the activity of finding a good mapping of VMS onto available physical hosts while maximizing user utility.

Dimensions to be considered include: number of CPUs, amount of memory, size of virtual disks, and network bandwidth.Dynamic VM mapping policies may leverage the ability to suspend, migrate, and resume VMs as an easy way of preempting low-priority allocations in favor of higher-priority ones.Migration of VMs also brings additional challenges such as detecting when to initiate a migration, which VM to migrate, and where to migrate.In addition, policies may take advantage of live migration or virtual machines to relocate data center load without significantly disrupting running services.In this case, an additional concern is the trade-off between the negative impact of a live migration on the performance and stability of a service and the benefits to be achieved with that migration.Another challenge concerns the outstanding amount of data to be managed in various VM management activities. Such data amount is a result of particular abilities of virtual activities.

Page 28: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

Such data amount is a result of particular abilities of virtual machines, including the ability of traveling through space (i.e., migration) and time (i.e., checkpointing and rewinding), operations that may be required in load balancing, backup, and recovery scenarios.In addition, dynamic provisioning of new VMs and replicating existing VMs require efficient mechanisms to make VM block storage devices (e.g., image files) quickly available at selected hosts.Data centers consumer large amounts of electricity.According to a data published by HP, 100 server racks can consume 1.3MW of power and another 1.3 MW are required by the cooling system, thus costing USD 2.6 million per year.Besides the monetary cost, data centers significantly impact the environment in terms of CO2 emissions from the cooling systems.In addition to optimize application performance, dynamic resource management can also improve utilization and consequently minimize energy consumption in data centers.This can be done by judiciously consolidating workload onto smaller number of servers and turning off idle resources.

1.2 MIGRATING INTO A CLOUD1.2.1 Introduction

This chapter focuses on the key issues and associated dilemmas faced by decision makers, architects, and systems managers in trying to understand leverage cloud computing for their IT needs.

1.2.1.1 The Promise of the Cloud

Most users of cloud computing services offered by some of the large-scale data centers are least bothered about the complexities of the underlying systems of their functioning.What cloudonomics?This economics and the associated trade-offs, of leveraging the cloud computing services, now popularly called “Cloudonomics”.Why cloudonomics?For satisfying enterprise’s seasonal IT loads has become a topic of deep interest amongst IT managers and technology architects.

Page 29: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

.

Above Fig 2.1 shown, the promise of the cloud both on the business front (the attractive cloudonomics) and technology front widely aided the CxOs to spawn out several non-mission critical IT needs from the ambit of their captive traditional data centers to the appropriate cloud service.

1.2.1.2 The Cloud Service Offerings and Deployment ModelsCloud computing has been an attractive proposition both for the CFO and the CTO of an enterprise primarily due its ease of usage.This has been achieved by large data center service vendors or now better known as cloud service vendors again primarily due to their scale of operations.

Page 30: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.2.1.3 Challenges i 1.2.1.4 Challenges in the Cloud

While the cloud service offerings present a simplistic view of IT in case of IaaS or a simplistic view of programming in case PaaS or a simplistic view of resources usage in case of SaaS, the underlying systems level support challenges are huge and highly complex.

Page 31: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.2.2 Broad Approaches To Migrating Into The CloudCloud Computing is a “techno-business disruptive model”.Cloudonomics deals with the economic rationale for leveraging the cloud and is central to the success of cloud-based enterprise usage.At what IT costs- both short term and long term – would one want to migrate into the cloud?While all capital expenses are eliminated and only operational expenses incurred by leveraging the cloud, does this satisfy all strategic parameters for enterprise IT?Des the total cost of ownership (TCO) become significantly less as compared to that incurred when running one’s own private data center?Decision makers, IT managers, and software architects are faced with several dilemmas when planning for new Enterprise IT initiatives.

1.2.2.1 Why Migrate?Cloudonomics

1.2.2.2 Deciding on the Cloud Migration1.2.3 The Seven-Step Model of Migration into a Cloud

Page 32: jntuabookblog.files.wordpress.com file · Web viewInternet technologies (Web services, service-oriented architectures, Web 2.0) Distributed Computing (clusters, grids) System Management

1.2.3.1 Migration Risks and Mitigation1.2.4 Conclusions

1.3 ENRICHING THE ‘INTEGRATION AS A SERVICE’ PARADIGM FOR THE CLOUD ERA1.3.1 Introduction1.3.2 The Onset of Knowledge Era

1.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.31.3.3

The Evolution of SaaS1.3.4 The Challenges of SaaS Paradigm1.3.5 Approaching the SaaS Integration Enigma1.3.6 New Integration Scenarios1.3.7 The Integration Methodologies1.3.8 SaaS Integration Productions and Platforms

1.3.8.1 Jitterbit1.3.8.2 Boomi Software1.3.8.3 Bungee Connect1.3.8.4 Opsource Connect1.3.8.5 SnapLogic

1.3.9