Cloud-Computing-unit 3
Cloud-Computing-unit 3
🞂 The cloud computing resources are built into the data centers.
🞂 Data centers are typically owned and operated by a third-party provider.
Consumers do not need to know the underlying technologies
🞂 In a cloud, software becomes a service.
🞂 Cloud demands a high degree of trust of massive amounts of data retrieved from large
data centers.
🞂 The software infrastructure of a cloud platform must handle all resource management
and maintenance automatically.
🞂 Software must detect the status of each node server joining and leaving.
🞂 Cloud computing providers such as Google and Microsoft, have built a large number
of data centers.
🞂 Each data center may have thousands of servers.
🞂 The location of the data center is chosen to reduce power and cooling costs.
Layered Cloud Architectural Development
The services to public, private and hybrid clouds are conveyed to users through networking
support
Infrastructure Layer
🞂 Foundation for building the platform layer.
🞂 Built with virtualized compute, storage, and network resources.
🞂 Provide the flexibility demanded by users.
🞂 Virtualization realizes automated provisioning of resources and optimizes the
infrastructure management process.
Platform Layer
🞂 Foundation for implementing the application layer for SaaS applications.
🞂 Used for general-purpose and repeated usage of the collection of software resources.
🞂 Provides users with an environment to develop their applications, to test operation
flows, and to monitor execution results and performance.
The platform should be able to assure users that they have scalability, dependability, and
security protection
Application Layer
🞂 Collection of all needed software modules for SaaS applications.
🞂 Service applications in this layer include daily office management work, such as
information retrieval, document processing, and authentication services.
🞂 The application layer is also heavily used by enterprises in business marketing and
sales, consumer relationship management (CRM) and financial transactions.
🞂 Not all cloud services are restricted to a single layer.
🞂 Many applications may apply resources at mixed layers.
🞂 Three layers are built from the bottom up with a dependence relationship.
Market-Oriented Cloud Architecture
🞂 High-level architecture for supporting market-oriented resource allocation in a cloud
computing environment.
🞂 Users or brokers acting on user’s behalf submit service requests to the data center.
🞂 When a service request is first submitted, the service request examiner interprets the
submitted request for QoS requirements.
Accept or Reject the request.
"pay-per-use model for enabling available, convenient and 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."
Architecture
🞂 Architecture consists of 3 tiers
◦ Cloud Deployment Model
◦ Cloud Service Model
◦ Essential Characteristics of Cloud Computing .
lOMoAR cPSD| 28870275
Essential Characteristics 1
🞂 On-demand self-service.
◦ A consumer can unilaterally provision computing capabilities such as server
time and network storage as needed automatically, without requiring human
interaction with a service provider.
Essential Characteristics 2
🞂 Broad network access.
◦ Capabilities are available over the network and accessed through standard
mechanisms that promote use by heterogeneous thin or thick client platforms
(e.g., mobile phones, laptops, and PDAs) as well as other traditional or
cloudbased software services.
Essential Characteristics 3
🞂 Resource pooling.
◦ The provider’s computing resources are pooled to serve multiple consumers
using a multi-tenant model, with different physical and virtual resources
dynamically assigned and reassigned according to consumer demand.
Essential Characteristics 4
🞂 Rapid elasticity.
◦ Capabilities can be rapidly and elastically provisioned - in some cases
automatically - to quickly scale out; and rapidly released to quickly scale in.
◦ To the consumer, the capabilities available for provisioning often appear to be
unlimited and can be purchased in any quantity at any time.
Essential Characteristics 5
🞂 Measured service.
◦ Cloud systems automatically control and optimize resource usage byleveraging
a metering capability at some level of abstraction appropriate to the type of
service.
Resource usage can be monitored, controlled, and reported - providing transparency for both
the provider and consumer of the service.
• The audit may involve interactions with both the Cloud Consumer and the Cloud
Provider.
Cloud Consumer
🞂 The cloud consumer is the principal stakeholder for the cloud computing service.
🞂 A cloud consumer represents a person or organization that maintains a business
relationship with, and uses the service from a cloud provider.
The cloud consumer may be billed for the service provisioned, and needs to arrange
payments accordingly.
Example Services Available to a Cloud Consumer
🞂 The consumers of SaaS can be organizations that provide their members with access
to software applications, end users or software application administrators.
🞂 SaaS consumers can be billed based on the number of end users, the time of use, the
network bandwidth consumed, the amount of data stored or duration of stored data.
🞂 Cloud consumers of PaaScan employ the tools and execution resources provided by
cloud providers to develop, test, deploy and manage the applications.
🞂 PaaS consumers can be application developers or application testers who run and test
applications in cloud-based environments,.
🞂 PaaS consumers can be billed according to, processing, database storage and network
resources consumed.
🞂 Consumers of IaaS have access to virtual computers, network-accessible storage &
network infrastructure components.
🞂 The consumers of IaaS can be system developers, system administrators and IT
managers.
🞂 IaaS consumers are billed according to the amount or duration of the resources
consumed, such as CPU hours used by virtual computers, volume and duration of data
stored.
Cloud Provider
🞂 A cloud provider is a person, an organization;
🞂 It is the entity responsible for making a service available to interested parties.
🞂 A Cloud Provider acquires and manages the computing infrastructure required for
providing the services.
🞂 Runs the cloud software that provides the services.
Makes arrangement to deliver the cloud services to the Cloud Consumers through network
access.
Cloud Auditor
🞂 A cloud auditor is a party that can perform an independent examination of cloud
service controls.
🞂 Audits are performed to verify conformance to standards through review of objective
evidence.
🞂 A cloud auditor can evaluate the services provided by a cloud provider in terms of
security controls, privacy impact, performance, etc.
Cloud Broker
🞂 Integration of cloud services can be too complex for cloud consumers to manage.
🞂 A cloud consumer may request cloud services from a cloud broker, instead of
contacting a cloud provider directly.
🞂 A cloud broker is an entity that manages the use, performance and delivery of cloud
services. Negotiates relationships between cloud providers and cloud consumers.
Services of cloud broker
Service Intermediation:
🞂 A cloud broker enhances a given service by improving some specific capability and
providing value-added services to cloud consumers.
Service Aggregation:
🞂 A cloud broker combines and integrates multiple services into one or more new
services.
🞂 The broker provides data integration and ensures the secure data movement between
the cloud consumer and multiple cloud providers.
Services of cloud broker
Service Arbitrage:
🞂 Service arbitrage is similar to service aggregation except that the services being
aggregated are not fixed.
🞂 Service arbitrage means a broker has the flexibility to choose services from multiple
agencies.
Eg: The cloud broker can use a credit-scoring service to measure and select an agency with
the best score.
Cloud Carrier
🞂 A cloud carrier acts as an intermediary that provides connectivity and transport of
cloud services between cloud consumers and cloud providers.
🞂 A public cloud is one in which the cloud infrastructure and computing resources are
made available to the general public over a public network.
🞂 A public cloud is meant to serve a multitude(huge number) of users, not a single
customer.
🞂 A fundamental characteristic of public clouds is multitenancy.
🞂 Multitenancy allows multiple users to work in a software environment at the same
time, each with their own resources.
🞂 Built over the Internet (i.e., service provider offers resources, applications storage to
the customers over the internet) and can be accessed by any user.
🞂 Owned by service providers and are accessible through a subscription.
🞂 Best Option for small enterprises, which are able to start their businesses without
large up-front(initial) investment.
🞂 By renting the services, customers were able to dynamically upsize or downsize their
IT according to the demands of their business.
🞂 Services are offered on a price-per-use basis.
🞂 Promotes standardization, preserve capital investment
🞂 Public clouds have geographically dispersed datacenters to share the load of users and
better serve them according to their locations
🞂 Provider is in control of the infrastructure
Examples:
o Amazon EC2 is a public cloud that provides Infrastructure as a Service
o Google AppEngine is a public cloud that provides Platform as a Service
o SalesForce.com is a public cloud that provides software as a service.
Advantage
🞂 Offers unlimited scalability 3 on demand resources are available to meet your
business needs.
🞂 Lower costs4no need to purchase hardware or software and you pay only for the
service you use.
🞂 No maintenance - Service provider provides the maintenance.
🞂 Offers reliability: Vast number of resources are available so failure of a system will
not interrupt service.
🞂 Services like SaaS, PaaS, IaaS are easily available on Public Cloud platform as it can
be accessed from anywhere through any Internet enabled devices.
🞂 Location independent 3 the services can be accessed from any location
Disadvantage
🞂 No control over privacy or security
🞂 Cannot be used for use of sensitive applications(Government and Military agencies
will not consider Public cloud)
🞂 Lacks complete flexibility(since dependent on provider)
🞂 No stringent (strict) protocols regarding data management
• government agencies
• financial institutions
• Mid size to large-size organisations.
🞂 On-site private clouds
Fig:Hybrid Cloud
Advantage
🞂 It is scalable
🞂 Offers better security
🞂 Flexible-Additional resources are availed in public cloud when needed
🞂 Cost-effectiveness4we have to pay for extra resources only when needed.
🞂 Control - Organisation can maintain a private infrastructure for sensitive application
Disadvantage
🞂 Infrastructure Dependency
🞂 Possibility of security breach(violate) through public cloud
These models are offered based on various SLAs between providers and users
SLA of cloud computing covers
o service availability
o performance
• data protection
o Security
3.4.1 Software as a Service(SaaS)( Complete software offering on the cloud)
🞂 SaaS is a licensed software offering on the cloud and pay per use
🞂 SaaS is a software delivery methodology that provides licensed multi-tenant access to
software and its functions remotely as a Web-based service. Usually
billed based on usage
◦ Usually multi tenant environment
IaaS providers
🞂 Amazon Elastic Compute Cloud (EC2)
◦ Each instance provides 1-20 processors, upto 16 GB RAM, 1.69TB storage
🞂 RackSpace Hosting
◦ Each instance provides 4 core CPU, upto 8 GB RAM, 480 GB storage
🞂 Joyent Cloud
◦ Each instance provides 8 CPUs, upto 32 GB RAM, 48 GB storage
🞂 Go Grid
◦ Each instance provides 1-6 processors, upto 15 GB RAM, 1.69TB storage
Characteristics of PaaS
Runtime framework: Executes end-user code according to the policies set by the user and
the provider.
Abstraction: PaaS helps to deploy(install) and manage applications on the cloud.
Solution:
o Some SaaS providers provide the opportunity to defend against DDoS attacks by using
quick scale-ups.
Customers cannot easily extract their data and programs from one site to run on another.
Solution:
o Have standardization among service providers so that customers can deploy (install)
services and data across multiple cloud providers.
Data Lock-in
It is a situation in which a customer using service of a provider cannot be moved to another
service provider because technologies used by a provider will be incompatible with other
providers.
This makes a customer dependent on a vendor for services and makes customer unable to
use service of another vendor.
Solution:
o Have standardization (in technologies) among service providers so that customers can
easily move from a service provider to another.
o cost-per-data-transferred
🞂 The end user doesn’t have to pay for infrastructure (resources), they have to pay only for
how much they transfer and save on the provider’s storage.
5.2 Providers
🞂 Google Docs allows users to upload documents, spreadsheets, and presentations to
Google’s data servers.
🞂 Those files can then be edited using a Google application.
🞂 Web email providers like Gmail, Hotmail, and Yahoo! Mail, store email messages on
their own servers.
🞂 Users can access their email from computers and other devices connected to the Internet.
🞂 Flicker and Picasa host millions of digital photographs, Users can create their own online
photo albums.
🞂 YouTube hosts millions of user-uploaded video files.
🞂 Hostmonster and GoDaddy store files and data for many client web sites.
🞂 Facebook and MySpace are social networking sites and allow members to post pictures
and other content. That content is stored on the company’s servers.
🞂 MediaMax and Strongspace offer storage space for any kind of digital data.
Encryption
o Algorithms are used to encode information. To decode the information keys are required.
Authentication processes
o This requires a user to create a name and password.
Authorization practices
o The client lists the people who are authorized to access information stored on the cloud
system.
If information stored on the cloud, the head of the IT department might have complete and
free access to everything.
Reliability
🞂 Service Providers gives reliability for data through redundancy (maintaining multiple
copies of data).
Reputation is important to cloud storage providers. If there is a perception that the provider is
unreliable, they won’t have many clients.
Advantages
🞂 Cloud storage providers balance server loads.
🞂 Move data among various datacenters, ensuring that information is stored close and
thereby available quickly to where it is used.
🞂 It allows to protect the data in case there’s a disaster.
🞂 Some products are agent-based and the application automatically transfers
information to the cloud via FTP
Cautions
🞂 Don’t commit everything to the cloud, but use it for a few, noncritical purposes.
🞂 Large enterprises might have difficulty with vendors like Google or Amazon.
🞂 Forced to rewrite solutions for their applications.
🞂 Lack of portability.
Theft (Disadvantage)
🞂 User data could be stolen or viewed by those who are not authorized to see it.
🞂 Whenever user data is let out of their own datacenter, risk trouble occurs from a
security point of view.
🞂 If user store data on the cloud, make sure user encrypts data and secures data transit
with technologies like SSL.
Design Requirements
Amazon built S3 to fulfill the following design requirements:
• Scalable Amazon S3 can scale in terms of storage, request rate, and users to support an
unlimited number of web-scale applications.
• Reliable Store data durably, with 99.99 percent availability. Amazon says it does not
allow any downtime.
Design Principles
Amazon used the following principles of distributed system design to meet Amazon S3
requirements:
• Decentralization It uses fully decentralized techniques to remove scaling bottlenecks and
single points of failure.
• Autonomy The system is designed such that individual components can make decisions
based on local information.
• Local responsibility Each individual component is responsible for achieving its
consistency; this is never the burden of its peers.
• Controlled concurrency Operations are designed such that no or limited concurrency
control is required.
• Failure toleration The system considers the failure of components to be a normal mode of
operation and continues operation with no or minimal interruption.
• Controlled parallelism Abstractions used in the system are of such granularity that
parallelism can be used to improve performance and robustness of recovery or the introduction
of new nodes.
• Small, well-understood building blocks Do not try to provide a single service that does
everything for everyone, but instead build small components that can be used as building blocks
for other services.
• Symmetry Nodes in the system are identical in terms of functionality, and require no or
minimal node-specific configuration to function.
• Simplicity The system should be made as simple as possible, but no simpler.
How S3 Works
Amazon keeps its lips pretty tight about how S3 works, but according to Amazon, S3’s
design aims to provide scalability, high availability, and low latency at commodity costs. S3
stores arbitrary objects at up to 5GB in size, and each is accompanied by up to 2KB of
metadata. Objects are organized by buckets. Each bucket is owned by an AWS account and
the buckets are identified by a unique, user-assigned key.
Buckets and objects are created, listed, and retrieved using either a REST-style or
SOAP interface.
Objects can also be retrieved using the HTTP GET interface or via BitTorrent. An
access control list restricts who can access the data in each bucket. Bucket names and keys are
formulated so that they can be accessed using HTTP. Requests are authorized using an access
control list associated with each bucket and object, for instance:
http://s3.amazonaws.com/examplebucket/examplekey
http://examplebucket.s3.amazonaws.com/examplekey
The Amazon AWS Authentication tools allow the bucket owner to create an authenticated
URL with a set amount of time that the URL will be valid.