Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

Cloud Computing UNIT-3

Cloud Platform Architecture:


Cloud Computing Architecture
The Architecture of Cloud computing contains many different components. It
includes Client infrastructure, applications, services, runtime clouds, storage
spaces, management, and security. These are all the parts of a Cloud
computing architecture.

Front End:

The client uses the front end, which contains a client-side interface and
application. Both of these components are important to access the Cloud
computing platform. The front end includes web servers (Chrome, Firefox,
Opera, etc.), clients, and mobile devices.

Back End:

The backend part helps you manage all the resources needed to provide
Cloud computing services. This Cloud architecture part includes a security
mechanism, a large amount of data storage, servers, virtual machines, traffic
control mechanisms, etc.

Important Components of Cloud Computing


Architecture
Here are some important components of Cloud computing architecture:

1. Client Infrastructure
Client Infrastructure is a front-end component that provides a GUI. It
helps users to interact with the Cloud.

2. Application
The application can be any software or platform which a client wants to
access.
3. Service
The service component manages which type of service you can access
according to the client’s requirements.

Three Cloud computing services are:

 Software as a Service (SaaS)


 Platform as a Service (PaaS)
 Infrastructure as a Service (IaaS)

4. Runtime Cloud
Runtime cloud offers the execution and runtime environment to the
virtual machines.
5. Storage
Storage is another important Cloud computing architecture
component. It provides a large amount of storage capacity in the Cloud
to store and manage data.

6. Infrastructure
It offers services on the host level, network level, and application level.
Cloud infrastructure includes hardware and software components like
servers, storage, network devices, virtualization software, and various
other storage resources that are needed to support the cloud
computing model.

7. Management
This component manages components like application, service, runtime
cloud, storage, infrastructure, and other security matters in the
backend. It also establishes coordination between them.

8. Security
Security in the backend refers to implementing different security
mechanisms for secure Cloud systems, resources, files, and
infrastructure to the end-user.

9. Internet
Internet connection acts as the bridge or medium between frontend
and backend. It allows you to establish the interaction and
communication between the frontend and backend.

Benefits of Cloud Computing Architecture


 Makes the overall Cloud computing system simpler.
 Helps to enhance your data processing.
 Provides high security.
 It has better disaster recovery.
 Offers good user accessibility.
 Significantly reduces IT operating costs.
Cloud Computing and Service Models:

Cloud Service Models


There are the following three types of cloud service models -

1. Infrastructure as a Service (IaaS)


2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)

Infrastructure as a Service (IaaS)


IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure
managed over the internet. The main advantage of using IaaS is that it helps users to
avoid the cost and complexity of purchasing and managing the physical servers.

Characteristics of IaaS
There are the following characteristics of IaaS -

o Resources are available as a service


o Services are highly scalable
o Dynamic and flexible
o GUI and API-based access
o Automated administrative tasks

Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud

Platform as a Service | PaaS


Platform as a Service (PaaS) provides a runtime environment. It allows programmers
to easily create, test, run, and deploy web applications. You can purchase these
applications from a cloud service provider on a pay-as-per use basis and access them
using the Internet connection. In PaaS, back end scalability is managed by the cloud
service provider, so end- users do not need to worry about managing the
infrastructure.

PaaS includes infrastructure (servers, storage, and networking) and platform


(middleware, development tools, database management systems, business
intelligence, and more) to support the web application life cycle.

Example: Google App Engine, Force.com, Joyent, Azure.

PaaS providers provide the Programming languages, Application frameworks,


Databases, and Other tools:
. Programming languages
PaaS providers provide various programming languages for the developers to
develop the applications. Some popular programming languages provided by PaaS
providers are Java, PHP, Ruby, Perl, and Go.

2. Application frameworks
PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are
Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.

3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB,
and Redis to communicate with the applications.

4. Other tools
PaaS providers provide various other tools that are required to develop, test, and
deploy the applications.

Advantages of PaaS
There are the following advantages of PaaS -

1) Simplified Development

PaaS allows developers to focus on development and innovation without worrying


about infrastructure management.

2) Lower risk

No need for up-front investment in hardware and software. Developers only need a
PC and an internet connection to start building applications.

3) Integration with the rest of the systems applications

It may happen that some applications are local, and some are in the cloud. So there
will be chances of increased complexity when we want to use data which in the cloud
with the local data.
Popular PaaS Providers

Software as a Service | SaaS


SaaS is also known as "On-Demand Software". It is a software distribution model in
which services are hosted by a cloud service provider. These services are available to
end-users over the internet so, the end-users do not need to install any software on
their devices to access these services.

There are the following services provided by SaaS providers -

Business Services - SaaS Provider provides various business services to start-up the
business. The SaaS business services include ERP (Enterprise Resource
Planning), CRM (Customer Relationship Management), billing, and sales.

Document Management - SaaS document management is a software application


offered by a third party (SaaS providers) to create, manage, and track electronic
documents.

Example: Slack, Samepage, Box, and Zoho Forms.

Social Networks - As we all know, social networking sites are used by the general
public, so social networking service providers use SaaS for their convenience and
handle the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail
services, many e-mail providers offering their services using SaaS.

Advantages of SaaS cloud computing layer


1) SaaS is easy to buy

SaaS pricing is based on a monthly fee or annual fee subscription, so it allows


organizations to access business functionality at a low cost, which is less than
licensed applications.

Unlike traditional software, which is sold as a licensed based with an up-front cost
(and often an optional ongoing support fee), SaaS providers are generally pricing the
applications using a subscription fee, most commonly a monthly or annually fee.

. One to Many

SaaS services are offered as a one-to-many model means a single instance of the
application is shared by multiple users.

3. Less hardware required for SaaS

The software is hosted remotely, so organizations do not need to invest in additional


hardware.

4. Low maintenance required for SaaS


Software as a service removes the need for installation, set-up, and daily
maintenance for the organizations. The initial set-up cost for SaaS is typically less
than the enterprise software. SaaS vendors are pricing their applications based on
some usage parameters, such as a number of users using the application. So SaaS
does easy to monitor and automatic updates.

Popular SaaS Providers

Public Cloud Platforms:

Public Cloud

o Public Cloud provides a shared platform that is accessible to the general


public through an Internet connection.
o Public cloud operated on the pay-as-per-use model and administrated by
the third party, i.e., Cloud service provider.
o In the Public cloud, the same storage is being used by multiple users at the
same time.
o Public cloud is owned, managed, and operated by businesses, universities,
government organizations, or a combination of them.
o Amazon Elastic Compute Cloud (EC2), Microsoft Azure, IBM's Blue Cloud, Sun
Cloud, and Google Cloud are examples of the public cloud.

Advantages of Public Cloud


There are the following advantages of public cloud -

1) Low Cost

Public cloud has a lower cost than private, or hybrid cloud, as it shares the same
resources with a large number of consumers.

2) Location Independent

Public cloud is location independent because its services are offered through the
internet.
3) Save Time

In Public cloud, the cloud service provider is responsible for the manage and
maintain data centers in which data is stored, so the cloud user can save their time to
establish connectivity, deploying new products, release product updates, configure,
and assemble servers.

Disadvantages of Public Cloud


1) Low Security

Public Cloud is less secure because resources are shared publicly.

2) Performance

In the public cloud, performance depends upon the speed of internet connectivity.

3) Less customizable

Public cloud is less customizable than the private cloud.

Service Oriented Architecture


A Service-Oriented Architecture or SOA is a design pattern which is designed to build
distributed systems that deliver services to other applications through the protocol. It
is only a concept and not limited to any programming language or platform.

What is Service?
A service is a well-defined, self-contained function that represents a unit of
functionality. A service can exchange information from another service. It is not
dependent on the state of another service. It uses a loosely coupled, message-based
communication model to communicate with applications and other services.

Service Connections
The figure given below illustrates the service-oriented architecture. Service consumer
sends a service request to the service provider, and the service provider sends the
service response to the service consumer. The service connection is understandable
to both the service consumer and service provider.
Service-Oriented Terminologies

o Services - The services are the logical entities defined by one or more
published interfaces.
o Service provider - It is a software entity that implements a service
specification.
o Service consumer - It can be called as a requestor or client that calls a service
provider. A service consumer can be another service or an end-user
application.
o Service locator - It is a service provider that acts as a registry. It is responsible
for examining service provider interfaces and service locations.
o Service broker - It is a service provider that pass service requests to one or
more additional service providers.

Characteristics of SOA
The services have the following characteristics:

o They are loosely coupled.


o They support interoperability.
o They are location-transparent
o They are self-contained.

Components of service-oriented
architecture
The service-oriented architecture stack can be categorized into two parts - functional
aspects and quality of service aspects.
Functional aspects

The functional aspect contains:

o Transport - It transports the service requests from the service consumer to the
service provider and service responses from the service provider to the service
consumer.
o Service Communication Protocol - It allows the service provider and the
service consumer to communicate with each other.
o Service Description - It describes the service and data required to invoke it.
o Service - It is an actual service.
o Business Process - It represents the group of services called in a particular
sequence associated with the particular rules to meet the business
requirements.

Advantages of SOA
SOA has the following advantages:

o Easy to integrate - In a service-oriented architecture, the integration is a


service specification that provides implementation transparency.
o Manage Complexity - Due to service specification, the complexities get
isolated, and integration becomes more manageable.
o Platform Independence - The services are platform-independent as they can
communicate with other applications through a common language.
o Loose coupling - It facilitates to implement services without impacting other
applications or services.
o Parallel Development - As SOA follows layer-based architecture, it provides
parallel development.
o Available - The SOA services are easily available to any requester.

Programming on Amazon AWS and Microsoft Azure


Programming on Amazon Web Services (AWS) and Microsoft Azure involves
developing applications that utilize the cloud resources and services provided
by these two major cloud platforms. Both AWS and Azure offer a wide range of
services and tools for developers, and the choice between them depends on
your specific project requirements, existing expertise, and business needs.
Here's an overview of programming on AWS and Azure:
Programming on Amazon AWS:
Languages and Frameworks: AWS supports various programming languages
and frameworks, including Python, Java, .NET, Node.js, Ruby, and more. You
can use the AWS SDKs and libraries specific to your chosen language for
interacting with AWS services.
Lambda: AWS Lambda allows you to run code in response to events and
triggers without provisioning or managing servers. You can write Lambda
functions in several languages, including Python, Node.js, and Java.
Amazon EC2: Amazon Elastic Compute Cloud (EC2) enables you to launch
virtual machines running various operating systems. You can install your
preferred programming environment on EC2 instances and develop
applications.
AWS Elastic Beanstalk: Elastic Beanstalk simplifies application deployment and
management. You can deploy web applications written in languages like
Python, Java, .NET, and more.
AWS SDKs and CLI: AWS provides SDKs and a command-line interface (CLI) to
interact with its services. You can use these tools to manage AWS resources
and integrate them into your applications.
Databases: AWS offers managed database services like Amazon RDS (Relational
Database Service) and Amazon DynamoDB (NoSQL database), allowing you to
store and access data from your applications.
API Gateway: AWS API Gateway enables you to create, publish, and manage
APIs for your applications, making it easier to build RESTful APIs.
Serverless Computing: AWS provides serverless options with AWS Lambda and
Amazon API Gateway. These services allow you to focus on writing code
without managing servers.
Programming on Microsoft Azure:
Languages and Frameworks: Azure supports a wide range of programming
languages and frameworks, including .NET, Java, Python, Node.js, and PHP. You
can use Azure SDKs and libraries specific to your language of choice.
Azure Functions: Similar to AWS Lambda, Azure Functions allows you to write
code that responds to events and triggers. It supports multiple languages.
Azure Virtual Machines: Azure VMs provide a platform for running custom
applications and development environments. You can choose from various VM
sizes and OS images.
Azure App Service: Azure's App Service allows you to build, host, and scale web
applications, supporting multiple languages and frameworks.
Azure SDKs and Azure CLI: Azure offers SDKs and a command-line interface for
managing resources and services. These tools help developers automate tasks
and manage resources programmatically.
Azure Cosmos DB: Azure provides a globally distributed, multi-model database
service for building scalable and responsive applications.
Azure API Management: Azure's API Management service helps create and
manage APIs, facilitating secure access for applications.
Azure Logic Apps: Logic Apps are used to automate workflows and integrate
applications and services.
Azure Kubernetes Service (AKS): Azure supports containerized applications
using Kubernetes for orchestration

You might also like