Вы находитесь на странице: 1из 61

Introduction to Cloud

Computing
What is Cloud?
The term Cloud refers to a Network or Internet. In other words, we can say that
Cloud is something, which is present at remote location. Cloud can provide services
over network, i.e., on public networks or on private networks, i.e., WAN, LAN or
VPN.
Applications such as e-mail, web conferencing, customer relationship management
(CRM), all run in cloud.

Cloud Computing refers to manipulating, configuring, and accessing the


applications online. It offers online data storage, infrastructure and application.

The U.S. National Institute of Standards and Technology (NIST) defines cloud
computing as:
Cloud computing is a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service provider
interaction.
SERVICE MODELS
Service Models are the reference models on which the Cloud Computing is based. These
can be categorized into three basic service models as listed below:

1. Infrastructure as a Service (IaaS)


2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
Each of the service models make use of the underlying service model, i.e., each inherits the
security and management mechanism from the underlying model.
1. IaaS:
• The Infrastructure as a Service (IaaS) is the most basic level of service. IaaS
provides access to fundamental resources such as physical machines, virtual
machines, virtual storage, etc.

• The capability provided to the consumer is to provision processing, storage,


networks, and other fundamental computing resources.

• The consumer is able to deploy and run arbitrary software, which can include
operating systems and applications.

• The consumer does not manage or control the underlying cloud infrastructure but
has control over operating systems, storage, deployed applications, and possibly
limited control of select networking components (e.g., host firewalls).

• IaaS clouds often offer additional resources such as a virtual-machine disk


image library, raw (block) and file-based storage, firewalls, load balancers, IP
addresses, VLANs, and software bundles

Server Platform (IaaS)


Google Compute Engine (GCE), Amazon EC2, OpenStack, Eucalpytus
Advantages of IaaS:

● Infrastructure scalability
● Native integrated management
– performance, resource consumption/utilization, load
● Economical cost
– hardware, IT support
2. PaaS:

• PaaS provides the runtime environment for applications, development &


deployment tools, etc.

• The capability provided to the consumer is to deploy onto the cloud


infrastructure consumer-created or acquired applications created using
programming languages and tools supported by the provider.

• The consumer does not manage or control the underlying cloud


infrastructure.

• Consumer has control over the deployed applications and possibly


application hosting environment configurations.

Application Platform (PaaS)


Google App Engine, Heroku, AWS, Windows Azure, Google App.
Advantages of PaaS:

● rapid development & deployment


● small startup cost
– required skills set
– money

PaaS Disadvantages:

● inherits all from SaaS


●choice of development technology is limited to
vendor
provided/supported tools and services
3. SaaS:

• SaaS model allows to use software applications as a service to end users.


• The capability provided to the consumer is to use the provider’s applications
running on a cloud infrastructure.
• The applications are accessible from various client devices such as a web
browser (e.g., web-based email).
• The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems, storage.

Application Service (SaaS)


Google Docs, Salesforce.com, Quicken Online, Jupyter, MS Live/Exchange
SaaS Disadvantages:

● Dependency on
– network, cloud service provider
● Performance
– limited client bandwidth
● Security
– good: better security than personal computers
– bad: CSP is in charge of the data
– ugly: user privacy
Characteristics and Models of CLOUD
Characteristics of CLOUD

There are five key characteristics of cloud computing:

1. On-demand self service:


Cloud computing resources can be provisioned on-demand by
the users, without requiring interactions with the cloud service
provider. The process of provisioning resources is automated.

2. Broad network access:


Cloud computing resources can be accessed over the network
using standard access mechanisms that provide platform-
independent access through the use of heterogeneous client
platforms such as workstations, laptops, tablets and
smartphones.
3. Resource pooling:
The computing and storage resources provided by cloud service
providers are pooled to serve multiple users using multi-tenancy.
Multi-tenant aspects of the cloud allow multiple users to be served
by the same physical hardware.

4. Rapid elasticity:
Cloud computing resources can be provisioned rapidly and
elastically. Cloud resources can be rapidly scaled up or down based
on demand.

5. Measured Service :
Cloud computing resources are metered i.e. it defines a model
called as “Pay-per-use” or “Pay-as-you-go” model, where based on
the usage of service or resources rented out from service provider,
the tenants or customers are charged.
Organizational scenarios of clouds
Cloud Deployment Models - Types of Clouds
• Public Cloud
Marketed based on Resources offered, availability, security, price.
• Local/Private Cloud
Cloud architectures tailored to an organization’s needs.
• Hybrid Cloud
Combination of public and local cloud resources.
 Private Cloud:
 The cloud is operated solely for an organization. It may be managed by
the organization or a third party and may exist on premise or off
premise.
 Public Cloud:
 The cloud infrastructure is made available to the general public or a large
industry group and it is owned by an organization selling cloud services.
 Hybrid cloud:
 The cloud infrastructure is a composition of two or more clouds (private,
community, or public).
 Community Cloud:
 The cloud infrastructure is shared by several organizations and supports
a specific community that has shared concerns.
 It may be managed by the organizations or a third party and may exist
on premise or off premise
Organizational scenarios of clouds
1. End User to Cloud:

• In this scenario, an end user is accessing data or applications in the cloud.


Common applications of this type include email hosting and social
networking sites. A user accesses the application and their data through any
browser on any device. The user doesn’t want to keep up with anything
more than a password; their data is stored and managed in the cloud.
2. Enterprise to Cloud to End User:

• In this scenario, an enterprise is using the cloud to deliver data and


services to the end user. When the end user interacts with the
enterprise, the enterprise accesses the cloud to retrieve data and / or
manipulate it, sending the results to the end user. The end user can be
someone within the enterprise or an external customer.
3. Enterprise to Cloud:

This scenario involves an enterprise using cloud services for its internal processes. This
might be the most common scenario in the early stages of cloud computing because it
gives the enterprise the most control. In this scenario, the enterprise uses cloud services
to supplement the resources it needs, like:
• For backups or storage of seldom-used data
• Virtual machines in the cloud to bring additional processors online to handle peak
loads
• Applications in the cloud (SaaS) for certain enterprise functions
• Cloud databases as part of an application's processing. This could be extremely useful
for sharing that database with partners, government agencies, etc.
4. Enterprise to Cloud to Enterprise:

This scenario involves two enterprises using the same cloud. The focus here is
hosting resources in the cloud so that applications from the enterprises can
interoperate. A supply chain is the most obvious example for this scenario.
Client/Server vs. Cloud Architecture
Cloud Cloud
Interface Admin

Storage Server
Switch
/Router
Network Compute
Network
Node

Compute
Node

Storage
Clie Clie Clie Clie Clie Node
Client
nt nt nt nt nt

Client/Server Cloud Architecture


Architecture
Cloud Computing-Architecture
The Cloud Computing architecture comprises of many cloud components, each of
them are loosely coupled. We can broadly divide the cloud architecture into two
parts:
• Front End
• Back End
Each of the ends are connected through a network, usually via Internet.

FRONT END:
Front End refers to the client part of cloud computing system. It consists of
interfaces and applications that are required to access the cloud computing
platforms, e.g., Web Browser.
BACK END:
Back End refers to the cloud itself. It consists of all the resources required to
provide cloud computing services. It comprises of huge data storage, virtual
machines, security mechanism, services, deployment models, servers, etc.
Important Points:
 It is the responsibility of the back end to provide built-in security mechanism,
traffic control and protocols.
 The server employs certain protocols, known as middleware, helps the
connected devices to communicate with each other.
Cloud Infrastructure Components
Cloud infrastructure consists of servers, storage, network, management software, and
deployment software and platform virtualization.
1. HYPERVISOR :
Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It allows
to share the single physical instance of cloud resources between several tenants.

2. MANAGEMENT SOFTWARE :
Management Software helps to maintain and configure the infrastructure.

3. DEPLOYMENT SOFTWARE :
Deployment software helps to deploy and integrate the application on the cloud.

4. NETWORK :
Network is the key component of cloud infrastructure. It allows to connect cloud services over
the Internet. It is also possible to deliver network as a utility over the Internet, i.e., the
consumer can customize the network route and protocol.

5. SERVER :
Server helps to compute the resource sharing and offer other services such as resource
allocation and de-allocation, monitoring resources, security, etc.

6. STORAGE :
Cloud uses distributed file system for storage purpose. If one of the storage resource fails, then
it can be extracted from another one which makes cloud computing more reliable.
Cloud Infrastructure Components
Advantages of Cloud Computing
 Cloud computing do not need high quality equipment for
user, and it is very easy to use.
 Provides dependable and secure data storage center.
 Reduce run time and response time.
 Cloud is a large resource pool that you can buy on-demand
service.
 Scale of cloud can extend dynamically providing nearly
infinite possibility for users to use internet.
Cloud Computing Challenges
1. SECURITY & PRIVACY :
Security and Privacy of information is the biggest challenge to cloud computing. Security and
privacy issues can be overcome by employing encryption, security hardware and security
applications.

2. PORTABILITY :
This is another challenge to cloud computing that applications should easily be migrated
from one cloud provider to another. There should not be vendor lock-in. However, it is not
yet made possible because each of the cloud provider uses different standard languages for
their platforms.

3. INTEROPERABILITY :
Application on one platform should be able to incorporate services from other platform. It is
made possible via web services. But writing such web services is very complex.

4. COMPUTING PERFORMANCE :
To deliver data intensive applications on cloud requires high network bandwidth, which
results in high cost. If done at low bandwidth, then it does not meet the required computing
performance of cloud application.

5. RELIABILITY AND AVAILABILITY :


It is necessary for cloud systems to be reliable and robust because most of the businesses are
now becoming dependent on services provided by third-party.
Cloud Computing Challenges
CLOUD COMPUTING
Cloud Components
• 3 components
– Clients
– Datacenter
– Distributed servers
Cloud Components
• Clients
– Mobile
• SmartPhones, Tablets, Service Hubs
– Thin
• no internal hard drives, lets servers do all work,
displays info
– Thick
• Laptops, desktop computers
– Which is the best?
• Thin - lower costs, security, power consumption, easy
to replace, less noise
Data Center
• Data Center – facility used to house computer
systems and associated components
Distributed Servers
• Servers host the resources needed by cloud users
– Compute nodes
• Provides CPU, Memory, Scratch Storage, and Networking resources through
virtualized interfaces.
• Hosts guest operating systems (Virtual Machines) using one or more VM
hypervisors
• Resource interface depends on the type of cloud (horizontal/vertical cloud)
– Storage nodes
• Compute nodes only provide temporary storage space for users/applications
• Storage nodes provide long term data storage solutions
• Can be mapped to specific processes running on compute nodes, users,
interface applications, etc.
– Administrative nodes
• Provides “hidden” back-end services such as resource load balancing,
administrative/resource databases, security/firewalls, cloud
macromanagement
Deploying Application over Cloud
A Cloud is a virtual space available to deploy the applications.

REQUIREMENTS FOR DEPLOYING AN APPLICATION OVER PUBLIC CLOUD:


1. Licensing : Application is made up of many components which are associated
with some license agreements . Analysis should be made about the effects of
those license agreements on the deployment of application on cloud.
Applications which are designed licensed for CPU, when we deploy it on the
cloud increases the load by exciding the CPU license limit.

2. Processing requirements and memory locks : Application should be designed


to work on the parallel architectures, because of the dynamic scalability of
cloud. Multi threaded code which allows process to split in to small chunks
suits for the cloud environment. A single threaded application cannot take the
real advantage of clouds distributed nature .

3. Bandwidth requirements : Because a public cloud is accessed via the Internet,


bandwidth is significantly limited when compared to a private cloud. Given the
public cloud’s bandwidth limitation, applications that have moderate client
bandwidth requirements should only be considered.
Administering & Monitoring cloud services
• Administering Cloud Computing services is an important process when you have hosted
your business data on the cloud. The business owners need to know whether the
performance is at the right level and whether the deleted data is permanently gone.
• Administration – defines the procedures formed in the SLA to achieve and measure its
goals.

• Investigating the reliability and viability of a cloud provider should be handled well
when hosting data on the cloud. Business owners need to enable administration in
terms of monitoring every dimension of the service they are getting.
• Cloud Service provider can definitely build and provide a stable service that are cost
effective and efficient. However, there can be a serious gap between the actual service
and the promised services.

Cloud SLA (Cloud Service-Level Agreement) :


• A cloud SLA (cloud service-level agreement) is an agreement between a cloud service
provider and a customer that ensures a minimum level of service is maintained. It
guarantees levels of reliability, availability and responsiveness to systems and
applications, while also specifying who will govern when there is a service interruption.
• As more and more consumers delegate their tasks to cloud providers, Service Level
Agreements(SLA) between consumers and providers emerge as a key aspect. Due to the
dynamic nature of the cloud, continuous monitoring on Quality of Service (QoS)
attributes is necessary to enforce SLAs.
Four different types of monitoring demands made by consumers are:

Scenario 1 : A consumer demands the data exposed by a service provider without


further refinement such as transaction count, which is a raw metric.

Scenario 2 : Consumer requests that collected data should put into meaningful context.
This scenario creates the requirement for a process which collects data from different
sources and applies suitable algorithms for calculating meaningful results.

Scenario 3 : The consumer requests certain customized data to be collected.

Scenario 4 : The consumer even specifies the way how data should be collected.

Other issues such as trust also need to be considered during SLA enforcement.
The SLA is very significant as a contract that is held between the provider of the service
and another party who could be one of following; consumer of the service, broker
negotiator, or monitoring negotiator. The key concept of SLA is to provide a clear
description of the official agreements about service expressions such as performance,
availability and billing.
4. Communication protocol : The cloud is based on the Internet Protocol (IP),
so for an application to be considered, it must use IP as its communication
mechanism. While there are many protocols that can be run over IP, the use of
Transport Control Protocol (TCP) is preferred.

5. Data security : The application will need to provide security at the data
storage, processing and transmission stages. Three critical components of this
are:
• Data in transit needs to be protected either at the application or the
transmission level.
• Data at rest must be protected by the application. The application must
provide a mechanism to protect the data stored in the cloud. Encrypting data
at rest is the best option at this time, and a future technical tip will delve into
the specifics of this area.
• Servers to server communications are typically forgotten because they
currently exist within the data center.
Infrastructure as a Service
(IaaS)
Amazon EC2
What is Infrastructure as a Service ?
• A category of cloud services which provides capability to provision
processing, storage, intra-cloud network connectivity services, and other
fundamental computing resources of the cloud infrastructure.
Highlights of IaaS
• On demand computing resources
– Eliminate the need of far ahead planning
• No up-front commitment
– Start small and grow as required
– No contract, Only credit card!
• Pay for what you use
• No maintenance
• Measured service
• Scalability
• Reliability
What is EC2 ?
 Amazon Elastic Compute Cloud (EC2) is a web service that
provides resizeable computing capacity that one uses to
build and host different software systems.
 Designed to make web-scale computing easier for
developers.
 A user can create, launch, and terminate server instances as
needed, paying by the hour for active servers, hence the
term "elastic".
 Provides scalable, pay as-you-go compute capacity

 Elastic - scales in both direction


Amazon Elastic Compute Cloud ( EC2)

“Amazon Elastic Compute Cloud (Amazon EC2) is


an Amazon Web Service (AWS) you can use to
access servers, software, and storage resources
across the Internet in a self-service manner “

- Provides scalable, pay as-you-go compute


capacity
- Elastic - scales in both direction
EC2 Infrastructure Concepts

• AMI & Instance


• Region & Zones
• Storage
• Networking and Security
• Monitoring
• Auto Scaling
• Load Balancer
Amazon Machine Images (AMI)
 AMI is an immutable representation of a set of disks that
contain an operating system, user applications and/or data.
 From an AMI, one can launch multiple instances, which are
running copies of the AMI.
AMI and Instance
• Amazon Machine Image (AMI) is a template for
software configuration (Operating System, Application
Server, and Applications)
• Instance is a AMI running on virtual servers in the cloud
• Each instance type offers different compute and
memory facilities
Region and Zones

• Amazon have data centers in different region across the


globe
• An instance can be launched in different regions
depending on the need.
– Closer to specific customer
– To meet legal or other requirements
• Each region has set of zones
– Zones are isolated from failure in other zones
– Inexpensive, low latency connectivity between zones in same
region
Storage
• Amazon EC2 provides three type of storage option
– Amazon EBS
– Amazon S3
– Instance Storage
Amazon EBS (Elastic Block Store) provides with persistent, block-level storage.
Basically additional Hard Disk that you can attach to instance.
Suitable for apps which require database , filesystem , block level storage.
Create, Attach , Detach, Delete

- Standard volumes and Provisioned IOPS volumes.

Take snapshots that is stored in S3 , a new EBS can be re-created using the
snapshot

Instance store comes with each instance except the micro-one , temporary block
level storage.
Storage physically attached to the computer

S3 simple storage service storage for the Internet web service interface that
enables you to store and retrieve any amount of data from anywhere on the web

Root device storage: contains image to boot the system


AMI categorized as “Backed by Amazon EBS” or “Backed by instance store”
Elastic Block Store(EBS) volume

 An EBS volume is a read/write disk that can be created by an AMI and


mounted by an instance.
 Volumes are suited for applications that require a database, a file
system, or access to raw block-level storage.
Amazon S3

 S3 = Simple storage Service


 A SOA – Service Oriented Architecture which
provides online storage using web services.
 Allows read, write and delete permissions on
objects.
 Uses REST and SOAP protocols for
messaging.
Amazon SimpleDB
 Amazon SimpleDB is a highly available, flexible, and
scalable non-relational data store that offloads the
work of database administration.
 Creates and manages multiple geographically
distributed replicas of your data automatically to
enable high availability and data durability.
 The service charges you only for the resources
actually consumed in storing your data and serving
your requests.
Networking and Security
• Instances can be launched on one of the two platforms
– EC2-Classic
– EC2-VPC
 Each instance launched is assigned two addresses a private address and a
public IP address.
 A replacement instance has a different public IP address.
• Instance IP address is dynamic.
– new IP address is assigned every time instance is launched
 Amazon EC2 offers Elastic IP addresses (static IP addresses) for dynamic
cloud computing.
– Remap the Elastic IP to new instance to mask failure
– Separate pool for EC2-Classic and VPC
• Security Groups to access control to instance
• VPC - launch Amazon Web Services (AWS) resources into a virtual
network that you've defined.
Monitoring, Auto Scaling, and Load Balancing
• Monitor statistics of instances and EBS
– CloudWatch
• Automatically scales amazon EC2 capacity up and down based
on rules
– Add and remove compute resource based on demand
– Suitable for businesses experiencing variability in usage
• Distribute incoming traffic across multiple instances
– Elastic Load Balancing
• CloudWatch
- Monitor, manage, and publish various metrics
- Configure Alarms based on metrics
Amazon EC2
• Amazon EC2 is one large complex web service.
• EC2 provided an API for instantiating computing
instances with any of the operating systems
supported.
• It can facilitate computations through Amazon
Machine Images (AMIs) for various other models.
• Signature features: S3, Cloud Management Console,
MapReduce Cloud, Amazon Machine Image (AMI)
• Excellent distribution, load balancing, cloud
monitoring tools
Amazon Web Services
Windows Azure

• Enterprise-level on-demand capacity builder


• Fabric of cycles and storage available on-
request for a cost
• You have to use Azure API to work with the
infrastructure offered by Microsoft
• Significant features: web role, worker role ,
blob storage, table and drive-storage
Google App Engine
• This is more a web interface for a development
environment that offers a one stop facility for design,
development and deployment Java and Python-
based applications in Java, Go and Python.
• Google offers the same reliability, availability and
scalability at par with Google’s own applications
• Interface is software programming based
• Comprehensive programming platform irrespective
of the size (small or large)
• Signature features: templates and appspot, excellent
monitoring and management console
Utility Computing
• Utility computing is a service provisioning model in which a service provider
makes computing resources and infrastructure management available to the
customer as needed, and charges them for specific usage rather than a flat rate.
Like other types of on-demand computing (such as grid computing), the utility
model seeks to maximize the efficient use of resources and/or minimize
associated costs.

• Utility computing is technology that enables a service provider to make computing


resources and infrastructure management available to customers as needed.

• The word utility is used to make an analogy to other services, such as electrical
power, that seek to meet fluctuating customer needs, and charge for the
resources based on usage rather than on a flat-rate basis. This approach,
sometimes known as pay-per-use or metered services is becoming increasingly
common in enterprise computing and is sometimes used for the consumer market
as well, for Internet service, Web site access, file sharing, and other applications.

• Customers can access the application for use by subscription.


Characteristics of Utility of Computing

1. Scalability : The ability to rapidly scale an application can often mean the
difference between success and failure for a provider. These resources include
CPU, storage, memory and bandwidth, as well as other shared infrastructure.

2. High Availability : Utility computing provides redundancy at every layer including


server as well as platform.

3. Manageability : Utility computing provides a platform to deploy any number of


servers on a platform with scalable CPU, memory and storage. System
administrators can edit, configure, and design applications using web based drag-
and-drop editor.

4. Disaster Recovery : Backup is a struggle for customers that need to ensure their
applications and other important data are protected in an on-going and
recoverable manner.

5. Value : Most utility providers offer different types of solutions at a fraction of the
price of traditional enterprise software solutions. Users can follow these solutions
without having any internal IT infrastructure.
Benefits :
Utility computing methodology can provide significant cost savings. By delivering IT
infrastructure storage as a utility, organizations can:
• Reduce hardware capital expenditures
• Reduce operating costs
• Allow IT to align its resources with business initiatives
• Shorten the time to deploy new or additional resources to users.

ELASTIC COMPUTING
• Elastic computing is a concept in cloud computing in which computing resources
can be scaled up and down easily by the cloud service provider. Elastic
computing is the ability of a cloud service provider to provision flexible
computing power when and wherever required. The elasticity of these resources
can be in terms of processing power, storage, bandwidth, etc.
• Besides providing these services on demand basis, the resources are elastic in
nature, i.e. they can be easily scaled depending upon the underlying resource
requirements on run time without even disrupting the operations and this ability
is known as elastic computing. On a small scale this is done manually, but for
larger installations, the scaling is automatic. For example, a larger provider of
online video could setup a system so that the number of webservers online
scaled during peak viewing hours.

Вам также может понравиться