Unit 6 - Cloud Platforms and Applications
Unit 6 - Cloud Platforms and Applications
Unit 6
Cloud Platforms and Applications
A cloud platform refers to the operating system and hardware of a server in an Internet-based data
center. It allows software and hardware products to co-exist remotely and at scale.
Web Services
Web service is a standardized medium to propagate communication between the client and server
applications on the WWW (World Wide Web). A web service is a software module that is designed
to perform a certain set of tasks.
• Web services in cloud computing can be searched for over the network and can also be
invoked accordingly.
• When invoked, the web service would be able to provide the functionality to the client,
which invokes that web service.
AWS is a comprehensive, easy to use computing platform offered Amazon. The platform is
developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS)
and packaged software as a service (SaaS) offering.
History of AWS
AWS Services
Amazon Web Services offers a wide range of different business purpose global cloud-based
products. The products include storage, databases, analytics, networking, mobile, development
tools, enterprise applications, with a pay-as-you-go pricing model.
1. EC2(Elastic Compute Cloud)- EC2 is a virtual machine in the cloud on which you have
OS level control. You can run this cloud server whenever you want.
2. LightSail- This cloud computing tool automatically deploys and manages the computer,
storage, and networking capabilities required to run your applications.
3. Elastic Beanstalk- The tool offers automated deployment and provisioning of resources
like a highly scalable production website.
4. EKS (Elastic Container Service for Kubernetes)- The tool allows you to Kubernetes on
Amazon cloud environment without installation.
5. AWS Lambda- This AWS service allows you to run functions in the cloud. The tool is a
big cost saver for you as you to pay only when your functions execute.
Migration
Migration services used to transfer data physically between your datacenter and AWS.
1. DMS (Database Migration Service)- DMS service can be used to migrate on-site
databases to AWS. It helps you to migrate from one type of database to another — for
example, Oracle to MySQL.
2. SMS (Server Migration Service)- SMS migration services allow you to migrate on-site
servers to AWS easily and quickly.
3. Snowball— Snowball is a small application which allows you to transfer terabytes of data
inside and outside of AWS environment.
Storage
1. Amazon Glacier- It is an extremely low-cost storage service. It offers secure and fast
storage for data archiving and backup.
2. Amazon Elastic Block Store (EBS)- Amazon Elastic Block Store is a cloud-based block
storage system provided by Amazon Web Services (AWS) that is best used for storing
persistent data.
3. AWS Storage Gateway- This AWS service is connecting on-premises software
applications with cloud-based storage. It offers secure integration between the company's
on-premises and AWS's storage infrastructure.
Security Services
1. IAM (Identity and Access Management)— IAM is a secure cloud security service which
helps you to manage users, assign policies, form groups to manage multiple users.
2. Inspector— It is an agent that you can install on your virtual machines, which reports any
security vulnerabilities.
3. Certificate Manager— The service offers free SSL certificates for your domains that are
managed by Route53.
4. WAF (Web Application Firewall)— WAF security service offers application-level
protection and allows you to block SQL injection and helps you to block cross-site
scripting attacks.
5. Cloud Directory— This service allows you to create flexible, cloud-native directories for
managing hierarchies of data along multiple dimensions.
6. KMS (Key Management Service)— It is a managed service. This security service helps
you to create and control the encryption keys which allows you to encrypt your data.
7. Organizations— You can create groups of AWS accounts using this service to manages
security and automation settings.
8. Shield— Shield is managed DDoS (Distributed Denial of Service protection service). It
offers safeguards against web applications running on AWS.
Database Services
1. Amazon RDS- This Database AWS service is easy to set up, operate, and scale a relational
database in the cloud.
2. Amazon DynamoDB- It is a fast, fully managed NoSQL database service. It is a simple
service which allow cost-effective storage and retrieval of data. It also allows you to serve
any level of request traffic.
3. Amazon ElastiCache- It is a web service which makes it easy to deploy, operate, and scale
an in-memory cache in the cloud.
4. Neptune- It is a fast, reliable and scalable graph database service.
Analytics
1. CloudSearch— You should use this AWS service to create a fully managed search engine
for your website.
2. ElasticSearch— It is similar to CloudSearch. However, it offers more features like
application monitoring.
3. Kinesis— This AWS analytics service helps you to stream and analyzing real-time data at
massive scale.
4. QuickSight— It is a business analytics tool. It helps you to create visualizations in a
dashboard for data in Amazon Web Services. For example, S3, DynamoDB, etc.
5. EMR (Elastic Map Reduce)— This AWS analytics service mainly used for big data
processing like Spark, Splunk, Hadoop, etc.
6. Data Pipeline— Allows you to move data from one place to another. For example from
DynamoDB to S3.
Management Services
1. CloudWatch— Cloud watch helps you to monitor AWS environments like CPU
utilization etc. It also triggers alarms depends on various metrics.
2. CloudFormation— It is a way of turning infrastructure into the cloud. You can use
templates for providing a whole production environment in minutes.
3. CloudTrail— It offers an easy method of auditing AWS resources. It helps you to log all
changes.
4. Config— This AWS service monitors your environment. The tool sends alerts about
changes when you break certain defined configurations.
5. Service Catalog— This service helps large enterprises to authorize which services user
will be used and which won't.
6. AWS Auto Scaling— The service allows you to automatically scale your resources up and
down based on given CloudWatch metrics.
7. Systems Manager— This AWS service allows you to group your resources. It allows you
to identify issues and act on them.
8. Managed Services— It offers management of your AWS infrastructure which allows you
to focus on your applications.
Internet of Things
1. IoT Core— It is a managed cloud AWS service. The service allows connected devices like
cars, light bulbs, sensor grids, to securely interact with cloud applications and other
devices.
2. IoT Device Management— It allows you to manage your IoT devices at any scale.
3. IoT Analytics— This AWS IOT service is helpful to perform analysis on data collected
by your IoT devices.
Application Services
1. Step Functions— It is a way of visualizing what's going inside your application and what
different microservices it is using.
2. SWF (Simple Workflow Service)— The service helps you to coordinate both automated
tasks and human-led tasks.
3. SNS (Simple Notification Service)— You can use this service to send you notifications
in the form of email and SMS based on given AWS services.
4. Elastic Transcoder— This AWS service tool helps you to changes a video's format and
resolution to support various devices like tablets, smartphones, and laptops of different
resolutions.
Deployment and Management
1. AWS CloudTrail: The services records AWS API calls and send backlog files to you.
2. Amazon CloudWatch: The tools monitor AWS resources like Amazon EC2 and Amazon
RDS DB Instances. It also allows you to monitor custom metrics created by user's
applications and services.
3. AWS CloudHSM: This AWS service helps you meet corporate, regulatory, and
contractual, compliance requirements for maintaining data security by using the Hardware
Security Module(HSM) appliances inside the AWS environment.
Developer Tools
1. CodeStar— Codestar is a cloud-based service for creating, managing, and working with
various software development projects on AWS.
2. CodeCommit— It is AWS's version control service which allows you to store your code
and other assets privately in the cloud.
3. CodeBuild— This Amazon developer service help you to automates the process of
building and compiling your code.
4. CodeDeploy— It is a way of deploying your code in EC2 instances automatically.
5. CodePipeline— It helps you create a deployment pipeline like testing, building, testing,
authentication, deployment on development and production environments.
6. Cloud9— It is an Integrated Development Environment for writing, running, and
debugging code in the cloud.
Mobile Services
1. Mobile Hub— Allows you to add, configure and design features for mobile apps.
Business Productivity
1. Alexa for Business— It empowers your organization with voice, using Alexa. It will help
you to Allows you to build custom voice skills for your organization.
2. Chime— Can be used for online meeting and video conferencing.
3. WorkDocs— Helps to store documents in the cloud
4. WorkMail— Allows you to send and receive business emails.
Artificial Intelligence
1. Sumerian— Sumerian is a set of tool for offering high-quality virtual reality (VR)
experiences on the web. The service allows you to create interactive 3D scenes and publish
it as a website for users to access.
Customer Engagement
1. Amazon Connect— Amazon Connect allows you to create your customer care center in
the cloud.
2. Pinpoint— Pinpoint helps you to understand your users and engage with them.
3. SES (Simple Email Service)— Helps you to send bulk emails to your customers at a
relatively cost-effective price.
Game Development
1. GameLift- It is a service which is managed by AWS. You can use this service to host
dedicated game servers. It allows you to scale seamlessly without taking your game offline.
• Zoopla
• Smugmug
• Pinterest
• Netflix
• Dropbox
• Etsy
• Talkbox
• Playfish
• Ftopia
Advantages of AWS
Following are the pros of using AWS services:
• AWS allows organizations to use the already familiar programming models, operating
systems, databases, and architectures.
• It is a cost-effective service that allows you to pay only for what you use, without any up-
front or long-term commitments.
• You will not require to spend money on running and maintaining data centers.
• Offers fast deployments
• You can easily add or remove capacity.
• You are allowed cloud access quickly with limitless capacity.
• Total Cost of Ownership is very low compared to any private/dedicated servers.
• Offers Centralized Billing and management
• Allows you to deploy your application in multiple regions around the world with just a few
clicks
Disadvantages of AWS
• If you need more immediate or intensive assistance, you'll have to opt for paid support
packages.
• Amazon Web Services may have some common cloud computing issues when you move
to a cloud. For example, downtime, limited control, and backup protection.
• AWS sets default limits on resources which differ from region to region. These resources
consist of images, volumes, and snapshots.
• Hardware-level changes happen to your application which may not offer the best
performance and usage of your applications.
Some of the languages offered include — Python, PHP, .NET, Java, Ruby, C#, Go, Node.Js.
2. Fully Managed
Google allows you to add your web application code to the platform while managing the
infrastructure for you. The engine ensures that your web apps are secure and running and saves
them from malware and threats by enabling the firewall.
3. Pay-as-you-Go
The app engine works on a pay-as-you-go model, i.e., you only pay for what you use. The app
engine automatically scales up resources when the application traffic picks up and vice-versa.
5. Traffic Splitting
The app engine automatically routes the incoming traffic to different versions of the apps as a part
of A/B testing. You can plan the consecutive increments based on what version of the app works
best.
For your web applications to succeed, ensuring faster time to market is imperative as the
requirements are likely to change if the launch time is extended. Using Google App Engine is as
easy as it can get for developers. The diverse tool repository and other functionalities ensure that
the Google Cloud application development and testing time gets reduced, which, in turn, ensures
faster launch time for consecutive launches.
6. Improved Savings
With Google App Engine, you do not have to spend extra on server management of the app.
The Google Cloud service is good at handling the backend process.
Also, Google App Engine pricing is flexible as the resources can scale up/down based on the app’s
usage. The resources automatically scale up/down based on how the app performs in the market,
thus ensuring honest pricing in the end.
7. Smart Pricing
The major concern of organizations revolves around how much does Google App Engine cost?
For your convenience, Google App Engine has a daily and a monthly billing cycle, i.e.,
• Daily: You will be charged daily for the resources you use
• Monthly: All the daily charges are calculated and added to the taxes (if
applicable) and debited from your payment method
Also, the App Engine has a dedicated billing dashboard, “App Engine Dashboard” to view and
manage your account and subsequent billings.
Microsoft Azure
Azure is a cloud computing platform which was launched by Microsoft in February 2010. It is an
open and flexible cloud platform which helps in development, data storage, service hosting, and
service management. The Azure tool hosts web applications over the internet with the help of
Microsoft data centers.
1. PAAS
2. SAAS
3. IAAS
Azure as IaaS
IaaS (Infrastructure as a Service) is the foundational cloud platform layer. This Azure service is
used by IT administrators for processing, storage, networks or any other fundamental computer
operations. It is one of the Azure topics to learn that allows users to run arbitrary software.
Advantages:
Disadvantages of Iaas:
Azure as PaaS
PaaS is a computing platform which includes an operating system, programming language
execution environment, database or web services. This Azure service is used by developers and
application providers.
As its name suggests, this platform is provided to the client to develop and deploy software. It is
one of the Azure basic concepts which allows the client to focus on application development
instead of worrying about hardware and infrastructure. It also takes care of operating systems,
networking and servers’ issues.
Advantages:
• The total cost is low as the resources are allocated on demand and servers are
automatically added or subtracted.
• Azure is less vulnerable because servers are automatically checked for all known security
issues
• The entire process is not visible to the developer, so it does not have a risk of a data
breach
Disadvantages:
Azure As SaaS
SaaS (Software as a Service) is software which is centrally hosted and managed. It is a single
version of the application is used for all customers. You can scale out to multiple instances. This
helps you to ensure the best performance in all locations. The software is licensed through a
monthly or annual subscription. MS Exchange, Office, Dynamics are offered as a SaaS
Compute
It offers computing operations like app hosting, development, and deployment in Azure
Platform. It has the following components:
• Virtual Machine: Allows you to deploy any language, workload in any operating system
• Virtual Machine Scale Sets: Allows you to create thousands of similar virtual machines
in minutes
• Azure Container Service: Create a container hosting solution which is optimized for
Azure.
Storage
Azure store is a cloud storage solution for modern applications. It is designed to meet the needs
of their customer’s demand for scalability. It allows you to store and process hundreds of
terabytes of data. It has the following components:
• Blob Storage: Azure Blob storage is a service which stores unstructured data in the cloud
as objects/blobs. You can store any type of text or binary data, such as a document, media
file, or application installer.
• Queue Storage: It provides cloud messaging between application components. It delivers
asynchronous messaging to establish communication between application components.
• Table Storage: Azure Table storage stores semi-structured NoSQL data in the cloud. It
provides a key/attribute store with a schema-less design
Database
This category includes Database as a Service (DBaaS) which offers SQL and NoSQL tools. It
also includes databases like Azure Cosmos DB and Azure Database for PostgreSQL. It has the
following components:
• SQL Database: It is a relational database service in the Microsoft cloud based on the
market-leading Microsoft SQL Server engine.
• DocumentDB: It is a fully managed NoSQL database service which is It built for fast and
predictable performance and ease of development.
• Redis Cache: It is a secure and highly advanced key-value store. It stores data structures
like strings, lists, etc.
• Key Vault: Azure Key Vault allows you to safeguard cryptographic keys and helps you to
create secrets used by cloud applications and services.
• Azure Active Directory: Azure Active Directory and identity management service. This
includes multi-factor authentication, device registration, etc.
• Azure AD B2C: Azure AD B2C is a cloud identity management solution for your
consumer-facing web and mobile applications. It allows you to scales hundreds of
millions of consumer identities.
• Service Bus: Service Bus is an information delivery service which works on the third-
party communication system.
• SQL Server Stretch Database: This service helps you migrates any cold data securely and
transparently to the Microsoft Azure cloud
• Multi-Factor Authentication: Azure Multi-Factor Authentication (MFA) is two-step
verification. It helps you to access data and applications to offers a simple sign-in
process.
• Azure Resource Manager: It makes it easy for you to manage and visualize resource in
your app. You can even control who is your organization can act on the resources.
• Automation: Microsoft Azure Automation is a way to automate the manual, long-
running, error-free, and constantly repeated tasks. These tasks are commonly performed
in a cloud and enterprise environment.
Azure Networking
• Virtual Network: Perform Network isolation and segmentation. It offers filter and Route
network traffic.
• Load Balancer: Offers high availability and network performance of any application.
Load balance information Internet traffic to Virtual machines.
• Azure DNS: Azure DNS hosting service offers name resolution using Microsoft Azure
infrastructure.
• Web Apps: Web Apps allows you to build and host websites in the programming
language of your choice without the need to manage its infrastructure.
• Mobile Apps: Mobile Apps Service offers a highly scalable, globally available mobile
app development platform for users.
• API Apps: API apps make it easier to develop, host and consume APIs in the cloud and
on-premises.
Migration
Migration tools help an organization estimate workload migration costs. It also helps to perform
the migration of workloads from your local data centers to the Azure cloud.
Applications of Azure
Microsoft Azure is used in a broad spectrum of applications like:
• Infrastructure Services
• Mobile Apps
• Web Applications
• Cloud Services
• Storage, Backup, and Recovery
• Data Management
• Media Services
Advantages of Azure
Here, are the advantages of using Azure:
• You are not required to run the high-powered and high-priced computer to run cloud
computing’s web-based applications.
• You will not require processing power or hard disk space if you are using Azure
• Cloud computing offers virtually limitless storage
• If your personal computer or laptop crashes, all your data is still out there in the cloud,
and it is still accessible
• If you change your device your computers, applications and documents follow you
through the cloud
Disadvantages of Azure
Summary
• Cloud computing is a term referred to storing and accessing of data over the internet
• Azure is a cloud computing platform which was launched by Microsoft in February 2010
• There are mainly three types of clouds in Microsoft Azure: 1) PAAS 2) SAAS 3) IASS
• IaaS (Infrastructure as a Service) is the foundational cloud platform layer.
• PaaS is a computing platform which includes an operating system, programming
language execution environment, database or web services
• SaaS (Software as a Service) is software which is centrally hosted and managed.
• Important components of Microsoft Azure are Compute, Storage, Database, Monitoring
& management services, Content Delivery Network, Azure Networking, Web & Mobile
services, etc.
• Important applications of Microsoft Azure are: Infrastructure Services, Mobile Apps,
Web Applications, Cloud Services, Storage, Backup, and Recovery, Data Management,
and Media Services
• The biggest advantage of Microsoft Azure infrastructure is that it will cost-effectively
enhance your business continuity strategy
• Web-based applications like Azure can sometimes be slower compared to accessing a
similar software program on your desktop PC
ANEKA:
✓ Aneka is the product of Manjarasoft.
✓ Aneka is used for developing, deploying and managing cloud applications.
✓ Aneka can be integrated with existing cloud technologies.
✓ Aneka includes extensible set of APIs associated with programming models like
MapReduce.
✓ These APIs supports different types of cloud models like private, public, hybrid cloud.
Aneka framework:
✓ Aneks is a software platform for developing cloud computing applications.
✓ In Aneka cloud applications are executed.
✓ Aneka is a pure PaaS solution for cloud computing.
✓ Aneka is a cloud middleware product.
✓ Aneka can be deployed on a network of computers, a multicore server, datacenters, virtual
cloud infrastructures, or a mixture of these.
1. Fabric services:
Fabric Services define the lowest level of the software stack representing the Aneka Container.
They provide access to the resource-provisioning subsystem and to the monitoring facilities
implemented in Aneka.
2. Foundation services:
Fabric Services are fundamental services of the Aneka Cloud and define the basic infrastructure
management features of the system. Foundation Services are related to the logical management of
the distributed system built on top of the infrastructure and provide supporting services for the
execution of distributed applications.
3. Application services:
Application Services manage the execution of applications and constitute a layer that differentiates
according to the specific programming model used for developing distributed applications on top
of Aneka.
Cloud Applications
# Scientific applications
Scientific applications are a sector that is increasingly using cloud computing systems and
technologies. The immediate benefit seen by researchers and academics is the potentially infinite
availability of computing resources and storage at sustainable prices compared to a complete in-
house deployment. Cloud computing systems meet the needs of different types of applications in
the scientific domain: high-performance computing (HPC) applications, high-throughput
computing (HTC) applications, and data-intensive applications. The opportunity to use cloud
resources is even more appealing because minimal changes need to be made to existing
applications in order to leverage cloud resources.
The most relevant option is IaaS solutions, which offer the optimal environment for running bag-
of-tasks applications and workflows. PaaS solutions have been considered as well. They allow
scientists to explore new programming models for tackling computationally challenging problems.
Applications have been redesigned and implemented on top of cloud programming application
models and platforms to leverage their unique capabilities. For instance, the MapReduce
programming model provides scientists with a very simple and effective model for building
applications that need to process large datasets. Therefore, it has been widely used to develop data-
intensive scientific applications. The various case studies in which Aneka has been used.
computing the preferred technology for a wide range of applications, from CRM and ERP systems
to productivity and social-networking applications.
Salesforce.com
Salesforce.com is probably the most popular and developed CRM solution available today. As of
today, more than 100,000 customers have chosen Safesforce.com to implement their CRM
solutions. The application provides customizable CRM solutions that can be integrated with
additional features developed by third parties. Salesforce.com is based on the Force.com cloud
development platform. This represents scalable and high-performance middleware executing all
the operations of all Salesforce.com applications.
an online solution priced as a monthly per-user subscription. The system is completely hosted in
Microsoft’s datacenters across the world and offers to customers a 99.9% SLA, with bonus credits
if the system does not fulfill the agreement. Each CRM instance is deployed on a separate database,
and the application provides users with facilities for marketing, sales, and advanced customer
relationship management.
NetSuite
NetSuite provides a collection of applications that help customers manage every aspect of the
business enterprise. Its offering is divided into three major products: NetSuite Global ERP,
NetSuite Global CRM1, and NetSuite Global Ecommerce. Moreover, an all-in-one solution:
NetSuite One World, integrates all three products together.
The services NetSuite delivers are powered by two large datacenters on the East and West coasts
of the United States, connected by redundant links. This allows NetSuite to guarantee 99.5%
uptime to its customers. Besides the prepackaged solutions, NetSuite also provides an
infrastructure and a development environment for implementing customized applications. The
NetSuite Business Operating System (NS-BOS) is a complete stack of technologies for building
SaaS business applications that leverage the capabilities of NetSuite products. On top of the SaaS
infrastructure, the NetSuite Business Suite components offer accounting, ERP, CRM, and
ecommerce capabilities.
# Productivity
Productivity applications replicate in the cloud some of the most common tasks that we are used
to performing on our desktop: from document storage to office automation and complete desktop
environments hosted in the cloud.
Google docs
Google Docs is a SaaS application that delivers the basic office automation capabilities with
support for collaborative editing over the Web. The application is executed on top of the Google
distributed computing infrastructure, which allows the system to dynamically scale according to
the number of users using the service.
Google Docs allows users to create and edit text documents, spreadsheets, presentations, forms,
and drawings. It aims to replace desktop products such as Microsoft Office and OpenOffice and
provide similar interface and functionality as a cloud service.
# Social networking
Social networking applications have grown considerably in the last few years to become the most
active sites on the Web. To sustain their traffic and serve millions of users seamlessly, services
such as Twitter and Facebook have leveraged cloud computing technologies.
Facebook
Facebook is probably the most evident and interesting environment in social networking. With
more than 800 million users, it has become one of the largest websites in the world. To sustain this
incredible growth, it has been fundamental that Facebook be capable of continuously adding
capacity and developing new scalable technologies and software systems while maintaining high
performance to ensure a smooth user experience
# Media applications
Media applications are a niche that has taken a considerable advantage from leveraging cloud
computing technologies. In particular, video-processing operations, such as encoding, transcoding,
composition, and rendering, are good candidates for a cloud-based environment.
Animoto
Animoto is perhaps the most popular example of media applications on the cloud. The Website
provides users with a very straightforward interface for quickly creating videos out of images,
music, and video fragments submitted by users. Users select a specific theme for a video, upload
the photos and videos and order them in the sequence they want to appear, select the song for the
music, and render the video. The process is executed in the background and the user is notified via
email once the video is rendered.