Professional Documents
Culture Documents
Cloud Tranning
Cloud Tranning
TRAINING
• By Samir
1
What is Cloud Computing?
• Cloud Computing is a general term used to describe a new class
of network based computing that takes place over the Internet,
– basically a step on from Utility Computing
– a collection/group of integrated and networked hardware,
software and Internet infrastructure (called a platform).
– Using the Internet for communication and transport provides
hardware, software and networking services to clients
• These platforms hide the complexity and details of the
underlying infrastructure from users and applications by
providing very simple graphical interface or API (Applications
Programming Interface).
2
What is Cloud Computing?
• In addition, the platform provides on demand
services, that are always on, anywhere,
anytime and any place.
• Pay for use and as needed, elastic
– scale up and down in capacity and functionalities
• The hardware and software services are
available to
– general public, enterprises, corporations and
businesses markets
3
Cloud Summary
• Cloud computing is an umbrella term used to refer to
Internet based development and services
5
What is Cloud Computing
Essential Characteristics:
On Demand Self-Service
Broad Network Access Rapid Elasticity
Resource Pooling Measured Service
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance 7
Cloud Service Models
Software as a Platform as a Infrastructure as a
Service (SaaS) Service (PaaS) Service (IaaS)
SalesForce CRM
LotusLive
Google
App
Engine
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance 8
SaaS Maturity Model
Level 1: Ad-Hoc/Custom –
One Instance per customer
9
Source: Frederick Chong and Gianpaolo Carraro, “Architectures Strategies for Catching the Long Tail”
Different Cloud Computing Layers
MS Live/ExchangeLabs, IBM,
Application Service Google Apps; Salesforce.com
(SaaS) Quicken Online, Zoho, Cisco
10
Cloud Computing Service Layers
Services Description
Services – Complete business services such as
Services PayPal, OpenID, OAuth, Google Maps, Alexa
Focused
Hosting – Physical data centers such as those run
Hosting by IBM, HP, NaviSite, etc.
11
Basic Cloud Characteristics
• The “no-need-to-know” in terms of the underlying
details of infrastructure, applications interface with
the infrastructure via the APIs.
• The “flexibility and elasticity” allows these systems
to scale up and down at will
– utilising the resources of all kinds
• CPU, storage, server capacity, load balancing, and databases
• The “pay as much as used and needed” type of
utility computing and the “always on!, anywhere
and any place” type of network-based computing.
12
Basic Cloud Characteristics
• Cloud are transparent to users and
applications, they can be built in multiple ways
– branded products, proprietary open source,
hardware or software, or just off-the-shelf PCs.
• In general, they are built on clusters of PC
servers and off-the-shelf components plus
Open Source software combined with in-
house applications and/or system software.
13
Software as a Service (SaaS)
• SaaS is a model of software deployment where an
application is hosted as a service provided to
customers across the Internet.
• Saas alleviates the burden of software
maintenance/support
– but users relinquish control over software versions and
requirements.
• Terms that are used in this sphere include
– Platform as a Service (PaaS) and
– Infrastructure as a Service (IaaS)
14
Virtualization
• Virtual workspaces:
– An abstraction of an execution environment that can be made
dynamically available to authorized clients by using well-defined
protocols,
– Resource quota (e.g. CPU, memory share),
– Software configuration (e.g. O/S, provided services).
• Implement on Virtual Machines (VMs):
– Abstraction of a physical host machine,
– Hypervisor intercepts and emulates instructions from VMs, and allows
management of VMs, App App App
– VMWare, Xen, etc. OS OS OS
• Provide infrastructure API: Hypervisor
Hardware
Denali
etc.
Performance: Para-virtualization (e.g. Xen) is very close to raw physical
performance!
16
What is the purpose and benefits?
• Cloud computing enables companies and applications,
which are system infrastructure dependent, to be
infrastructure-less.
• By using the Cloud infrastructure on “pay as used and on
demand”, all of us can save in capital and operational
investment!
• Clients can:
– Put their data on the platform instead of on their own desktop
PCs and/or on their own servers.
– They can put their applications on the cloud and use the
servers within the cloud to do processing and data
manipulations etc.
18
Cloud-Sourcing
• Why is it becoming a Big Deal:
– Using high-scale/low-cost providers,
– Any time/place access via web browser,
– Rapid scalability; incremental cost and load sharing,
– Can forget need to focus on local IT.
• Concerns:
– Performance, reliability, and SLAs,
– Control of data, and service parameters,
– Application features and choices,
– Interaction between Cloud providers,
– No standard API – mix of SOAP and REST!
– Privacy, security, compliance, trust…
19
Some Commercial Cloud Offerings
20
Cloud Taxonomy
21
Cloud Storage
• Several large Web companies are now exploiting the
fact that they have data storage capacity that can be
hired out to others.
– allows data stored remotely to be temporarily cached on
desktop computers, mobile phones or other Internet-
linked devices.
22
Amazon Simple Storage Service (S3)
• Unlimited Storage.
• Pay for what you use:
– $0.20 per GByte of data transferred,
– $0.15 per GByte-Month for storage used,
– Second Life Update:
• 1TBytes, 40,000 downloads in 24 hours - $200,
23
Utility Computing – EC2
• Amazon Elastic Compute Cloud (EC2):
– Elastic, marshal 1 to 100+ PCs via WS,
– Machine Specs…,
– Fairly cheap!
• Powered by Xen – a Virtual Machine:
– Different from Vmware and VPC as uses “para-virtualization” where
the guest OS is modified to use special hyper-calls:
– Hardware contributions by Intel (VT-x/Vanderpool) and AMD (AMD-V).
– Supports “Live Migration” of a virtual machine between hosts.
• Linux, Windows, OpenSolaris
• Management Console/AP
24
EC2 – The Basics
• Load your image onto S3 and register it.
• Boot your image from the Web Service.
• Open up required ports for your image.
• Connect to your image through SSH.
• Execute you application…
25
Opportunities and Challenges
• The use of the cloud provides a number of
opportunities:
– It enables services to be used without any understanding
of their infrastructure.
– Cloud computing works using economies of scale:
• It potentially lowers the outlay expense for start up companies, as
they would no longer need to buy their own software or servers.
• Cost would be by on-demand pricing.
• Vendors and Service providers claim costs by establishing an
ongoing revenue stream.
– Data and services are stored remotely but accessible from
“anywhere”.
26
Opportunities and Challenges
• In parallel there has been backlash against cloud computing:
– Use of cloud computing means dependence on others and that could
possibly limit flexibility and innovation:
• The others are likely become the bigger Internet companies like Google and
IBM, who may monopolise the market.
• Some argue that this use of supercomputers is a return to the time of
mainframe computing that the PC was a reaction against.
– Security could prove to be a big issue:
• It is still unclear how safe out-sourced data is and when using these services
ownership of data is not always clear.
– There are also issues relating to policy and access:
• If your data is stored abroad whose policy do you adhere to?
• What happens if the remote server goes down?
• How will you then access files?
• There have been cases of users being locked out of accounts and losing access
to data.
27
Advantages of Cloud Computing
• Lower computer costs:
– You do not need a high-powered and high-priced computer
to run cloud computing's web-based applications.
– Since applications run in the cloud, not on the desktop PC,
your desktop PC does not need the processing power or hard
disk space demanded by traditional desktop software.
– When you are using web-based applications, your PC can be
less expensive, with a smaller hard disk, less memory, more
efficient processor...
– In fact, your PC in this scenario does not even need a CD or
DVD drive, as no software programs have to be loaded and
no document files need to be saved.
28
Advantages of Cloud Computing
• Improved performance:
– With few large programs hogging your computer's
memory, you will see better performance from your PC.
– Computers in a cloud computing system boot and run
faster because they have fewer programs and processes
loaded into memory…
• Reduced software costs:
– Instead of purchasing expensive software applications, you
can get most of what you need for free-ish!
• most cloud computing applications today, such as the Google Docs suite.
– better than paying for similar commercial software
• which alone may be justification for switching to cloud applications.
29
Advantages of Cloud Computing
• Instant software updates:
– Another advantage to cloud computing is that you are no longer faced
with choosing between obsolete software and high upgrade costs.
– When the application is web-based, updates happen automatically
• available the next time you log into the cloud.
– When you access a web-based application, you get the latest version
• without needing to pay for or download an upgrade.
30
Advantages of Cloud Computing
• Unlimited storage capacity:
– Cloud computing offers virtually limitless storage.
– Your computer's current 1 Tbyte hard drive is small compared
to the hundreds of Pbytes available in the cloud.
• Increased data reliability:
– Unlike desktop computing, in which if a hard disk crashes and
destroy all your valuable data, a computer crashing in the cloud
should not affect the storage of your data.
• if your personal computer crashes, all your data is still out there in the
cloud, still accessible
– In a world where few individual desktop PC users back up their
data on a regular basis, cloud computing is a data-safe
computing platform!
31
Advantages of Cloud Computing
• Universal document access:
– That is not a problem with cloud computing, because you
do not take your documents with you.
– Instead, they stay in the cloud, and you can access them
whenever you have a computer and an Internet connection
– Documents are instantly available from wherever you are
• Latest version availability:
– When you edit a document at home, that edited version is
what you see when you access the document at work.
– The cloud always hosts the latest version of your documents
• as long as you are connected, you are not in danger of having an outdated
version
32
Advantages of Cloud Computing
• Easier group collaboration:
– Sharing documents leads directly to better collaboration.
– Many users do this as it is an important advantages of cloud
computing
• multiple users can collaborate easily on documents and projects
• Device independence.
– You are no longer tethered to a single computer or network.
– Changes to computers, applications and documents follow
you through the cloud.
– Move to a portable device, and your applications and
documents are still available.
33
Disadvantages of Cloud Computing
• Requires a constant Internet connection:
– Cloud computing is impossible if you cannot connect to the
Internet.
– Since you use the Internet to connect to both your
applications and documents, if you do not have an Internet
connection you cannot access anything, even your own
documents.
– A dead Internet connection means no work and in areas
where Internet connections are few or inherently
unreliable, this could be a deal-breaker.
34
Disadvantages of Cloud Computing
• Does not work well with low-speed connections:
– Similarly, a low-speed Internet connection, such as that
found with dial-up services, makes cloud computing
painful at best and often impossible.
– Web-based applications require a lot of bandwidth to
download, as do large documents.
• Features might be limited:
– This situation is bound to change, but today many web-
based applications simply are not as full-featured as their
desktop-based applications.
• For example, you can do a lot more with Microsoft PowerPoint
than with Google Presentation's web-based offering
35
Disadvantages of Cloud Computing
• Can be slow:
– Even with a fast connection, web-based applications can
sometimes be slower than accessing a similar software
program on your desktop PC.
– Everything about the program, from the interface to the
current document, has to be sent back and forth from your
computer to the computers in the cloud.
– If the cloud servers happen to be backed up at that
moment, or if the Internet is having a slow day, you would
not get the instantaneous access you might expect from
desktop applications.
36
Disadvantages of Cloud Computing
• Stored data might not be secure:
– With cloud computing, all your data is stored on the cloud.
• The questions is How secure is the cloud?
– Can unauthorised users gain access to your confidential data?
• Stored data can be lost:
– Theoretically, data stored in the cloud is safe, replicated
across multiple machines.
– But on the off chance that your data goes missing, you have
no physical or local backup.
• Put simply, relying on the cloud puts you at risk if the cloud lets you
down.
37
Disadvantages of Cloud Computing
• HPC Systems:
– Not clear that you can run compute-intensive HPC applications
that use MPI/OpenMP!
– Scheduling is important with this type of application
• as you want all the VM to be co-located to minimize communication
latency!
• General Concerns:
– Each cloud systems uses different protocols and different APIs
• may not be possible to run applications between cloud based systems
– Amazon has created its own DB system (not SQL 92), and
workflow system (many popular workflow systems out there)
• so your normal applications will have to be adapted to execute on these
platforms.
38
The Future
• Many of the activities loosely grouped together under cloud
computing have already been happening and centralised
computing activity is not a new phenomena
• Grid Computing was the last research-led centralised
approach
• However there are concerns that the mainstream adoption of
cloud computing could cause many problems for users
• Many new open source systems appearing that you can install
and run on your local cluster
– should be able to run a variety of applications on these systems
39
• Elastic Web-Scale Computing 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. Because
this is all controlled with web service APIs,
your application can automatically scale itself
up and down depending on its needs.
40
Amazon Ec2
• Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable
compute capacity in the cloud. It is designed to make web-scale computing easier for
developers. The Amazon EC2 simple web service interface allows you to obtain and configure
capacity with minimal friction. It provides you with complete control of your computing
resources and lets you run on Amazon’s proven computing environment. Amazon EC2
reduces the time required to obtain and boot new server computing easier for developers.
The Amazon EC2 simple web service interface allows you to obtain and configure capacity
with minimal friction. It provides you with complete control of your computing resources and
lets you run.
Instances (called Amazon EC2 instances) to minutes, allowing you to quickly scale capacity, both
up and down, as your computing requirements change. Amazon EC2 changes the economics
of computing by allowing you to pay only for capacity that you actually use. Amazon EC2
provides developers and system administrators the tools to build failure resilient applications
and isolate themselves from common failure scenarios.
41
Benefits
• Elastic Web-Scale Computing: 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. Because this is all controlled with web service APIs, your
application can automatically scale itself up and down depending on its needs .
• Completely Controlled :You have complete control of your Amazon EC2 instances. You have
root access to each one, and you can interact with them as you would any machine. You can
stop your Amazon EC2 instance while retaining the data on your boot partition, and then
subsequently restart the same instance using web service APIs. Instances can be rebooted
remotely using web service APIs.
• Flexible Cloud Hosting Services : You can choose among multiple instance types, operating
systems, and software packages. Amazon EC2 allows you to select the memory configuration,
CPU, instance storage, and boot partition size that are optimal for your choice of operating
system and application. For example, your choice of operating systems includes numerous
Linux distributions and Microsoft Windows Server.
• Integrated : Amazon EC2 is integrated with most AWS services, such as Amazon Simple
Storage Service (Amazon S3), Amazon Relational Database Service (Amazon RDS), and
Amazon Virtual Private Cloud (Amazon VPC) to provide a complete, secure solution for
computing, query processing, and cloud storage across a wide range of applications.
42
Cont..
• Reliable :Amazon EC2 offers a highly reliable environment where replacement instances can
be rapidly and predictably commissioned. The service runs within Amazon’s proven network
infrastructure and data centers. The Amazon EC2 Service Level Agreement (SLA) commitment
is 99.95% availability for each Region.
• Secure : Amazon EC2 works in conjunction with Amazon VPC to provide security and robust
networking functionality for your compute resources. • Your compute instances are located in
a VPC with an IP address range that you specify. You decide which instances are exposed to
the Internet and which remain private. • Security groups and network access control lists
(ACLs) allow you to control inbound and outbound network access to and from your
instances. • You can connect your existing IT infrastructure to resources in your VPC using
industry-standard encrypted IPsec virtual private network (VPN) connections. • You can
provision your Amazon EC2 resources as Dedicated Instances. Dedicated Instances are
Amazon EC2 instances that run on hardware dedicated to a single customer for additional
isolation. • You can provision your Amazon EC2 resources on Dedicated Hosts, which are
physical servers with EC2 instance capacity fully dedicated to your use. Dedicated Hosts can
help you address compliance requirements and reduce costs by allowing you to use your
existing server-bound software licenses
43
• Inexpensive : Amazon EC2 passes on to you the financial benefits of Amazon’s scale. You pay
a very low rate for the compute capacity you actually consume. See Amazon EC2 Instance
Purchasing Options for a more detailed description. •
• On-Demand Instances—With On-Demand instances, you pay for compute capacity by the
hour with no long-term commitments. You can increase or decrease your compute capacity
depending on the demands of your application and only pay the specified hourly rate for the
instances you use. The use of On-Demand instances frees you from the costs and
complexities of planning, purchasing, and maintaining hardware and transforms what are
commonly large fixed costs into much smaller variable costs. On-Demand instances also
remove the need to buy “safety net” capacity to handle periodic traffic spikes.
• • Reserved Instances—Reserved Instances provide you with a significant discount (up to
75%) compared to On-Demand instance pricing. You have the flexibility to change families,
operating system types, and tenancies while benefitting from Reserved Instance pricing when
you use Convertible Reserved Instances.
• • Spot Instances—Spot Instances allow you to bid on spare Amazon EC2 computing capacity.
Since Spot instances are often available at a discount compared to On-Demand pricing, you
can significantly reduce the cost of running your applications, grow your application’s
compute capacity and throughput for the same budget, and enable new types of cloud
computing applications.
44
AWS Regions and Availability Zones:
• Region
AZ Transit
45
Availablity Zone(AZ)
REGION
Each region has multiple, isolated
locations known as Availability Zones EC2
46
Example AWS Availability Zone AZ Transit
AZ AZ AZ
AZ Transit
47
AMI
48
Compute & Networking
Amazon Elastic Compute Cloud
Amazon EC2 instance instances AMI DB on instance with Elastic IP optimized Amazon
instance CloudWatch instance Lambda
Amazon VPC router Internet customer virtual private VPN VPC peering
gateway gateway gateway connection
49
Compute & Networking
Amazon Route 53 Elastic Load Balancing
Amazon EBS volume snapshot AWS Storage Gateway non-cached cached virtual tape library
volume volume
Storage & Content Delivery
Amazon Glacier
Amazon CloudFront
PostgreSQL SQL master SQL slave PIOP ElastiCache cache node Redis Memcached
instance
Amazon SimpleDB domain Amazon Redshift solid state disks DW1 DW2
Dense Compute Dense Compute
• Scaling by Policy
– Scaling up Policy - Double the group size
– Scaling down Policy - Decrement by 1
• Scale By Hand
– Not so auto, but still better than nothing!
50% Savings Weekly CPU Load
81
82
Amazon Route 53 Design Principles
83
DNS Failover
• Can improve the availability of your applications running on
AWS.
• Allows you to configure backup and failover scenarios for your
own applications. Enables highly available multi-region
architectures on AWS Helps add redundancy to your
application and maintain high availability for your end users.
• Enables customers to run primary applications simultaneously
in multiple AWS regions, with Amazon Route 53 automatically
removing from service any region where your application is
unavailable.
84
Simple Failover Configuration
85
VPC: Virtual Private cloud
86
Choosing an IP address range
87
ELB
Supports load balancing of HTTP, HTTPS and TCP traffic
to EC2 instances
Detects and removes failing instances
Dynamically grows and shrinks based on traffic
Integrates with Auto Scaling
Elastic Load Balancing allows the incoming traffic to be
distributed automatically across multiple healthy EC2
instances.
• ELB serves as a single point of contact to the client.
• ELB helps to being transparent and increases the
application availability by allowing addition or removal
of multiple EC2 instances across one or more availability
zones, without disrupting the overall flow of
information.
88
ELB Benefit
• Elb is itself a distributed system that is fault tolerant and actively
monitored
• abstracts out the complexity of managing, maintaining, and scaling
load balancers
• can also serve as the first line of defence against attacks on
network.
• can offload the work of encryption and decryption (SSL
termination) so that the EC2 instances can focus on their main work
• offers integration with Auto Scaling, which ensures enough back-
end capacity available to meet varying traffic levels
• are engineered to not be a single point of failure
Classic Load Balancer Types
101
EFS is designed for a broad range
of use cases, such as…
• Content repositories
• Development environments
• Home directories
• Big data
102
Use Glacier for Cold Data
[default]
output = json Note the syntax here is
region = us-west-2 different from how
aws_access_key = XXXXXX it was given in the web console!
aws_secret_access_key = AWSAccessKey=XXXXXX
YYYYYYYYYYYY AWSSecretAccessKey=YYYYYYYY
Y
aws s3 help
aws s3 ls help
EC2 Command Line Examples
aws ec2 describe-instances
run-instances --image-id ami-xxxxx --
count 1
--instance-type
t1.micro --key-name keyfile
stop-instances --instance-id i-xxxxxx
Customer IAM
Platform & Applications Management
Custom
Operating System, Network & Firewall Configuration
ers
Client-Side Data encryption
Server-Side Encryption Network Traffic Protection
& Data Integrity Fire System and/or Data Encryption / Integrity / Identity
Authentication
Optional – Opaque data: 1’s and 0’s (in transit/at rest)
AWS IAM
Availability Zones
AWS Global Edge Locations
Regions
Infrastructure
Identity Access Management (IAM)
With AWS IAM you get to control who can do what in
your AWS environment and from where
+
Key Components
• Docker Daemon
• Task Definitions
• Containers
• Clusters
• Container Instances
Typical User Workflow
Push Image(s)
Typical User Workflow
Declare resource
requirements
Create Task
Amazon
Definition ECS
Typical User Workflow
Use custom AMI with
Docker support and ECS
Agent. Instances will
register with default
cluster.
Describe Cluster
Amazon
ECS
Typical User Workflow
Run Task
Amazon
ECS
Typical User Workflow
Describe Cluster
Amazon
ECS
AWS Elastic Beanstalk
126
AWS Elastic Beanstalk - Environments
127
CloudFormation
• Why CloudFormation?
• It’s a service which use and module resources
with template.
128
129
JASON SCRIPT STRUCTURE
• AWS TEMPLETE FORMET VERSION
• DESCRIPTION
• METADATA
• PARAMETERS
• MAPPING
• CONDITIONS
• OUTPUT
• RESOURCES
130
Demo
• EC2 creation, Deletion
• EC2 deployment
• AUTO Scalling
• AMI
• VPC
• SUBNET
• Routing Table
• IG
• Elastic Beanstak
• ELB-Elastic Load Balancer
• Lambda
• Cloud Formation
• S3 Bucket
• System Manager- for patching
• IAM Role creation
131