You are on page 1of 63

Introduction to Cloud Computing

Allahbaksh Mohammedali Asadullah
Infosys Labs, Infosys Ltd.

February 4, 2013

What is Cloud Computing?

Cloud computing entrusts remote services with a user’s data. [Wiki] . The name comes from the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. software and computation.Cloud Computing Defination Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet).

Why Cloud Computing .

Why Cloud Computing .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Some of the Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service (SaaS) Network as a service (NaaS) Storage as a service (STaaS) Security as a service (SECaaS) Data as a service (DaaS) Database as a service (DBaaS) Test environment as a service (TEaaS) API as a service (APIaaS) Integrated development environment as a service (IDEaaS) integration .

Popular Cloud Services Infrastructure as a service (IaaS) Platform as a service (PaaS) Software (Application) as a service (SaaS) .

Popular Cloud Service Providers .

serving multiple client organizations (tenants).) .Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server.

serving multiple client organizations (tenants).Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server.) .

) .Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server. serving multiple client organizations (tenants).

) .Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server. serving multiple client organizations (tenants).

Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server.) . serving multiple client organizations (tenants).

Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server.) . serving multiple client organizations (tenants).

serving multiple client organizations (tenants).Basic Cloud Characteristics On demand self services Broad network access Resource pooling Rapid elasticity Measured service Multi Tenacity (Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server.) .

Service Model Abstraction .

low-latency NoSQL online Database Service. a content delivery network (CDN) for distributing objects to so-called “edge locations” near the requester.Some of Amazon Important Services Amazon Elastic Compute Cloud (EC2) provides scalable virtual private servers using Xen. Amazon CloudFront. . Amazon Elastic Block Store (EBS) provides persistent block-level storage volumes for EC2. Amazon Simple Storage Service (S3) provides Web Service based storage. Amazon CloudSearch provides basic full text search and indexing of textual content. Amazon DynamoDB provides a scalable.

researchers. Amazon Virtual Private Cloud (VPC) creates a logically isolated set of Amazon EC2 instances which can be connected . Amazon Mechanical Turk (Mturk) manages small units of work distributed among many humans.Some of Amazon Important Services Amazon Elastic MapReduce allows businesses. and developers to easily and cheaply process vast amounts of data. Amazon Simple Email Service (SES) provides bulk and transactional email sending. Amazon Route 53 provides a highly available and scalable Domain Name System (DNS) web service. Amazon ElastiCache provides in-memory caching for web applications (Amazon’s Memcached). data analysts. Amazon Relational Database Service (RDS) provides a scalable database server with MySQL and Oracle support. It uses a hosted Hadoop framework running on the web-scale infrastructure of EC2 and Amazon S3.

S3 .Public Cloud Demo AWS EC2.

5 GB memory.EC2 Launch instances with a variety of operating systems Load OS with your custom application environment. Example Instance types : Large Instance (7. 64-bit platform) Operating Systems : Ubuntu Linux Application environment :Ruby on Rails .

64-bit platform) Operating Systems : Ubuntu Linux Application environment :Ruby on Rails . Example Instance types : Large Instance (7.EC2 Launch instances with a variety of operating systems Load OS with your custom application environment.5 GB memory.

EC2 Launch instances with a variety of operating systems Load OS with your custom application environment.5 GB memory. Example Instance types : Large Instance (7. 64-bit platform) Operating Systems : Ubuntu Linux Application environment :Ruby on Rails .

5 GB memory. Example Instance types : Large Instance (7. 64-bit platform) Operating Systems : Ubuntu Linux Application environment :Ruby on Rails .EC2 Launch instances with a variety of operating systems Load OS with your custom application environment.

Now you can save the images in EBS . Create a file system on top of Amazon EBS volumes.EBS Create storage volumes from 1 GB to 1 TB that can be mounted as devices by Amazon EC2 instances in same zone.

and delete objects containing from 1 byte to 5 terabytes of data each. developer-assigned key All images are usually stored in S3 . Each object is stored in a bucket and retrieved via a unique.S3 Write. read.

Private Cloud Component .

e. Multiple VMs can execute simultaneously on a single hypervisor. . a computer) that executes programs like a physical machine. A hypervisor provides a uniform abstraction of the underlying physical machine..Virtualization A virtual machine (VM) is a software implementation of a machine (i.

.e.Virtualization A virtual machine (VM) is a software implementation of a machine (i. Multiple VMs can execute simultaneously on a single hypervisor. A hypervisor provides a uniform abstraction of the underlying physical machine. a computer) that executes programs like a physical machine. .

a computer) that executes programs like a physical machine.. A hypervisor provides a uniform abstraction of the underlying physical machine.e.Virtualization A virtual machine (VM) is a software implementation of a machine (i. Multiple VMs can execute simultaneously on a single hypervisor. .

a computer) that executes programs like a physical machine. A hypervisor provides a uniform abstraction of the underlying physical machine. Multiple VMs can execute simultaneously on a single hypervisor.. .e.Virtualization A virtual machine (VM) is a software implementation of a machine (i.

On top Hypervisor the OS is loaded. Type 2: Hosted : The Hypervisor runs on a guest OS.Types of Hypervisor Type 1: Bare Metal : Runs directly on Hardware. Example Mircrosoft Hyper V. Example KVM. Citrix Xen Server. .

Example KVM. Type 2: Hosted : The Hypervisor runs on a guest OS. On top Hypervisor the OS is loaded. .Types of Hypervisor Type 1: Bare Metal : Runs directly on Hardware. Citrix Xen Server. Example Mircrosoft Hyper V.

Type 2: Hosted : The Hypervisor runs on a guest OS. On top Hypervisor the OS is loaded. Example Mircrosoft Hyper V.Types of Hypervisor Type 1: Bare Metal : Runs directly on Hardware. Citrix Xen Server. Example KVM. .

Eucalyptus can use either Xen or KVM hypervisors. Eucalyptus deploys instances (i.e.Hypervisor Contd. Eucalyptus employs libvirt virtualization API. To interact with them. ... virtual machines) on a hypervisor.

Cloud Engines Eucalyptus Open Stack Cloud Stack Nimbus Open Nebula HyperV VMWare .

Eucalyptus
Open source Linux-based software framework for the implementation of private cloud computing on computer clusters. Stable Release - 3.2 Private clouds give users immediate access to computing resources hosted within an organization’s infrastructure

Components of Eucalyptus
Cloud Controller- CLC Walrus Storage controller - SC Cluster controller - CC Node controller - NC

*Each component is implemented as a stand-alone web service

Advantages
Each web service exposes a WSDL document containing operations that the component can perform Secure communication between components because we leverage existing web services features like WS-Security policies. Easy to Debug and Architect

Compatibility with Amazon AWS .

Eucalyptus conforms to both the syntax and the semantic definition of the Amazon API and tool suite. S3.Compatibility with Amazon AWS Eucalyptus implements the Amazon specification for EC2. with few exceptions. and EBS. Reuse your existing AWS-compatible tools and scripts to manage your own private cloud .

Eucalyptus Block Diagram .

CLS Java program EC2-compatible SOAP and “Query” interfaces Web interface Executes on the front-end host It is a collection of web services Resource Services Data Services Interface Services .

CLC Block Diagram .

CLC Services CLC Resource Services CLC has a detailed information: Availability of resources on various components like nodes used for provisioning the instances Usage of resources e.g. security groups applicable to VMs CLC Interface Services Users can download cryptographic credentials needed to query the system e.. . decision on which clusters will be ˆ given for provisioning the instancesA CLC Data Services Discover resource information (images and clusters) Manipulate keypairs. about available disk images Administrators can manage user accounts etc..g.

decision on which clusters will be ˆ given for provisioning the instancesA CLC Data Services Discover resource information (images and clusters) Manipulate keypairs. .g. about available disk images Administrators can manage user accounts etc..g.CLC Services CLC Resource Services CLC has a detailed information: Availability of resources on various components like nodes used for provisioning the instances Usage of resources e.. security groups applicable to VMs CLC Interface Services Users can download cryptographic credentials needed to query the system e.

g. .g... decision on which clusters will be ˆ given for provisioning the instancesA CLC Data Services Discover resource information (images and clusters) Manipulate keypairs.CLC Services CLC Resource Services CLC has a detailed information: Availability of resources on various components like nodes used for provisioning the instances Usage of resources e. security groups applicable to VMs CLC Interface Services Users can download cryptographic credentials needed to query the system e. about available disk images Administrators can manage user accounts etc.

SC Java program Functionality similar to Amazon’s EBS Executes on head node of the cluster .

CC C program Executes on head node of the cluster Schedules instance run requests to specific NCs Gathers information about NCs. reports this to CLC *Head node is the m/c connected to the nodes as well as the CLC . calculates the no of instances that can run on NCs.

NC C program Executes on every node designated for hosting VM instances Answers all resource related queries from CC. No of cores Size of memory Available disk space Propagates this information to CC Receives requests from CC about VM and instruct Hypervisor to Boot the VM Terminate the VM .

Advantage of Cloud Computing Reduced Software Costs Instant Updates Very Large Storage Capacity Increased Data Reliability (by replication) .

Disadvantages of Cloud Computing Security Increased OPEX Requires Internet Connection Requires connectivity .