分類:雲端運算

Cloud applications

Cloud computing is very attractive to the users:
Economic reasons.
low infrastructure investment.
low cost – customers are only billed for resources used.
Convenience and performance.
application developers enjoy the advantages of a just-in-time
infrastructure; they are free to design an application without being
concerned with the system where the application will run.
the execution time of compute-intensive and data-intensive applications
can, potentially, be reduced through parallelization.  If an application can
partition the workload in
n
segments and spawn
n
instances of itself, then
the execution time could be reduced by a factor close to
n
.
✒ Cloud computing is also beneficial for the providers of computing cycles -
it typically leads to a higher level of resource utilization.

Service Level Agreement (SLA)

SLA – a negotiated contract between the customer and CSP; can be
legally binding or informal. Objectives:
• Identify and define the customer’s needs and constraints
including the level of resources, security, timing, and QoS.
• Provide a framework for understanding; a critical aspect of
this framework is a clear definition of classes of service and
the costs.
• Simplify complex issues;  clarify the boundaries between the
responsibilities of clients and CSP in case of failures.
• Reduce areas of conflict.
• Encourage dialog in the event of disputes.
• Eliminate unrealistic expectations.
• Specifies the services that the customer receives, rather than how
the cloud service provider delivers the services.

PaaS and SaaS services from Microsoft

Windows Azure
- an operating system; has 3
components:
• Compute – provides a computation environment.
• Storage – for scalable storage.
• Fabric Controller – deploys, manages, and monitors
applications.
•SQL Azure
- a cloud-based version of the SQL Server.
•Azure AppFabric
, formerly .NET Services – a collection
of services for cloud applications.

PaaS services offered by Google

AppEngine
- a developer platform hosted on the cloud.
• Initially supported  Python, Java was added later.
• The database for code development can be accessed with
GQL (Google Query Language) with a SQL-like syntax.
•Google Co-op
- allows users to create customized search engines
based on a set of facets/categories.
•Google Drive
- an online service for data storage.
•Google Base
- allows users to load structured data from different
sources to a central repository, a very large, self-describing, semi
structured, heterogeneous database .

SaaS services offered by Google

Gmail
- hosts Emails on Google servers and provides a web
interface to access the Email.
•Google docs
- a web-based software for building text documents,
spreadsheets and presentations.
•Google Calendar
- a browser-based scheduler;  supports multiple
user calendars, calendar sharing, event search,  display of
daily/weekly/monthly views, and so on.
•Google Groups
- allows users to host discussion forums to create
messages online or via Email.
•Picasa
- a tool to upload, share, and edit images.
•Google Maps
- web mapping service;  offers street maps, a route
planner, and an urban business locator for numerous countries
around the world

Elastic Beanstalk

Handles automatically the deployment, capacity provisioning, load
balancing, auto-scaling, and monitoring functions.
• Interacts with other services including
EC2
,
S3
, SNS, Elastic Load
Balance and AutoScaling.
• The management functions provided by the service are:
• Deploy a new application version (or rollback to a previous
version).
• Access to the results reported by CloudWatch monitoring
service.
• Email notifications when application status changes or
application servers are added or removed.
• Access to server log files without needing to login to the
application servers.
• The service is available using: a Java platform, the  PHP server-side
description language, or the .NET framework.

AWS services introduced in 2012 _2

CloudFront
- web service for content delivery.
•Elastic Load Balancer
- automatically distributes the
incoming  requests across multiple instances of the
application.
•Elastic Beanstalk
- handles automatically deployment,
capacity provisioning, load balancing, auto-scaling, and
application monitoring functions.
•CloudFormation
- allows the creation of a stack
describing the infrastructure for an application.

AWS services introduced in 2012

Route 53
- low-latency DNS service used to manage user’s DNS
public records.
•Elastic MapReduce (EMR)
- supports processing of large amounts of
data using a hosted Hadoop running on
EC2
.
•Simple Workflow Service (SWF)
- supports workflow management;
allows scheduling, management of dependencies, and coordination of
multiple
EC2
instances.
•ElastiCache
- enables web applications to retrieve data from a
managed in-memory caching system rather than a much slower disk-
based database.
•DynamoDB
- scalable and low-latency fully managed NoSQL
database service.

Examples of Amazon Web Services

AWS Management Console -
allows users to access the services
offered by AWS .
•Elastic Cloud Computing (EC2) -
allows a user to launch a variety
of operating systems.
•Simple Queuing Service (SQS) -
allows  multiple
EC2
instances to
communicate with one another.
•Simple Storage Service (S3),Simple DB, and Elastic Bloc Storage (EBS)
- storage services.
•Cloud Watch -
supports performance monitoring.
•Auto Scaling -
supports elastic resource management.
•Virtual Private Cloud -
allows direct migration of parallel
applications .

AWS instances

An instance is a virtual server with a well specified set of resources
including:  CPU cycles, main memory, secondary storage,
communication and I/O bandwidth.
• The user chooses:
• The region and the availability zone where this virtual server
should be placed.
• An instance type from a limited menu of instance types.
• When launched, an instance is provided with a DNS name; this name
maps to a
• private IP address

for internal communication within the
internal EC2 communication network.
• public IP address

for communication outside the internal
Amazon network, e.g., for communication with the user that
launched the instance.

Network Address Translation (NAT) maps external IP
addresses to internal ones.
• The public IP address is assigned for the lifetime of an
instance.
• An instance can request an
elastic IP address
, rather
than a public IP address. The elastic IP address is a static
public IP address allocated to an instance from the
available pool of the availability zone.
• An elastic IP address is not released when the instance is
stopped or terminated and must be released when no
longer needed.