0% found this document useful (0 votes)
21 views

Module 2

cloud1

Uploaded by

Suman Chatterjee
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Module 2

cloud1

Uploaded by

Suman Chatterjee
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 140

A Classification of Cloud

Implementations
Module II
A Classification of Cloud Implementations-
• Amazon Web Services - IaaS,
• The Elastic Compute Cloud (EC2),
• The Simple Storage Service (S3),
• The Simple Queuing Services (SQS),
• VMware vCloud - IaaS, vCloud Express,
• Google AppEngine - PaaS, The Java Runtime Environment
What is AWS?
• AWS stands for Amazon Web Services.
• The AWS service is provided by the Amazon that uses
distributed IT infrastructure to provide different IT resources
available on demand.
• It provides different services such as infrastructure as a
service (IaaS), platform as a service (PaaS) and
packaged software as a service (SaaS).
• Amazon launched AWS, a cloud computing platform to allow
the different organizations to take advantage of reliable IT
infrastructure.
Amazon Cloud Computing models
Uses of AWS
• A small manufacturing organization uses their expertise to
expand their business by leaving their IT management to the
AWS.
• A large enterprise spread across the globe can utilize the
AWS to deliver the training to the distributed workforce.
• An architecture consulting company can use AWS to get the
high-compute rendering of construction prototype.
• A media company can use the AWS to provide different types
of content such as ebox or audio files to the worldwide files.
AWS
Pay-As-You-Go
• Based on the concept of Pay-As-You-Go, AWS provides the
services to the customers.
• AWS provides services to customers when required without
any prior commitment or upfront investment. Pay-As-You-Go
enables the customers to procure services from AWS.
• Computing
• Programming models
• Database storage
• Networking
Pay-As-You-Go
Amazon current status
Amazon - IaaS
• Infrastructure as a service is one of Amazon Web Services that
focuses on providing infrastructure services based on cloud
computing technology.
• It’s not difficult to name an organization that provides IaaS but
among the top providers worldwide, AWS stands out as the front
runner for IaaS cloud services.
• It has clients in 190 countries and 66 available Zones within
21 geographic regions.
• IaaS Amazon Service is used to replace physical resources, such
as servers, with virtual resources hosted and managed by
Amazon.
Amazon - IaaS
• System users can run any operating system or
application on these leased servers, without incurring any
extra fees for maintenance and operation.
• AWS IaaS helps businesses to digitize more quickly while
allowing them to integrate all their data on a single
platform.
• Additionally, it enables businesses to scale up and down at
any given time to suit their needs.
• All these features make AWS IaaS a widely-used platform by
companies nowadays. Magento can be considered a typical
example of IaaS in AWS.
AWS IaaS Benefits
• Availability of separate development environment
• Hardware and operating system specifications for the service can
be selected and used directly from the network
• Allow expanding the resources of the server in terms of quantity
and functionality
• No errors or extra costs arise while upgrading the system
AWS IaaS Characteristics:
Characteristics that define IaaS include:
• Resources are available as a service
• Cost depends on the consumption
• Highly scalable
• Allow multiple users to access a single piece of hardware
• The organization has complete control of the infrastructure
• Dynamic and flexible
Advantages of AWS
1) Flexibility
• We can get more time for core business tasks due to the
instant availability of new features and services in AWS.
• It provides effortless hosting of legacy applications. AWS does not
require learning new technologies and migration of applications to
the AWS provides the advanced computing and efficient storage.
• AWS also offers a choice that whether we want to run the
applications and services together or not. We can also choose to
run a part of the IT infrastructure in AWS and the remaining part in
data centres.
2) Cost-effectiveness
• AWS requires no upfront investment, long-term commitment,
and minimum expense when compared to traditional IT
infrastructure that requires a huge investment.
3) Scalability/Elasticity
• Auto-scaling and elastic load balancing techniques are automatically
scaled up or down, when demand increases or decreases respectively. AWS
techniques are ideal for handling unpredictable or very high loads.
Due to this reason, organizations enjoy the benefits of reduced cost and
increased user satisfaction.
4) Security
• AWS provides end-to-end security and privacy to customers.
• AWS has a virtual infrastructure that offers optimum availability while
managing full privacy and isolation of their operations.
• Customers can expect high-level of physical security because of Amazon's
several years of experience in designing, developing and maintaining large-
scale IT operation centers.
• AWS ensures the three aspects of security, i.e., Confidentiality, integrity,
and availability of user's data.
AWS Global Infrastructure
• AWS is a cloud computing platform which is globally available.

• Global infrastructure is a region around the world in which AWS is


based. Global infrastructure is a bunch of high-level IT services which
is shown below:

• AWS is available in 19 regions, and 57 availability zones in


December 2018 and 5 more regions 15 more availability zones for
2019.
• The following are the components that make up the AWS
infrastructure:
• Availability Zones
• Region
• Edge locations
• Regional Edge Caches
Availability zone as a Data Center
• An availability zone is a facility that can be somewhere in a country or
in a city. Inside this facility, i.e., Data Centre, we can have multiple
servers, switches, load balancing, firewalls.

• The things which interact with the cloud sits inside the data centers.

• An availability zone can be a several data centers, but if they are


close together, they are counted as 1 availability.
Region
• A region is a geographical area. Each region consists of 2 more
availability zones.

• A region is a collection of data centers which are completely isolated


from other regions.
• A region consists of more than two availability zones connected to
each other through links.
• Availability zones are connected through redundant and isolated metro
fibers.
Edge Locations
• Edge locations are the endpoints for AWS used for caching content.

• Edge locations consist of CloudFront, Amazon's Content Delivery


Network (CDN).

• Edge locations are more than regions. Currently, there are over 150
edge locations.

• Edge location is not a region but a small location that AWS have. It is
used for caching the content.
• Edge locations are mainly located in most of the major cities
to distribute the content to end users with reduced latency.

• For example, some user accesses your website from Singapore; then
this request would be redirected to the edge location closest to
Singapore where cached data can be read.
Regional Edge Cache
• AWS announced a new type of edge location in November 2016,
known as a Regional Edge Cache.

• Regional Edge cache lies between CloudFront Origin servers and the
edge locations.

• A regional edge cache has a large cache than an individual


edge location.

• Data is removed from the cache at the edge location while the data
is retained at the Regional Edge Caches.
• When the user requests the data, then data is no longer
available at the edge location. Therefore, the edge location
retrieves the cached data from the Regional edge cache
instead of the Origin servers that have high latency.
AWS Free Tier
• How to SignUp to the AWS platform
• Firstly visit the website https://aws.amazon.com.
• Click on the Complete Sign Up to create an account and fill the
required details.

• Clicking on the "Complete Sign Up" button. If you are an already


existing user of an AWS account, then enter the email address of your
AWS account otherwise "create an aws account".

• On clicking on the "create an aws account" button.


AWS Accounts
• AWS assigns two types of unique ID to each user's account:
• An AWS account ID
• AWS account ID is a 12-digit number such as 123456780123
which can be used to construct Amazon Resource Names
(ARNs). Suppose we refer to resources such as an IAM user, the
AWS account ID distinguishes the resources from resources in
other AWS accounts.
• A canonical user ID
• A Canonical user ID is 64-digit hexadecimal encoded a 256-bit
number.
• A canonical user ID is used in an Amazon S3 bucket policy for
cross-account access means that AWS account can access the
resources in another AWS account.
• For example, if you want AWS account access to your bucket,
you need to specify the canonical user ID to your bucket's
policy.
The Elastic Compute Cloud (EC2)
• EC2 stands for Amazon Elastic Compute Cloud.

• Amazon EC2 is a web service that provides resizable


compute capacity in the cloud.

• Now, Amazon has provided an EC2 which is a virtual machine


in the cloud that completely changes the industry.
• Amazon EC2 changes the economics of computing by allowing you to
pay only for the resources that you actually use. Rather than you
previously buy physical servers, you would look for a server that has
more CPU capacity, RAM capacity and you buy a server over 5 year
term, so you have to plan for 5 years in advance. People spend a lot of
capital in such investments. EC2 allows you to pay for the capacity
that you actually use.

• Amazon EC2 provides the developers with the tools to build


resilient applications that isolate themselves from some common
scenarios.
AWS
EC2 Pricing Options : On Demand
• It allows you to pay a fixed rate by the hour or even by the
second with no commitment.
• Linux instance is by the second and windows instance is by the
hour.
• On Demand is perfect for the users who want low cost and
flexibility of Amazon EC2 without any up-front investment or
long-term commitment.
• It is suitable for the applications with short term, spiky or
unpredictable workloads that cannot be interrupted.
• On Demand instance is recommended when you are not sure
which instance type is required for your performance needs.
EC2 Pricing Options : Reserved
• It is a way of making a reservation with Amazon or we make a
contract with Amazon. The contract can be for 1 or 3 years in
length.

• In a Reserved instance, you are making a contract means you


are paying some upfront, so it gives you a significant discount on
the hourly charge for an instance.

• It is useful for applications with steady state or predictable


usage.

• It is used for those applications that require reserved capacity.


EC2 Pricing Options : Reserved
• Users can make up-front payments to reduce their total
computing costs.

• For example, if you pay all your upfronts and you do 3 years
contract, then only you can get a maximum discount,

• if you do not pay all upfronts and do one year contract then you
will not be able to get as much discount as you can get If you do
3 year contract and pay all the upfronts.
Types of Reserved Instances:
• Standard Reserved Instances
• It provides a discount of up to 75% off on demand. For example, you
are paying all up-fronts for 3 year contract.
• It is useful when your Application is at the steady-state.
• Convertible Reserved Instances
• It provides a discount of up to 54% off on demand.
• Like Standard Reserved Instances, it is also useful for the steady
state applications.
• Scheduled Reserved Instances
• Scheduled Reserved Instances are available to launch within the
specified time window you reserve.
• It allows you to match your capacity reservation to a predictable
recurring schedule that only requires a fraction of a day, a week,
or a month.
Spot Instances
• It allows you to bid for a price whatever price that you want
for instance capacity, and providing better savings if your
applications have flexible start and end times.

• Spot Instances are useful for those applications that have flexible
start and end times.

• It is useful for those applications that are feasible at very low


compute prices.

• It is useful for those users who have an urgent need for large
amounts of additional computing capacity.
Spot Instances
• EC2 Spot Instances provide less discounts as compared
to On Demand prices.

• Spot Instances are used to optimize your costs on the


AWS cloud and scale your application's throughput up to
10X.

• EC2 Spot Instances will continue to exist until you


terminate these instances.
Dedicated Hosts
• A dedicated host is a physical server with EC2 instance capacity
which is fully dedicated to your use.
• The physical EC2 server is the dedicated host that can help you
to reduce costs by allowing you to use your existing server-bound
software licenses. For example, Vmware, Oracle, SQL Server
depending on the licenses that you can bring over to AWS and
then they can use the Dedicated host.
• Dedicated hosts are used to address compliance requirements
and reduces host by allowing to use your existing server-bound
server licenses.
• It can be purchased as a Reservation for up to 70% off On-
Demand price.
What is EBS?
• EBS stands for Elastic Block Store.

• EC2 is a virtual server in a cloud while EBS is a virtual disk in a


cloud.

• Amazon EBS allows you to create storage volumes and attach them to
the EC2 instances.

• Once the storage volume is created, you can create a file system on the
top of these volumes, and then you can run a database, store the files,
applications or you can even use them as a block device in some other
way.
What is EBS?
• Amazon EBS volumes are placed in a specific availability zone,
and they are automatically replicated to protect you from the failure of
a single component.

• EBS volume does not exist on one disk, it spreads across the
Availability Zone. EBS volume is a disk which is attached to an EC2
instance.

• EBS volume attached to the EC2 instance where windows or Linux is


installed known as Root device of volume.
AMI
• An AMI stands for Amazon Machine Images.

• An AMI is a virtual image used to create a virtual machine within an


EC2 instance.

• You can also create multiple instances using single AMI when you need
instances with the same configuration.

• You can also create multiple instances using different AMI when you
need instances with a different configuration.
• It also provides a template for the root volume of an instance.
AMI Lifecycle
• First, you need to create and register an AMI.

• You can use an AMI to launch EC2 instances.

• You can also copy an AMI to some different region.

• When AMI is no longer required, then you can also deregister it.
The Simple Storage Service (S3)
• Amazon Simple Storage Service (Amazon S3) is an object storage service that
offers industry-leading scalability, data availability, security, and
performance.

• S3 is a safe place to store the files.


• It is Object-based storage, i.e., you can store the images, word files, pdf files,
etc.
The Simple Storage Service (S3)
• The files which are stored in S3 can be from 0 Bytes to 5 TB.
• It has unlimited storage means that you can store the data as
much you want.

• Files are stored in Bucket. A bucket is like a folder available


in S3 that stores the files.

• S3 is a universal namespace, i.e., the names must be unique


globally. Bucket contains a DNS address. Therefore, the bucket
must contain a unique name to generate a unique DNS
address.
Amazon S3
Advantages of Amazon S3
• Create Buckets: create a bucket  provide a name. Buckets
are the containers in S3 that stores the data. Buckets must
have a unique name to generate a unique DNS address.
• Storing data in buckets: Bucket can be used to store an
infinite amount of data. There is no maximum limit to
store the files. Each object can contain upto 5 TB of
data. Each object can be stored and retrieved by using a
unique developer assigned-key.
• Download data: You can also download your data from a
bucket and can also give permission to others to
download the same data. You can download the data at any
time whenever you want.
• Permissions: You can also grant or deny access to others who want to
download or upload the data from your Amazon S3 bucket. Authentication
mechanism keeps the data secure from unauthorized access.

• Standard interfaces: S3 is used with the standard interfaces


REST(Representational State Transfer) and SOAP(Simple Object Access
Protocol) interfaces which are designed in such a way that they can work
with any development toolkit.

• Security: Amazon S3 offers security features by protecting unauthorized


users from accessing your data.
S3 is object-based
Objects consist of the following:
• Key: It is simply the name of the object. For example, hello.txt,
spreadsheet.xlsx, etc. You can use the key to retrieve the object.
• Value: It is simply the data which is made up of a sequence of bytes. It
is actually a data inside the file.
• Version ID: Version ID uniquely identifies the object. It is a string
generated by S3 when you add an object to the S3 bucket.
• Metadata: It is the data about data that you are storing. A set of a
name-value pair with which you can store the information regarding an
object. Metadata can be assigned to the objects in Amazon S3 bucket.
• Subresources: Subresource mechanism is used to store object-specific
information.
• Access control information: You can put the permissions individually
on your files.
Amazon S3 Concepts
• Buckets
• Objects
• Keys
• Regions
• Data Consistency Model
Buckets
• A bucket is a container used for storing the objects.
• Every object is incorporated in a bucket.
• For example, if the object named photos/tree.jpg is
stored in the tree image bucket, then it can be
addressed by using the URL
http://treeimage.s3.amazonaws.com/photos/tree.jpg.
• A bucket has no limit to the amount of objects that it
can store. No bucket can exist inside of other
buckets.
Buckets
• S3 performance remains the same regardless of how
many buckets have been created.
• The AWS user that creates a bucket owns it, and no other
AWS user cannot own it. Therefore, we can say that the
ownership of a bucket is not transferrable.
• The AWS account that creates a bucket can delete a
bucket, but no other AWS user can delete the bucket.
Objects
• Objects are the entities which are stored in an S3 bucket.
• An object consists of object data and metadata where metadata is
a set of name-value pair that describes the data.
• An object consists of some default metadata such as date last
modified, and standard HTTP metadata, such as Content type.
Custom metadata can also be specified at the time of storing an
object.
• It is uniquely identified within a bucket by key and version ID.
Key
• A key is a unique identifier for an object.
• Every object in a bucket is associated with one key.
• An object can be uniquely identified by using a combination of
bucket name, the key, and optionally version ID.

• For example, in the URL http://jtp.s3.amazonaws.com/2019-01-


31/Amazons3.wsdl where "jtp" is the bucket name, and key is
"2019-01-31/Amazons3.wsdl"
Regions
• You can choose a geographical region in which you want to
store the buckets that you have created.

• A region is chosen in such a way that it optimizes the latency,


minimize costs or address regulatory requirements.

• Objects will not leave the region unless you explicitly transfer
the objects to another region.
Data Consistency Model
• Amazon S3 replicates the data to multiple servers to achieve
high availability.
Two types of model :
• Read-after-write consistency for PUTS of new objects.
• For a PUT request, S3 stores the data across multiple servers to
achieve high availability.
• A process stores an object to S3 and will be immediately available
to read the object.
• A process stores a new object to S3, it will immediately list the keys
within the bucket.
• It does not take time for propagation, the changes are reflected
immediately.
Data Consistency Model
• Eventual consistency for overwrite PUTS and DELETES
• For PUTS and DELETES to objects, the changes are reflected
eventually, and they are not available immediately.
• If the process replaces an existing object with the new
object, you try to read it immediately. Until the change is
fully propagated, the S3 might return prior data.
• If the process deletes an existing object, immediately
try to read it. Until the change is fully propagated, the S3
might return the deleted data.
• If the process deletes an existing object, immediately
list all the keys within the bucket. Until the change is fully
propagated, the S3 might return the list of the deleted key.
Creating an S3 Bucket
• Sign in to the AWS Management console.
• Move to the S3 services.
• To create an S3 bucket, click on the "Create bucket".

• Enter the bucket name which should look like DNS address, and it should
be resolvable. A bucket name should start with the lowercase letter, must
not contain any invalid characters. It should be 3 to 63 characters long.

• Click on the "Create" button. Now, the bucket is created.


• Click on the "Upload" button to add the files to your bucket.
AWS Storage Classes
• S3 storage classes are used to assist the concurrent loss of
data in one or two facilities.
• S3 storage classes maintain the integrity of the data using
checksums.
• S3 provides lifecycle management for the automatic
migration of objects for cost savings.
• S3 contains four types of storage classes:
• S3 Standard
• S3 Standard IA
• S3 one zone-infrequent access
• S3 Glacier
S3 Standard
• Standard storage class stores the data redundantly across
multiple devices in multiple facilities.
• It is designed to sustain the loss of 2 facilities concurrently.

• Standard is a default storage class if none of the storage class is


specified during upload.
• It provides low latency and high throughput performance.
• It designed for 99.99% availability and 99.999999999% durability
S3 Standard IA
• IA stands for infrequently accessed.
• Standard IA storage class is used when data is accessed less
frequently but requires rapid access when needed.
• It has a lower fee than S3, but you will be charged for a
retrieval fee.

• It is designed to sustain the loss of 2 facilities concurrently.


• It is mainly used for larger objects greater than 128 KB kept for at
least 30 days.
• It provides low latency and high throughput performance.
• It designed for 99.99% availability and 99.999999999% durability
S3 one zone-infrequent access
• S3 one zone-infrequent access storage class is used when
data is accessed less frequently but requires rapid
access when needed.
• It stores the data in a single availability zone while other
storage classes store the data in a minimum of three
availability zones. Due to this reason, its cost is 20% less
than Standard IA storage class.
• It is an optimal choice for the less frequently accessed
data but does not require the availability of Standard or
Standard IA storage class.
• It is a good choice for storing the backup data.
• It is cost-effective storage which is replicated from other
S3 one zone-infrequent access
• It has the same durability, high performance, and low
latency, with a low storage price and low retrieval fee.
• It designed for 99.5% availability and 99.999999999%
durability of objects in a single availability zone.

• It provides lifecycle management for the automatic


migration of objects to other S3 storage classes.

• The data can be lost at the time of the destruction of


an availability zone as it stores the data in a single
availability zone.
S3 Glacier
• S3 Glacier storage class is the cheapest storage class, but it can
be used for archive only.
• You can store any amount of data at a lower cost than other
storage classes.
• S3 Glacier provides three types of models:
• Expedited: In this model, data is stored for a few minutes, and it has a
very higher fee.
• Standard: The retrieval time of the standard model is 3 to 5 hours.
• Bulk: The retrieval time of the bulk model is 5 to 12 hours.

• You can upload the objects directly to the S3 Glacier.


• It is designed for 99.999999999% durability of objects across multiple
availability zones.
The Simple Queuing Services (SQS)
• SQS stands for Simple Queue Service.
• SQS was the first service available in AWS.
• Amazon SQS is a web service that gives you access to a
message queue that can be used to store messages while
waiting for a computer to process them.
• Amazon SQS is a distributed queue system that enables web
service applications to quickly and reliably queue messages
that one component in the application generates to be
consumed by another component where a queue is a
temporary repository for messages that are awaiting
processing.
The Simple Queuing Services (SQS)
• With the help of SQS, you can send, store and receive
messages between software components at any volume
without losing messages.
• Using Amazon sqs, you can separate the components of an
application so that they can run independently, easing
message management between components.
• Any component of a distributed application can store the messages in the queue.
• Messages can contain up to 256 KB of text in any format such as json, xml, etc.
• Any component of an application can later retrieve the messages
programmatically using the Amazon SQS API.
• The queue acts as a buffer between the component producing and saving data,
and the component receives the data for processing. This means that the queue
resolves issues that arise if the producer is producing work faster than the
consumer can process it, or if the producer or consumer is only intermittently
connected to the network.
• If you got two EC2 instances which are pulling the SQS Queue. You can configure
the autoscaling group if a number of messages go over a certain limit. Suppose
the number of messages exceeds 10, then you can add additional EC2 instance to
process the job faster. In this way, SQS provides elasticity.
Example -
• Let's look at a website that generates a Meme.
• Suppose the user wants to upload a photo and wants to convert into
Meme. User uploads a photo on a website and website might store a
photo in s3.
• As soon as it finished uploads, it triggers a Lambda function. Lambda
analyzes the data about this particular image to SQS, and this data
can be "what the top of the meme should say", "what the bottom of
the meme should say", the location of the S3 bucket, etc.
• The data sits inside the SQS as a message. An EC2 instance looks at
the message and performs its job.
• An EC2 instance creates a Meme and stores it in S3 bucket. Once the
EC2 instance completed its job, it moves back to the SQS.
• The best thing is that if you lose your EC2 instance, then also you
would not lose the job as the job sits inside the S3 bucket.
Another example of SQS, i.e., Travel
Website.
• Suppose the user wants to look for a package holiday and wants to look at the best
possible flight.
• A User types a query in a browser, it then hits the EC2 instance. An EC2 instance
looks "What the user is looking for?", it then puts the message in a queue to the SQS.
• An EC2 instance pulls queue. An EC2 instance continuously pulling the queue and
looking for the jobs to do.
• Once it gets the job, it then processes it. It interrogates the Airline service to get all
the best possible flights.
• It sends the result to the web server, and the web server sends back the result to the
user.
• A User then selects the best flight according to his or her budget.
If we didn't have SQS, then what
happened?
• A web server passes the information to an application server and then
application server queried an Airline service.
• If an Application server crashes, then a user loses its query. One of the great
thing about SQS is that data is queued in the SQS even if the application
server crashes, the message in the queue is marked as an invisible in a
timeout interval window.
• When the timeout runs out, message reappears in the queue; then a new
EC2 instance can use this message to perform its job.
• Therefore, we can say that SQS removes the application server dependency.
Queue Types
• There are two types of Queue:
• Standard Queues (default)
• SQS offers a standard queue as the default queue type.
• It allows you to have an unlimited number of transactions per second.
• It guarantees that a message is delivered at least once. However, sometime,
more than one copy of a message might be delivered out of order.
• It provides best-effort ordering which ensures that messages are generally
delivered in the same order as they are sent but it does not provide a
guarantee.
• FIFO Queues (First-In-First-Out)
• The FIFO Queue complements the standard Queue.
• It guarantees ordering, i.e., the order in which they are sent is also
received in the same order.
• The most important features of a queue are FIFO Queue and
exactly-once processing, i.e., a message is delivered once and
remains available until consumer processes and deletes it.
• FIFO Queue does not allow duplicates to be introduced into the
Queue.
• It also supports message groups that allow multiple ordered
message groups within a single Queue.
• FIFO Queues are limited to 300 transactions per second but have all
the capabilities of standard queues.
EC2 Pricing Options : Reserved
• It is a way of making a reservation with Amazon or we can say that we make
a contract with Amazon. The contract can be for 1 or 3 years in length.
• In a Reserved instance, you are making a contract means you are paying
some upfront, so it gives you a significant discount on the hourly charge for
an instance.
• It is useful for applications with steady state or predictable usage.
• It is used for those applications that require reserved capacity.
• Users can make up-front payments to reduce their total computing costs. For
example, if you pay all your upfronts and you do 3 years contract, then only
you can get a maximum discount, and if you do not pay all upfronts and do
one year contract then you will not be able to get as much discount as you
can get If you do 3 year contract and pay all the upfronts.
Types of Reserved Instances:
• Standard Reserved Instances
• It provides a discount of up to 75% off on demand. For example, you are
paying all up-fronts for 3 year contract.
• It is useful when your Application is at the steady-state.
• Convertible Reserved Instances
• It provides a discount of up to 54% off on demand.
• It provides the feature that has the capability to change the attributes of RI as
long as the exchange results in the creation of Reserved Instances of equal or
greater value.
• Like Standard Reserved Instances, it is also useful for the steady state
applications.
• Scheduled Reserved Instances
• Scheduled Reserved Instances are available to launch within
the specified time window you reserve.
• It allows you to match your capacity reservation to a
predictable recurring schedule that only requires a fraction of
a day, a week, or a month.
Spot Instances
• It allows you to bid for a price whatever price that you want for
instance capacity, and providing better savings if your
applications have flexible start and end times.
• Spot Instances are useful for those applications that have flexible
start and end times.
• It is useful for those applications that are feasible at very low
compute prices.
• It is useful for those users who have an urgent need for large
amounts of additional computing capacity.
• EC2 Spot Instances provide less discounts as compared to On
Demand prices.
• Spot Instances are used to optimize your costs on the AWS cloud
and scale your application's throughput up to 10X.
Dedicated Hosts
• A dedicated host is a physical server with EC2 instance capacity which is fully
dedicated to your use.

• The physical EC2 server is the dedicated host that can help you to reduce costs by
allowing you to use your existing server-bound software licenses. For example,
Vmware, Oracle, SQL Server depending on the licenses that you can bring over to
AWS and then they can use the Dedicated host.

• Dedicated hosts are used to address compliance requirements and reduces host by
allowing to use your existing server-bound server licenses.

• It can be purchased as a Reservation for up to 70% off On-Demand price.


Thank You
VMware vCloud
• VMware promotes vCloud a lot on the web but, like “cloud
computing,” it may be confusing as to many what vCloud actually
is. To clarify, VMware vCloud isn’t a product or service at all.
• vCloud is a brand and a part of a family of VMware products, with
the most popular being the vCloud Suite and vCloud
IaaS offerings.

• VMware vCloud providers are third-party companies that offer


infrastructure as a service (IaaS) solutions.
• These providers run the VMware vCloud Suite and allow you to
move your existing VMware vSphere virtual machines to their
infrastructure clouds.
• Also, you can use the VMware vCloud Connector to connect your
internal vSphere infrastructure with their vCloud datacenters.
• A vCloud is VMware’s cloud solution product bundle
which includes all the necessary software to deliver the
cloud computing. vCloud mainly focusing on IAAS.
• The vCloud layer will build on top of VMware vSphere
by extending the robust virtual infrastructure
capabilities to facilitate delivery of infrastructure service
via cloud computing without compromising the
performance.
VMware vCloud Components
vCloud Component Description

Cloud Coordinator and UI. Abstracts vSphere resources


Includes:
VMware vCloud Director (vCD)
vCloud API • vCloud Director Server(s) (also known as “cell”)
• vCloud Director Database
• vCloud API, used to manage cloud objects
Underlying foundation of virtualized resources.
The vSphere family of products includes:
VMware vSphere • vCenter Server and vCenter Server Database
• ESXi hosts, clustered by vCenter Server
• Management Assistant
Provides network security services
Includes:
VMware vShield • vShield Manager (VSM) virtual appliance
• vShield Edge* virtual appliances, automatically deployed
by vCloud Director
Optional component that provides resource metering and
reporting to facilitate resource how back/chargeback
Includes:
VMware vCenter Chargeback • vCenter Chargeback Server
• Chargeback Data Collector
• vCloud Data Collector
• VSM Data Collector
Optional component that facilitates orchestration at the
VMware vCenter Orchestrator vCloud API and vSphere levels.

VMware vCloud Request Optional component that provides provisioning request and
Manager approval workflows, software license tracking, and policy-
based cloud partitioning
Optional component to facilitate transfer of a powered-off
VMware vCloud Connector vApp in OVF format from a local vCloud or vSphere to a
remote vCloud
How vCloud works ?
• To setup the vCloud, you need to install VMware ESXi
hypervisor on servers and configure VMware vCenter Server.
This layer will be your typical VMware vSphere setup.
• Once you made this setup ready , then you need to deploy
VMware vCloud director (Will be replaced by vCloud
Automation soon) and VMware vShield for network
security.
• The vCloud director directly talks to VMware vCenter
for any new VM provisioning and creating the virtual
datacenter.
• These virtual datacenters and VM access will be given to the
cloud end user based on the requirement.
vCloud can provide different level of service
• In vCloud , we can create a number of virtual data center
based on service level.
• Example:
• Provider virtual DC GOLD – Gold SAN storage and high availability
computing nodes.(vMotion + DRS + HA)
• Provider virtual DC SILVER- Silver SAN storage and high availability
computing nodes.(vMotion + HA)
• Provider virtual DC Bronze – Bronze SAN storage and without high
availability for computing.
• Provider = Cloud service offering company
• organization = An association of related end consumers.
• Access given to the Organization’s virtual datacenters to the
end consumers.
• Cloud offering company will allot some set of resources to
the organization based on the requirement.
• For an example, one organization may need different
level of service resources and it is possible to provide
using VMware vCloud.
1.GOLD – 1TB Storage 200oGHZ CPU 100GB Memory
2.SILVER – 512GB Storage 100oGHZ CPU 50GB Memory
vCloud Express
• VMware (VMW) has announced vCloud Express, which
allows VMware's service provider partners to create a
cloud computing offering with pricing and
functionality similar to Amazon Web Services.
• Five hosting companies rolled out vCloud Express,
including Terremark, Hosting.com, Logica, Melbourne
IT and Bluelock. WMware said it is working with
additional partners on deploying vCloud Express.
• The IaaS offering is being positioned as a cheap and easy on-
ramp to the cloud for customers who may later migrate to
VMware-based enterprise cloud offerings.
• A key feature of vCloud is its portability, including an
API that allows "cloud brokers" like RightScale to migrate
applications between vCloud Express partners or an in-house
data center.
• An API is a set of guidelines that provide developers with the
information needed to write applications atop an os or
service. A number of CC providers have published APIs in
hopes of advancing a standard for migrating data and
applications between different platforms.
• That group includes Amazon, as well as Rackspace, GoGrid
and others.
Platform as a Service (PaaS)
Scope:
1. Platform as a Service (PaaS)

2. What is Google App Engine.


• Overview
• Programming languages support
• Data storage
• App Engine services
• Security

3. When to use Google App Engine.

4. How to use Google App Engine.


1. Platform as a Service (PaaS)

• Cloud computing service which provides a


computing platform and a solution stack as a service.

• Consumer creates the software using tools and/or


libraries from the provider.

• Provider provides the networks, servers, storage,


etc.
2. What is Google App Engine.
• Overview

Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing


platform for developing and hosting web applications in Google-managed
data centers.

Google App Engine lets you run web applications on Google's infrastructure.

Easy to build.
Easy to maintain.
Easy to scale as the traffic and storage needs
grow. Yes, free for upto 1 GB of storage and
enough CPU and bandwidth to support 5
million page views a month. 10
Applications per Google account.
2. What is Google App Engine.
• Programming languages support
Java:
• App Engine runs JAVA apps on a JAVA 7 virtual machine (currently
supports JAVA 6 as well).
• Uses JAVA Servlet standard for web applications:
• WAR (Web Applications ARchive) directory structure.
• Servlet classes
• Java Server Pages (JSP)
• Static and data files
• Deployment descriptor (web.xml)
• Other configuration files
• Getting started :
https://developers.google.com/appengine/docs/java/gettingstarted/
2. What is Google App Engine.
• Programming languages support

Python:
• Uses WSGI (Web Server Gateway Interface) standard.
• Python applications can be written using:
• Webapp2 framework
• Django framework
• Any python code that uses the CGI (Common Gateway Interface)
standard.
•Getting started :
https://developers.google.com/appengine/docs/python/gettingstartedp
ython27/
2. What is Google App Engine.
• Programming languages support
PHP (Experimental support):
• Local development servers are available to anyone for developing
and testing local applications.
• Only whitelisted applications can be deployed on Google App Engine.
(https://gaeforphp.appspot.com/).
• Getting started: https://developers.google.com/appengine/docs/php/
Google’s Go:
• Go is an Google’s open source programming environment.
• Tightly coupled with Google App Engine.
• Applications can be written using App Engine’s Go SDK.
• Getting started:
https://developers.google.com/appengine/docs/go/overview
2. What is Google App Engine.
• Programming languages support

We use our own custom container


2. What is Google App Engine.
• Data storage

App Engine Data store:


• NoSQL schema-less object based data storage, with a query engine and
atomic transactions.
• Data object is called a “Entity” that has a kind (~ table name) and a set of
properties (~ column names).
• JAVA JDO/ JPA interfaces and Python data store interfaces.

Google cloud SQL:


• Provides a relational SQL database service.
• Similar to MySQL RDBMS.
2. What is Google App Engine.
• Data storage

Google cloud store:


• RESTful service for storing and querying data.
• Fast, scalable and highly available solution.
• Provides Multiple layers of redundancy. All data is replicated to
multiple
data centers.
• Provides different levels of access control.
• HTTP based APIs.
2. What is Google App Engine.
• App Engine services
App Engine also provides a variety of services to perform common operations when
managing your application.

• URL Fetch:
• Facilitates the application’s access to resources on the internet, such as web services
or data.

• Mail:
• Facilitates the application to send e-mail messages using Google infrastructure.

• Memcache:
• High performance in-memory key-value storage.
• Can be used to store temporary data which doesn’t need to be persisted.
2. What is Google App Engine.
• Security
The sandbox:
• All hosted applications run in a secure environment that provides limited access to
the underlying operating system.
• Sandbox isolates the application in its own secure, reliable environment that is
independent of hardware, operating system and physical location of a web server.
• Limitations imposed by sandbox (for security):
• An application can only access other computers over internet using the provided URL
fetch and email services. Other computers can only connect to the application through
HTTP/ HTTPS requests on the standard ports (80/ 443).
• Applications cannot write to local file system in any of the runtime environments.
• Application code runs only in response to a web request, a queued task or a
scheduled task and must return the response data within 60 seconds. A request
handler cannot spawn a sub-process or execute code after the response has been
sent.
3. When to use Google App Engine.

Use App Engine when:

• You don’t want to get troubled for setting up a server.


• You want instant for-free nearly infinite scalability support.
• Your application’s traffic is spiky and rather unpredictable.
• You don't feel like taking care of your own server monitoring tools.
• You need pricing that fits your actual usage and isn't time-slot based (App
engine provides pay-per-drink cost model).
• You are able to chunk long tasks into 60 second pieces.
• You are able to work without direct access to local file system.
3. When to use Google App Engine.
• Business running on Google App Engine

• http://www.lowes.com/
• Uses App Engine to host their MyLowes service used by customers to customize and
personalize their home improvement projects.
• http://www.getaround.com/
• Peer-to-peer car sharing and local car rental service.
•http://kissflow.com/
• Workflow service based on Google applications.

Source – Google I/O 2012 – App Engine Overview (


https://www.youtube.com/watch?v=uy0nALQEAM4 )
4. How to use Google App Engine.

Google App Engine Hello World tutorials:

•JAVA:
http://www.mkyong.com/google-app-engine/google-app-engine-hello-world-example-using-eclipse
/
• Python:

http://www.mkyong.com/google-app-engine/google-app-engine-python-hello-world-example-
using-eclipse/ More
information:
https://developers.google.com/appengine/
Google App Engine. Autoscaling
Architecture of Google App
Engine
Google Data Store Architecture
Google App Engine Amazon Web
Services
Cloud Services PaaS PaaS, IaaS
Platforms Supported Linux,Windows Server 2008 Linux,Open Solaris,
Windows Server 2003
Virtualization Application Container OS level running on a Xen
Platform Hypervisor
Storage bigTable and megaStore Amazon Simple Storage and
SimpleDB
Control Interface API API Command Line
Languages Supported Java Python Java,PHP,PythonRuby
Load balancing Auto Round Robin
Data after Google will not take any Amazon will not take any action
termination action for 90 days after the for a period of 30 days after the
effective date of termination effective date of termination
Advantages of Google App
Engine

⚫Infrastructure for Security


⚫Scalability
⚫Performance and Reliability
⚫Cost Savings
⚫Platform Independence
Disadvantages of Google App
Engine
⚫You Are At Google’s Mercy
⚫Violation of Policies
⚫Forget Porting
⚫It isn’t Free
Java 8 Runtime Environment
• With App Engine, you can build web applications that use
Google's scalable infrastructure and services.
• App Engine runs your web application using a Java 8 JVM. App
Engine invokes your app's servlet classes to handle requests and
prepare responses in this environment.
• The App Engine platform provides many built-in API services
that your code can call.
• Your application can also configure scheduled tasks that run at
specified intervals.
The sandbox
• The App Engine Java runtime distributes requests for applications across
multiple web servers and prevents one application from interfering with
another.
• An App Engine app must not respond slowly.
• A web request to an application must be handled within
the request timeout limit.
• Processes that exceed this limit to respond are terminated to avoid
overloading the web server.
Tools
• Supported IDEs
• Cloud Tools for Eclipse adds new project wizards and debug configurations
to your Eclipse IDE for App Engine projects. You can deploy your App
Engine projects live to production from inside Eclipse.
• Cloud Tools for IntelliJ enables you to run and debug App Engine
applications inside IntelliJ IDEA. You can deploy your App Engine projects
live to production without leaving the IDE.
• Supported build tools
• To speed up your development process, you can use the App Engine
plugins for Apache Maven or Gradle:
• Cloud SDK-based Apache Maven plugin
• Cloud SDK-based Gradle plugin.
• App Engine Java SDK-based Apache Maven plugin
• Local development server
• The development server runs your application on your local
computer for development and testing.
• The server simulates the Datastore services.
• The development server can also generate configuration for
Datastore indexes based on the queries the app performs
during testing.
AppCfg
• AppCfg is included with the standalone App Engine SDK for Java. It is a
multipurpose tool that handles command-line interaction with your
application running on App Engine.
• AppCfg can upload your application to App Engine, or just update the
Datastore index configuration so you can build new indexes before updating
the code.
• It can also download the app's log data, so you can analyze your app's
performance using your own tools.

You might also like