AMAZON ELASTIC CLOUD COMPUTE (EC2)

lovingbangInternet and Web Development

Nov 3, 2013 (3 years and 10 months ago)

104 views

Presented by,

Mary Ann Chiramattel Kunjachan

AMAZON ELASTIC
CLOUD COMPUTE (EC2)

Amazon EC2



Amazon
Elastic Compute Cloud (Amazon EC2)
is
a component of
Amazon’s Web Services (AWS), which allows users to rent computers
to run computer applications in the Amazon EC2 data center.



Amazon EC2 is
a web service that provides resizable compute capacity
in the cloud. It is designed to make web
-
scale computing easier for
developers
.



Amazon EC2 allows you to set up and configure everything about your
instances from your operating system up to your applications.



Amazon
EC2 enables “compute” in the cloud.

Infrastructure as a Service (
IaaS
)


IaaS

delivers computer infrastructure


typically a platform
virtualization environment as a service.



EC2
is an
IaaS

cloud computing service that opens Amazon's large
computing
infrastructure to its users
.




The service is elastic in the sense that it
enables
the user to extend or
shrink his infrastructure by launching or
terminating
new virtual
machines
(instances).

Amazon Machine Image (
AMI)


Amazon EC2 does not provide job execution or resource management
services.


AMIs are your unit of deployment.


AMI
is simply a packaged
-
up environment that includes all the
necessary bits to set up and boot your instance
.


Amazon EC2 provides a number of tools to make creating an AMI easy
.


You
might have just one AMI or you might compose your system out
of several building block AMIs (e.g., webservers,
appservers
, and
databases).


You can choose from a number of globally available AMIs that provide
useful instances. For example, if you just want a simple Linux server,
you can choose one of the standard Linux distribution AMIs
.


Or, if you want, you don’t have to set up your own AMI from scratch.


VM Import



(Additional Service)


VM Import enables you to easily import virtual machine images from
your existing environment to Amazon EC2 instances.


VM
Import allows you to leverage your existing investments in the
virtual machines that you have built to meet your IT security,
configuration management, and compliance requirements by
seamlessly bringing those virtual machines into Amazon EC2 as ready
-
to
-
use
instances.

E
lastic
C
omputing
E
nvironment


Amazon EC2 enables you to increase or decrease capacity within
minutes, not hours or days.


You
can commission one, hundreds or even thousands of server
instances simultaneously
.


T
his
is all controlled with web service APIs
, therefore
your application
can automatically scale itself up and down depending on its needs
.


When computing requirements unexpectedly change (up or down),
Amazon EC2 can instantly respond, meaning that developers have the
ability to control how many resources are in use at any given point in
time.

Auto
Scaling


(Additional Service)



One
of the
Powerful
f
eatures
of EC2



Auto
Scaling allows you to automatically scale your Amazon EC2
capacity up or down according to conditions you define.


With
Auto Scaling, you can ensure that the number of Amazon EC2
instances you’re using scales up seamlessly during demand spikes to
maintain performance, and scales down automatically during
demand lulls to minimize costs.


Auto
Scaling is particularly well suited for applications that
experience hourly, daily, or weekly variability in usage.


Technology
-

How EC2 Scales ?




Amazon’s
cloud computing is based on
highly customized



Xen
-
based S
erver
V
irtualization
technology.




Xen

is an open source x86 virtual machine monitor which can
create multiple virtual machines on a physical machine.


Xen

Virtualization


How it manages ?



Xen

only allows a special privileged virtual machine called
driver
domain,
or

domain 0
to directly control the network devices.



All
the other virtual machines (called
guest domains
in
Xen
) have to
communicate through the driver domain to access the physical
network devices.


Xen

Virtualization


Comm. b/w Domain 0 & Guest Domain


T
he
driver domain has a set of drivers to control the physical Network
Interface Cards (NIC), and a set of
back
-
end interfaces
to communicate
with
guest domains
.


The back
-
end interfaces and physical drivers are connected by a
software bridge inside the kernel of the driver domain.



Each
guest domain
has a customized virtual interface driver to
communicate with a back
-
end interface in the driver domain.


All
the packets sent from
guest domains
will be sent to the driver
domain through the virtual interfaces and then sent into the network
.



All the packets destined to a
guest domain
will be received by the
driver domain first, and then transferred to the
guest domain
.


Technology
-

How EC2 Scales ?




Each
virtual machine runs an instance of an operating system. A
scheduler is running in the
Xen

hypervisor to schedule virtual
machines on the processors
.





There might be several
Xen

virtual machines running on one physical
server
.





Each
Xen

virtual machine is called an
instance

in Amazon EC2.



Instance Types


Virtual machine instances normally share physical processors and I/O
interfaces with other instances.


There are several types of instances. Each type of instance provides a
predictable amount of computing capacity.


CPU capacity, RAM size and I/O
bandwidth

for each are different.


Standard Instances


Small
Instance (Default
)


Large
Instance


Extra
Large Instance


Micro Instances


High
-
Memory Instances


High
-
CPU Instances


Cluster Compute Instances


Cluster GPU
Instances



It is expected that virtualization can impact the computation and communication performance of cloud
services.




Elastic Load Balancing



(Additional Service)


Elastic Load Balancing automatically distributes incoming application
traffic across multiple Amazon EC2 instances
.




It enables you to achieve even greater fault tolerance in your
applications, seamlessly providing the amount of load balancing
capacity needed in response to incoming application traffic
.




Elastic Load Balancing detects unhealthy instances within a pool and
automatically reroutes traffic to healthy instances until the unhealthy
instances have been restored.

Amazon Elastic Block Store

(Additional Service)


While each instance has storage associated with it, the local instance
storage is not persistent across instance termination, so other
solutions, such as Amazons Simple Storage Service (S3) or Elastic Block
Store (EBS) are required.




Amazon EBS volumes provide off
-
instance storage that persists
independently from the life of an instance
.



Amazon
Elastic Block Store enables you to create volumes that can be
mounted as block devices by Amazon EC2 instances. Amazon EBS
volumes behave like raw unformatted external block devices, and they
persist past the life of an Amazon EC2 instance.

Amazon Virtual Private Cloud

(Additional Service)


Amazon VPC is a secure and seamless bridge between a
company’s existing IT infrastructure and the AWS cloud.


Amazon
VPC enables enterprises to connect their existing
infrastructure to a set of isolated AWS compute resources via a
Virtual Private Network (VPN) connection, and to extend their
existing management capabilities such as security services,
firewalls, and intrusion detection systems to include their AWS
resources.

Amazon
CloudWatch
-

(Additional Service)


Amazon
CloudWatch

is a web service that provides monitoring for
AWS cloud resources and applications, starting with Amazon EC2. It
provides you with visibility into resource utilization, operational
performance, and overall demand patterns

including metrics such as
CPU utilization, disk reads and writes, and network traffic. You can get
statistics, view graphs, and set alarms for your metric data. To use
Amazon
CloudWatch
, simply select the Amazon EC2 instances that
you’d like to monitor. You can also supply your own business or
application metric data. Amazon
CloudWatch

will begin aggregating
and storing monitoring data that can be accessed using web service
APIs or Command Line
Tools


Amazon
CloudWatch

is a monitoring service for Amazon EC2 that is
designed to gather, aggregate, store, and retrieve metrics.

High Performance Computing (HPC) Clusters



Customers with complex computational workloads such as tightly
coupled parallel processes, or with applications sensitive to network
performance, can achieve the same high compute and network
performance provided by custom
-
built infrastructure while benefiting
from the elasticity, flexibility and cost advantages of Amazon EC2
.


Cluster
Compute and Cluster GPU Instances have been specifically
engineered to provide high
-
performance network capability and can
be programmatically launched into clusters


allowing applications to
get the low
-
latency network performance required for tightly coupled,
node
-
to
-
node communication
.


Cluster
Compute and Cluster GPU Instances also provide significantly
increased network throughput making them well suited for customer
applications that need to perform network
-
intensive operations.

Amazon Simple Storage Service (Amazon S3)


Amazon S3 provides a simple web services interface that can be used
to store and retrieve any amount of data, at any time, from anywhere
on the web.


It
gives any developer access to the same highly scalable, reliable,
secure, fast, inexpensive infrastructure that Amazon uses to run its
own global network of web sites.

Amazon Simple Queue Service (Amazon SQS)


Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly
scalable, hosted queue for storing messages as they travel between
computers
.



By using Amazon SQS, developers can simply move data between
distributed components of their applications that perform different
tasks, without losing messages or requiring each component to be
always available
.


Amazon
SQS makes it easy to build an automated workflow, working
in close conjunction with the Amazon Elastic Compute Cloud (Amazon
EC2) and the other AWS infrastructure web services.

Get Started with EC2

EC2 Site Architecture
Diagrams (
Egs
.)


All
-
in
-
one Single Server
Setup :

EC2 Site Architecture Diagrams (
Egs
.)

Scalable Server Array
Setup :

Multiple Cloud Setup


Queue
-
based Scalable Setup


Best Practices of Amazon EC2



Launch Multiple Instances All At
Once


start all of them at once with a simple run
-
instances command that specifies the
number of instances of each type
.


Automate As Much As
Possible


Automation will empower the developer to run a dynamic programmable datacenter
that expands and contracts based on his needs


Add Compute Instances On
-
The
-
Fly


E.g..
Hadoop supports the dynamic addition of new nodes and task tracker nodes to
a running cluster. One can simply launch new compute instances and start Hadoop
processes on them, point them to the master and dynamically grow (and shrink) the
cluster in real
-
time to speed up the overall process
.


References :


http://aws.amazon.com/ec2
/


http://support.rightscale.com/12
-
Guides/EC2_Best_Practices/
EC2_Site_Architecture_Diagrams


http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide
/


Cloud Computing: An
Overview
, Ling
Qlan
,
Zhiguo

Luo
,
Yujian

Du,
Leitao

Guo


The
Impact of Virtualization on Network Performance of Amazon EC2 Data
Center,
Guohui

Wang


Ng, T.S.E.


Dept
. of
Comput
. Sci., Rice Univ., Houston, TX,
USA


A Quantitative Analysis of High Performance Computing with Amazon’s EC2
Infrastructure: The Death of the Local Cluster
?,
Zach
Hill #1 and Marty Humphrey #
2
#
Department of Computer Science, University of Virginia 151 Engineer’s Way, P.O.
Box 400740, Charlottesville, VA 22904
-
4740, USA


Cloud
Architectures
,
June

2008,
Jinesh

Varia,
Technology

Evangelist

Amazon Web
Services


A Performance Analysis of EC2 Cloud Computing Services for Scientific
Computing,
Simon
Ostermann1,
Alexandru

Iosup
'',
Nezih

Yigitbasi
",
Radu

Prodan1, Thomas
Fahringer
", and Dick
Eperna
/






Questions ?