0% found this document useful (0 votes)
105 views73 pages

Cloud Applications

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 73

CLOUD APPLICATIONS

MODULE 5
Cloud Platforms in Industry
• Amazon Web Services (AWS)
• Google Cloud Platform (GCP)
• Microsoft Azure
Cloud Platforms in Industry
• Cloud computing allows end users and developers to leverage
distributed computing infrastructure and platforms.
• These distributed platforms offer on demand compute, storage and
more advanced services.
• There are several different options for building enterprise cloud
computing applications.
Amazon web services
Amazon Web Services(AWS)
• AWS is a collection of webservices providing developers compute,
storage and more advanced services.
• AWS is most popular for IaaS Services. (PaaS and SaaS)
• And also popular for its compute engine EC2.
• The platform is accessible through SOAP and RESTful web services.
• Provides a web based console where user can administrate and
monitor the resources and services.
• The expenses are calculated on pay-as-you-go basis.
Compute Services
• The fundamental service provided by AWS is Amazon EC2 (Elastic
Cloud Compute).
• It delivers Infrastructure-as-a-service solution.
• It allows to deploy servers in the form of virtual machines as an
instance of a specific image.
• Images comes with preinstalled operating system and a software
stack.
Compute Services
Amazon Machine Image (AMI)
• AMIs are the templates from which a virtual machine
is created.
• These images are stored in Amazon S3 and is identified by a unique
number in the form of ami – xxxxxx and a manifest XML file.
• It has a predefined operating system installed having Amazon kernel
image (AKI : aki – yyyyyy) and Amazon RAM Image (ARI : ari – zzzzzz).
• It is provided to the user.
EC2 Instance
• Represents a virtual machine.
• These are created using AMI as templates.
• The processing power is measured in terms of EC2 compute units
(ECUs).
• 1 ECU is defined as 1.0 – 1.2GHz processor.
Amazon EC2 Instances Characteristics
https://calculator.aws/#/createCalculator/EC2?nc2=h_ql_pr_calc
EC2 Instances
• Standard Instances
• Micro Instances
• High-Memory Instances
• High-CPU Instances
• Cluster Compute Instances
• Cluster GPU Instances
EC2 Instances
• Standard Instances: Configuration that are suitable for most
applications.
• Micro Instances: These instances are suitable for the applications that
consume limited amount of computing power and memory.
• Small web application with limited traffic
• High-Memory Instances: These instances are suitable for the
applications that need huge workloads and require a large amount of
memory.
• Three tier web applications
EC2 Instances
• High-CPU Instances: This is applicable for computational intensive
applications.
• Cluster Compute Instances: Provides virtual clusters. These clusters
have high CPU compute power, Large memory and high I/O and
network performance.
• Cluster GPU Instances: These instance are highly applicable for heavy
graphic computations. They have high CPU compute power, Large
memory and high I/O and network performance.
EC2 Environment
• EC2 instances are executed within a virtual environment.
• This environment is responsible for allocating addresses, allocating
storage volumes, access control and network connectivity.
• By default, instances are created with internal IP address.
• An elastic IP and a domain name is given for an instance.
• It is of the form ec2-xxx.xxx.xxx.compute-x.amazonaws.com.
• Compute-x gives the availability region or zone.
Advanced Computing Services
• AWS CloudFormation:
• It is an infrastructure automation
platform for AWS.
• Deploys the AWS resources much
faster, more efficient and more secure.
• Uses template files to automate
the setup of AWS resources.
Advanced Computing Services
• AWS Elastic Beanstalk:
• Compute service that makes easier for the developers to deploy the
applications in the cloud
• The AWS Beanstalk handles the configuration.
• Providing the capacity provisioning, load balancing, auto scaling, health
monitoring.
Elastic Beanstalk Working
Amazon Elastic MapReduce (EMR)
• Processes quickly and cost-effectively process vast amounts of data.
• AWS EMR uses Hadoop, to distribute the data .
• Used in log analysis, web indexing, data warehousing, financial
analysis, scientific simulation.
Compute Services
• EC2 instance
• Amazon Machine Image (AMI)
• EC2 Environment
• AWS CloudFormation
• AWS Elastic Beanstalk
• Amazon Elastic MapReduce
Storage services
Storage Services
• AWS provides a collection of services for data storage and information
management.
• The core storage service provided by AWS is S3 (Simple Storage
Service).
• The core components of S3 are two:
• Buckets
• Objects
Storage Services
• S3 (Simple Storage Service)
• Amazon Elastic Block Store (EBS)
• Amazon Elastic Cache
S3 Storage
• S3 is accessible through a REST interface.
• The storage is organized in a two level hierarchy: the storage space is
organized into buckets that cannot be further partitioned.
• Objects stored cannot be manipulated like standard files: Not allows
renaming, modifying or relocation the object.
• Once an object has been added to the bucket, its content and position is
immutable.
• Only way to change is to remove the object and add it again
S3 Storage
• Content is not immediately available to users: Changes done are not
immediately reflected.
• Request will occasionally fail.
S3 Objects
• The data is stored in distinct units called objects.
• An object is identified by a unique name.
• It is stored in the bucket.
• The name cannot be longer than 1024 bytes when encoded in UTF-8.
• User’s create an object via a PUT request.
• The maximum size of an object is 5 GB.
• GET is used to retrieve and DELETE is used to delete the object.
• Metadata is maintained for each object.
S3 Buckets
• A bucket is a container of objects.
• Buckets are top level elements of S3 storage and do not support
nesting.
• A bucket is located in a specific geographic location and replicated for
fault tolerance.
• User can select the zone to create a bucket.
• Once a bucket is created, alL the objects that belong to the bucket will
be in the same availability zone.
Resource naming
• Buckets, Objects, Metadata are made accessible through REST
interface.
• These are represented by URL(Uniform Resource Locators) under the
domain s3.amazonaws.com.
• These buckets can be accessed in three different forms
• Canonical form:
• http://s3.amazonaws.com/bucket-name/
• Less restriction in terms of no.of characters allowed.
Resource naming
• Subdomain form:
• http://bucketname.s3.amazon.com.
• The name has to be between 3 to 36 characters long.
• Contain only letters, numbers, periods and dashes.
• Start with a letter or number.
• Contain at least one letter.
Resource naming
• Virtual Hosting:
• http://bucket-name.com/
• Custom URL. It is done by entering direct bucket name.
• To access the objects, object name is given in the URI.
• http://s3.amazonaws.com/bucket-name/object_name
• http://bucketname.s3.amazon.com/object_name
• http://bucket-name.com/object_name
Access Control and Security
• S3 allows the access to buckets and objects by the means of Access
Control Policies (ACPs).
• ACP is a set of grant permissions that are attached to a resource
expressed in XML configuration file.
• Permissions:
• READ
• WRITE
• READ_ACP
• WRITE_ACP
• FULL_CONTROL
Amazon Elastic Block Storage (EBS)
• Amazon EBS allows AWS users to provide EC2 instances
with persistent storage that can be mounted at instance start-up.
• They accommodate up to 1 TB of space.
• EBS volumes reside within the same availability zone of EC2.
Amazon ElastiCache
• Amazon ElastiCache is a cache-as-a-service developed
and distributed by Amazon Web Services (AWS).
• It is a fully managed solution that has the ability to deploy, manage,
and scale a distributed in-memory cache environment in the cloud. 
• It eliminates the complexity associated with setting up and managing a
distributed cache environment. 
• It can be dynamically resized according to the demand of the
application.
Structured Storage Solutions
• Preconfigured EC2 AMIs
• Amazon RDS
• Amazon Simple DB
• Amazon CloudFront
Structured Storage Solutions
• Preconfigured EC2 AMIs:
• These are predefined templates for the installation of given DBMS.
• Available AMIs are SQL Server, MySQL, Oracle, PostgreSQL, etc.
• Instances are priced hourly according to EC2 cost model.
• Configuration, maintenance, and management is done by the EC2 user.
Structured Storage Solutions
• Amazon RDS:
• RDS is a relational database services managed by Amazon.
• Configuration and Management is done by the service providers.
• Provides automatic backup, recoveries and replications.
• The two relational databases engines are: MySQL and Oracle.
• Provides multi-AZ deployment and read replicas.
Structured Storage Solutions
• Amazon Simple DB:
• Simple DB provides support for semi-structured data.
• Uses top-level elements to organize the data store.
• Data is represented as collection of attributes rather than tables.
• Useful for extracting large volumes of data.
• Select * from domain_name where every(attribute_name) = ‘value’
Structured Storage Solutions
• Amazon CloudFront:
• CloudFront is an implementation of a content delivery network.
• It leverages a collection of edge servers for streaming the web content.
• AWS provides users with simple web service APIs to manage CloudFront.
Communication
Services
Communication Services
• Amazon provides facilitates the communication among existing
applications and services.
• These services are of two types:
• Virtual Networking
• Messaging
Communication Services
• Virtual Networking:
• Virtual networking service allows the users to control the connectivity.
• Amazon VPC and Amazon Direct Connect provide connectivity solutions.
• VPC provides a great flexibility in creating virtual private networks.
• Amazon Direct Connect allows AWS users to create dedicated networks using
ports.
Communication Services
• Messaging: Three different types of messaging services are offered:
• Amazon Simple Queue Service (SQS)
• Amazon Simple Notification Service (SNS)
• Amazon Simple Email Service (SES)
Communication Services
• Amazon SQS:
• Messaging happens by the means of message queues, hosted in AWS
infrastructure.
• Using AWS console, users can create an unlimited number of message
queues.
• These messages are securely and redundantly stored within AWS
infrastructure.
Communication Services
• Amazon SNS:
• Uses publish-subscribe method for connecting heterogenous applications.
• Allows applications to be notified when new content of interest is available.

• Amazon SES:
• Provides scalable email service that leverages the AWS infra.
• Once the user signs up, the communication happens through email.
Google Cloud Platform
GCP
• Google cloud platform (GCP), like other cloud providers, is a medium
through which users access the cloud services and computing services
developed by google.
• Includes wide range of services that can be used in different sectors.
GCP Services
• Compute services
• Storage services
• Network services
Compute services
• Compute Engine:  It is an IaaS (Infrastructure As A Service)
service that provides virtual machines hosted on Google’s
infrastructure.
Compute services
• App Engine: The App Engine is a PaaS (Platform As A Service)
offering of Google Cloud used for building scalable web
applications and IoT backends.
•  It scales applications automatically
based on the traffic received.
• It facilitates users with built-in services and APIs, for
example, Datastores, NoSQL, user authentication API, etc.
Compute services
• Kubernetes Engine: Google Kubernetes Engine is an easy-to-
use cloud-based Kubernetes service used for running
containerized applications.
• Kubernetes is an open-source framework for
container management.
• Hybrid or multi-cloud environments
Storage Services
• Google cloud storage: Google Cloud Storage is the object
storage service offered by Google Cloud.
• It provides some interesting features such as object
versioning or fine-grain permissions.
• Cloud Storage lets you choose among four different types of
storage classes: regional, Multi-regional, Nearline, and
Coldline.
•  Multi-regional and Regional are high-performance
object storage, whereas Nearline and Coldline are
backup and archival storage.
Storage Services
• Cloud Firestore: Cloud Firestore is a flexible, scalable database
for mobile, web, and server development from Firebase and
Google Cloud.
• It keeps the data in-sync across client apps.
Storage Services
• Google Cloud Filestore: Google Cloud Filestore is widely used
when it comes to performing heavy machine learning tasks,
media processing, etc.
• It is highly preferred when there is a need for high
throughput.
•  It is generally not considered as a storage option, but a
temporary drive for performing high read intensive tasks.
Storage Services
• Cloud SQL: Cloud SQL is a fully-managed database service that
helps in setting up, maintain, manage, and administer
relational databases on the Google Cloud Platform.

• Cloud Spanner: Cloud Spanner is a fully managed, mission-


critical, relational database service. It offers transactional
consistency at a global scale, schemas, SQL, and automatic,
synchronous replication for high availability.
Network Services
• Virtual Private Cloud (VPC): Google Cloud VPC is global, scalable, and
flexible. It provides networking for Compute Engine VM, GKE
containers, and the App Engine environment.

• Cloud Interconnect: Cloud Interconnect provides low latency, high


availability connections that enable you to reliably transfer data
between your on-premises and Google Cloud Virtual Private Cloud
(VPC) networks. Also, Interconnect connections provide internal IP
address communication, which means internal IP addresses are
directly accessible from both networks.
Microsoft Azure
• Microsoft Windows Azure is cloud operating system built on top of
Microsoft datacenters.
• Provides developers with a collection of services for building
application.
• Any application that is build on the Microsoft technology can be
scaled using Azure Platform.
Azure core concepts
• Compute Services
• Storage Services
• Networking Services
Compute Services
• Compute services are delivered by the means of roles.
• A role is runtime environment that is customized for specific task.
• Roles are managed by Azure operating systems.
• There are three different roles:
• Web role
• Worker role
• Virtual Machine (VM) role
Web Role
• Designed to implement scalable web applications which are hosted
on the servers.
• When Azure detects peak loads, it is balanced by load balancer.
Worker role
• These are designed to host general compute services on Azure.
• Worker role runs continuously, from the instance creation till its
shutdown.
• It do not communicate with external world using HTTP.
Virtual Machine role
• It allows the developer to fully control the computing stack of their
compute service.
• Based on Hyper-V virtualization technology.
• Developers can pull an image and upload it in Windows Azure to
create compute instances.
Storage Services
• Windows Azure provides different types of storage solutions.
• These services are accessed by multiple clients.
• Different types of storage services are:
• Blobs
• Tables
• Queues
Storage Services
• Blob: Azure allows storing large amount of data in the form of Binary
Large Objects (BLOBs).
• Block Blobs : They are composed by blocks and are suitable for sequential
access.
• Appropriate for media streaming.
• Page Blobs: Suitable for random access.
• Used to host data different from streaming.
Storage Services
• Tables:
• Tables constitute a semi-structured storage solution, allowing users to store
information in the form of entities.
• The data is stored in the form of tables without constraints.
• Queues:
• Allows the applications to communicate by exchanging messages through
queues.
• Messages are provided for the application and destroyed after reading it.
Networking Services
• Windows Azure Virtual Network: Networking services for applications
are offered under the name of Windows Azure Virtual Network.
• It includes following:
• Windows Azure Connect: Allows IP based network setup among
machines.
• Windows Azure Traffic Manager: Provides load balancing features for
services. It allows the users to choose different load balancing
strategies: Performance, Round-robin and Fail over
Networking Services
• Windows Azure Content Delivery Network (CDN): This service allows
to serve web objects as well as streaming content using a network
distributed across the world.
Cloud Applications
Healthcare: ECG Analysis in the cloud
• ECG produces a specific waveform that is repeated overtime and
represents the heartbeat.
• The analysis of the shape of the waveform can detect heart diseases.
• Cloud computing technologies allow the remote monitoring of
patient’s heartbeat data.
• Notifies the first-aid personnel and doctors if there is any discrepancy.
Social Networking

You might also like