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

Cloud Module 5 - Part 1

Amazon Web Services (AWS) is a cloud platform offering scalable infrastructure, messaging, and data storage solutions, accessible via SOAP or RESTful interfaces. Key services include Compute (EC2 instances and AMIs), Storage (S3 and EBS), and Communication services (CloudFront and VPC). AWS operates on a pay-as-you-go model, providing users with flexible and efficient resource management tools.

Uploaded by

Tharun Kshatriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Cloud Module 5 - Part 1

Amazon Web Services (AWS) is a cloud platform offering scalable infrastructure, messaging, and data storage solutions, accessible via SOAP or RESTful interfaces. Key services include Compute (EC2 instances and AMIs), Storage (S3 and EBS), and Communication services (CloudFront and VPC). AWS operates on a pay-as-you-go model, providing users with flexible and efficient resource management tools.

Uploaded by

Tharun Kshatriya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

12/11/2024

A M A Z O N WE B S E R V IC E S

 Amazon web services (AWS) is a platform that allows the


development of flexible applications by providing Amazon
M ODU LE 5 solutions for elastic infrastructure scalability, messaging,
and data storage.
 The platform is accessible through SOAP or RESTful Web
service interfaces and provides a Web-based console where
C L O U D P L AT F O R M S users can handle administration and monitoring of the
resources required, and expenses computed on a pay-as-you-
IN go basis.
 AWS are categorized into
I N D U S T RY ⚫ Compute services
⚫ Storage services
⚫ Communication services
1 2
⚫ Additional Services

1
12/11/2024

A M A Z O N WE B S E R V IC E S

3 4

2
12/11/2024

A MAZO N ’ S C O M P U T E S E R V I C E S AMAZON MACHINE IMAGES (AMI)


 AMIs are templates from which it is possible to create a
 Compute services constitute the fundamental element
virtual machine.
of cloud computing systems.
They are stored in Amazon S3 and identified by a unique identifier in
 The fundamental service is Amazon EC2, which the form of ami-xxxxxx and a manifest XMLfile.
delivers an IaaS solution. AMI contains physical file system layout with a predefined operating
 Amazon E C2 allows deploying servers in the form of system installed as Amazon Ramdisk Image (ARI, id:ari-yyyyyy)
virtual machines created as instances of a specific and the Amazon Kernel Image (AKI, id: aki-zzzzzz)
image (preinstalled). A common practice is to prepare new AMIs to create an instance

 Some Compute Service: from a pre-existing AMI, log into it once it is booted and running, and
⚫ Amazon machine images install software needed.
⚫ E C 2 instances  Using tools, convert the instance into a new image.
⚫ E C 2 environment
⚫ Advanced computer services  Once an AMI is created, it is stored in an S3 bucket and making its
5
availability is user’s choice. 6

3
12/11/2024

EC2 INSTANCE EC2 INSTANCE


 EC2 instances represent virtual machines. Currently available configurations for EC2 instances:
 They are created using AMI as templates, which are
specialized by selecting the number of cores, their  Standard instances
computing power, and the installed memory.
 Micro instances
 The processing power is expressed in terms of virtual
 High memory instances
cores and EC2 Compute Units (ECUs).
 High C P U instances
 By using compute units, Amazon can change over time
and keep the performance of EC2 instances consistent.  Cluster compute instances

 Over time, the h/w supporting the underlying  Cluster G P U instances

infrastructure will be replaced by more powerful h/w,


and the use of E C U s helps give users a consistent view
of the performance offered by EC2 instances.
7 8

4
12/11/2024

EC2 ENVIRONMENT ADVANCED COMPUTE SERVICES


 E C 2 instances are executed within a virtual environment. A. AW S CloudFormation - Constitutes an extension of
 The E C 2 environment is in charge of allocating addresses, the simple deployment model that characterizes EC2
attaching storage volumes, and configuring security. instances
 By default, instances are created with an internal IP
address, makes them capable of communicating. B. AW S Elastic Beanstalk - To package applications and
 It is possible to associate an Elastic IP to each instance, deploy them on the AW S Cloud. This service
which can then be remapped to a different instance. simplifies the process of provisioning instances and
 E C2 instances are also given a domain name that generally deploying application code and provides appropriate
is in the form ec2-xxx-xxx-xxx.compute-x.amazonaws.com, access
where xxx-xxx-xxx represents the four parts of the external C. Amazon Elastic MapReduce – Provides platform for
IP address separated by a dash, and compute-x gives
information about the availability zone. MapReduce applications. It utilizes Hadoop as the
 Currently, there are five availability zones that are priced MapReduce engine, deployed on a virtual
differently: two in the United States (Virginia and Northern infrastructure composed of EC2 instances, and uses
California), one in Europe (Ireland), and two in Asia Pacific Amazon S3 for storage needs.
(Singapore and Tokyo). 9 10

5
12/11/2024

STORAGE SERVICES
Resource naming
S3 key concepts
 Buckets, objects, and attached metadata are made
S3 has been designed to provide a simple storage service accessible through a R E S T interface.
that’s accessible through a Representational State
Transfer(REST) interface.
 Therefore, they are represented by uniform resource
 The storage is organized in a two-level hierarchy. identifiers (URIs) under the domain s3.amazonaws.com
 Stored objects cannot be manipulated like std. files.
 Contents are not immediately available to users.  Amazon offers three ways of addressing a bucket:
 Request will occasionally fail.

⚫ Canonicalform: http://s3.amazonaws.com/bukect_name/
 Access to S3 is provided with RESTful Web services. ⚫ Sub domainform : http://bucketname.s3.amazon.com/
These express all the operations that can be ⚫ Virtual hostingform: http://bucket-name.com/
performed on the storage in the form of HT T P
requests(GET, P U T, D E L E T E , H EA D, and POST). 11 12

6
12/11/2024

Buckets Objects and metadata


 A bucket is a container of objects.  Objects constitute the content elements stored in S3.

 It can be thought of as a virtual drive hosted on the  Users either store files or push to the S3 text stream

S3 distributed storage. representing the object’s content.


 Buckets are top-level elements of the S 3 storage  An object is identified by a name that needs to be

architecture and do not support nesting. unique.


 That is, it is not possible to create “subbuckets” or  The name cannot be longer than 1,024 bytes when
other kinds of physical divisions. encoded in UTF-8, and it allows almost any
 Bucket- geographic location, fault tolerant. character including path separator character too.
 Object creation under bucket only, and buckets  Object size is 5gb max, no editing.

created by P U T request, contents list by G E T, delete  G E T, P U T and D E L E T E same as in buckets.


by D E L E T E .
 No rename, relocation but can delete and recreate.
13 14

7
12/11/2024

Access control and security Amazon Elastic Block Store (EBS)


 Amazon S3 allows controlling the access to buckets and  It allows AWS users to provide E C2 instances with

objects by means of Access Control Policies (ACPs) persistent storage in the form of volumes that can be
which is a set of grant permissions. mounted at instance startup.
 A policy allows defining up to 100 access rules, each of  The capacity is upto1 T B of space and are accessed

them granting one of the available permissions to a through a block device interface.
grantee.  EBS volumes normally reside within the same
 Currently, five different permissions can be used: availability zone of the EC2 instances.
⚫ R EA D allows the grantee to retrieve an object and its  It is also possible to connect volumes located in different
metadata and to list the content of a bucket availability zones.
⚫ WR IT E allows the grantee to add an object to bucket as well  Once mounted as volumes, their content is lazily loaded
as modify and remove it. in the background and according to the request made by
⚫ R EA D _ AC P allows the grantee to read the A C P of a the operating system.This reduces the number of I/O
resource.
requests that go to the network
⚫ W R I T E _ AC P allows the grantee to modify the A C P resourc15 16
⚫ F U L L _ C O N T R O L grants all the above.

8
12/11/2024

AMAZON E L A S T I C A C H E STRUCTURED STORAGE SOLUTIONS

 Elasti Cache is an implementation of an elastic in- Amazon provides applications with structured storage
memory cache based on a cluster of EC2 instances. services in three different forms:
 It provides fast data access through a Memcached-  Preconfigured EC2 AMIs,

compatible protocol so that applications can  Amazon Relational DataStorage(RDS)


transparently migrate to ElastiCache.  Amazon SimpleDB.

 ElastiCache is based on a cluster of EC2 instances


running the caching software, which is made available
through Web services.
 An ElastiCache cluster can be dynamically resized.
 Cache cluster continue to run without any
administrative intervention.
17 18

9
12/11/2024

COMMUNICATION SERVICES
Amazon CloudFront
 Virtual networking comprises a collection of services that
 CloudFront is an implementation of a content delivery allow AWS users to control the connectivity to and
network on top of the Amazon distributed storage between compute and storage services.
infrastructure.  Amazon Virtual Private Cloud (VPC) and Amazon Direct
 It leverages a collection of edge servers strategically Connect - infrastructure solutions and Route 53 - naming.
located around the globe to better serve  Amazon V P C provides flexibility in creating virtual private
requests for static and streaming Web networks within the Amazon infrastructure.
content so that the transfer time is reduced.  The service provides prepared templates for network service
 AW S provides users with simple Web service APIs to for advanced configurations. Templates include public
manage CloudFront subnets, isolated networks, private networks accessing
Internet through NAT and hybrid networks.
 The content that can be delivered through CloudFront is
static (HTTP and HTTPS) or streaming (Real Time  Amazon Direct Connect allows AWS users to create dedicated
networks between the user private network and Amazon
Messaging Protocol, or RMTP).
Direct Connect locations, called ports.
19 22
 Route 53 implements dynamic D N S services.

10
12/11/2024

MESSAGING ADDITIONAL S E R V I C E S
The three different types of messaging services offered A collection of additional services are provided and
are particularly relevant are
 Amazon Simple Queue Service ( SQS) – disconnected
model for exchanging messages through message  Amazon cloudwatch – provides a comprehensive set of
queues. statistics to help developers to understand and optimize
the behavior of their application.
 Amazon Simple Notification Service(SNS) – publish-
subscribe method for connecting heterogeneous  Flexible payment service (FPS) – billing infrastructure
applications to set goods and services, it includes one-time payment,
delayed, periodic payment based on subscription, usage
 Amazon Simple Email Service(SES) – scalable email and transaction.
service
21 22

11
12/11/2024

GOOGLE APPENGINE ARCHITECTURE AND C O RE C O N C E PTS - INFRASTRUCTURE


 Google AppEngine is a PaaS implementation.

 AppEngine is essentially a distributed and scalable


runtime environment.

 The runtime is completed by a collection of services


that allow developers to design and implement
applications that naturally scale on AppEngine.

 Developers can develop applications in Java, Python,


and Go, a new programming language.

 Application’s usage of Google resources and services is


25 24
metered by AppEngine.

12
12/11/2024

1. Infrastructure 2. Runtime Environment


 AppEngine hosts Web applications,and its primaryfunction is
to serve users requests efficiently. S andboxing
 AppEngine’s infrastructure takes advantage of many servers  Runtime environment provides application
available within Google datacenters. environment with an isolated and protected context.
 For each HTTP request, AppEngine locates the servers hosting  In other words, it provides applications with a
the application that processes the request, evaluates their load, sandbox.
and, if necessary, allocates additional resources or redirects  Supports applications developed only with managed or
the request to an existing server. interpreted languages.
 The infrastructure is also responsible for monitoring  Sandboxing is achieved through modified runtimes.
application performance and collecting statistics on which
 If an application tries to perform any operation that is
the billing is calculated. considered potentially harmful, an exception is thrown
and the execution is interrupted.
25 26

13
12/11/2024

Supported Runtimes 3. Storage


 AppEngine currently supports J ava 6, and developers  App E ngine provides various types
can use the common tools for Web application of storage, which operate differently depending on the
volatility of the data.
development in Java, such as the J ava Server Pages
 Static file servers- Web applications are composed of
(JSP), and the applications interact with the dynamic and static data.
environment by using the J ava Servlet standard.  Dynamic data are a result of the logic of the application
 Support for Python is provided by an optimized Python and the interaction with the user.
2.5.2 interpreter. As with Java, the runtime  Static data often are mostly constituted of the
environment supports the Python standard library. components that define the graphical layout
of the application or datafiles.
 Developers can use a specific Python Web application
 DataStore- DataStore is a service that allows developers
framework, called webapp, simplifying the development to store semi-structured data.
of Web applications.  The service is designed to scale and optimized to quickly
 The Go runtime environment allows applications access data.
developed with the Go programming language to be  DataStore can be considered as a large object database

hosted and executed in AppEngine. 29 and access by a specified key. 30

14
12/11/2024

DataStore cont’d - 4. Application services


 UrlFetch

 Imposes less constraint on data regularity  MemCache

 Mail and instant messaging

 Underlying infrastructure is based on Bigtable  Account management

 Image manipulation

 Data are defined in terms of entity and properties

 Facilties for creating indexes and update data

 Extremely fast in returning result sets

 Structure of indexes is saved into a configuration 31 32

15
12/11/2024

 UrlFetch - The sandbox environment provide developers Mail and instant messaging –
with the capability of retrieving a remote resource  It is common to use email for folowing up with users
through HTTP/HTTPS by means of the UrlFetch service
about operations performed by the application.
 Ability to set deadlines for requests so that they can be
 AppEngine provides developers with the ability to
completed (or aborted) within a given time.
send and receive mails through Mail. It is also
 UrlFetch is also used to leverage remote Web services in
possible to include several types of attachments.
accordance with the S OA reference model for distributed
applications.  Mail operates asynchronously, and in case of failed
delivery the sending address is notified through an
 MemCache - Caching service by means of MemCache, is
email detailing the error.
a distributed in-memory cache that is optimized for fast  AppEngine provides also another way to communicate
access and provides developers with a volatile store for with the external world: the Extensible Messaging
the objects that are frequently accessed. and Presence Protocol (XMPP).
 The caching algorithm implemented by MemCache will  Any chat service that supports X M P P, such as Google
automatically remove the objects that are rarely Talk, can send and receive chat messages to and from34
accessed. The use of MemCache can significantly reduce 33 the Web application.
the access time to data.

16
12/11/2024

Account management – 5. Compute services


 Developers can hold Google account management by AppEngine offers additional services such as Task
means of Google Accounts. Queues and Cron J o b s that simplify the execution of
 Using Google Accounts, Web applications can computations that are off-bandwidth or those that
conveniently store profile settings, attach and quickly cannot be performed within the timeframe of the
retrieve once the user authenticates. Web request.
 It does not require any further implementation. The
Accounts is useful for developing Web applications
within a corporate environment using Google Apps.  Task queues - allow applications to submit a task
for a later execution. This service is particularly
Image manipulation - useful for long computations that cannot be
completed within the maximum response time of a
 Allows to perform image resizing, rotation, mirroring,
and enhancement by means of Image Manipulation, a request handler.
service that is also used in other Google products.  Cro n jobs - it is possible to schedule the required

 Image Manipulation is mostly designed for lightweight operation at the desired time by using the Cron
35 36
image processing and is optimized for speed. J o b s service.

17
12/11/2024

MICROSOFT AZURE PLATFORM ARCHITECTURE


MICROSOFT AZURE

 Microsoft Windows Azure is a cloud operating system


built on top of Microsoft datacenters’ infrastructure
 Provides developers with a collection of services for
building applications with cloud technology
 Services range from compute, storage, and networking
to application connectivity, access control, and business
intelligence
 Azure services can be managed and controlled through
the Windows Azure Management Portal, which acts as
an administrative console for all the services offered by
the Azure platform.

35 36

18
12/11/2024

AZURE CORE CONCEPTS 1.C O M P U T E S E R V I C E S


 The Windows Azure platform is made up of a  Compute services are the core components of Microsoft
foundation layer and a set of developer services that Windows Azure
can be used to build scalable applications
 Services delivered by means of the abstraction of roles.
 services provided by Azure
 Three different roles:
⚫ compute,
⚫ Web role
⚫ storage,
⚫ Worker role
⚫ networking, ⚫ Virtual Machine (VM) role.
⚫ identity management , Web role:
These services are tied together by middleware called ⚫ The Web role is designed to implement scalable Web
AppFabric. applications.
⚫ Web roles represent the units of deployment of Web

37
applications within the Azure infrastructure. 38

19
12/11/2024

Worker role 2.S T O R A G E S E R V I C E S


 Worker roles are designed to host general compute services
 Compute resources are equipped with local storage in
 Used to quickly provide compute power or to host services
the form of a directory on the local file system.
that do not communicate with the external world through
HTTP  Windows Azure provides different types of storage
solutions.
 Used to provide background processing for Web applications
A. Blobs: Storing large amount of data in the form of
 A Worker role runs continuously from the creation of its
binary large objects (BLOBs) by means of the blobs
instance until it is shut down service.
 Block blobs- Consists of blocks and are optimized for
Virtual machine role sequential access, are appropriate for media streaming.
 Allows developers to control computing stack of their compute Blocks are of 4 MB, a single block blob - 200 G B .
service  Page blobs- Page blobs are made of pages that are
 The Virtual Machine role is based on the Windows Hyper-V identified by offset from beginning of blob. A page blob
virtualization technology. can be split into multiple pages or constituted of single
 Developers can image a Windows server installation, save 4i1t
page. This type of blob is optimized for random access
into a Virtual Hard Disk(VHD) and upload.
and can be used to host data different from streamin4g2.
Maximum dimension of page blob can be 1TB.

20
12/11/2024

3.C O R E I N F R A S T R U C T U R E : A P P F A B R I C
B. Azure drive: File system can be stored in the form of a
single Virtual Hard Drive (VHD) file using page blobs.  AppFabric is a comprehensive middleware for
This can then be mounted as a part of the N T F S file developing, deploying, and managing applications on
system by Azure compute resources, thus providing the cloud or for integration of existing applications.
persistent and durable storage.  AppFabric supports high availability, sandboxing,
multitenancy, state management, dynamic address
resolution and routing.
C . Tables: Tables constitute a semi-structured storage
 Offers a collection of services and simplifies distributed
solution, allowing users to store information in the form
applications tasks.
of entities with a collection of properties. Tables are
similar to spreadsheets and handles large data.
 Access control: AppFabric provides the capability of
encoding access control to resources in Web applications
D. Q ueues: Allows applications to communicate by and services into a set of rules expressed.
exchanging messages through durable queues.  Access control services also integrate several
Applications enter messages into a queue, and other 43
authentication providers into a single coherent identit4y4
applications can read them in a F I F O style. management framework.

21
12/11/2024

CORE I N F R A S T R U C T U R E : A P P F A B R I C CO N T ’ D 4.O T HER S E R V I C E S


 S ervice bus: It constitutes the messaging &  Other services & components simplify the development
connectivity infrastructure. and integration of applications with the Azure Cloud
available under a domain - applications connectivity.
 It allows applications to interact with different protocols
and patterns.
Windows Azure virtual network
 It’s designed to allow transparent n/w traversal and to
simplify the development of loosely coupled applications. Networking services for applications are offered under
the name Windows Azure Virtual Network, which
includes Windows Azure Connect and Windows Azure
 Azure cache: It’s a service that allows developers to Traffic Manager.
quickly access data persisted on Windows Azure storage
or in S Q L Azure.
Windows Azure content delivery network
 The service implements a distributed in-memory cache
 Windows Azure Content Delivery Network (CDN) is the
of which the size can be dynamically adjusted by content delivery network solution that improves the
applications according to their needs. 45
content delivery capabilities of Storage and severa46l
other Microsoft services.

22
12/11/2024

S Q L AZURE – S Q L AZURE ARCHITECTURE S Q L AZURE – S Q L AZURE ARCHITECTURE


 S Q L Azure is a relational database service hosted on
Windows Azure.

 The service extends the capabilities of S Q L Server to the


cloud and provides developers with a scalable, highly
available, and fault-tolerant relational database.

 It is fully compatible with the interface exposed by S Q L


Server, so applications built for S Q L Server can
transparently migrate to S Q L Azure.

 Service is fully manageable using R E S T APIs, allowing


developers to have control over databases deployed. 47 48

23

You might also like