Architectural Overview of Cloud Computing: B.M. Rao

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 37

Architectural Overview

Of
Cloud Computing
B.M. Rao, Senior Technical Director
National Informatics Centre,
Hyderaad

Introduction
High performance networks and
advanced development of internet is
the basis for cloud computing .
Cloud computing has started taking
shape incorporating virtualization and
on demand deployment and internet
delivery of services.

Introduction
Cloud is a pool of virtualized computer
resources networked, which can:
Host a variety of workloads.
Batch-style back-end jobs.
Interactive user-facing applications.
Workloads can be deployed and scaled out
quickly through the rapid provisioning of
virtual machines or physical machines.
Support redundant, self recovering, highly
scalable programming models that allow
workloads to recover from many unavoidable
hardware / software failures.
Monitor resource use in real time to enable
rebalancing of allocations when needed.

Conventional Computing
vs.

Cloud Computing
Conventional
Manually

Provisioned
Dedicated Hardware
Fixed Capacity
Pay for Capacity
Capital &
Operational
Expenses

Cloud
Self-provisioned
Shared

Hardware
Elastic Capacity
Pay for Use
Operational
Expenses

Five Key Cloud Attributes:

1. Shared / pooled resources


2. Broad network access
3. On-demand self-service
4. Scalable and elastic
5. Metered by use

Shared / Pooled Resources:


Resources

are drawn from a common pool


Common resources build economies of scale
Common infrastructure runs at high efficiency

Broad Network Access:


Open

standards and APIs


Almost always IP, HTTP, and REST
Available from anywhere with an
internet connection

On-Demand Self-Service:
Completely

automated
Users abstracted from the implementation
Near real-time delivery (seconds or
minutes)
Services accessed through a self-serve
web interface

Scalable and Elastic:


Resources

dynamically-allocated
between users
Additional resources dynamicallyreleased when needed
Fully automated

Metered by Use:
Services

are metered, like a utility


Users pay only for services used
Services can be cancelled at any
time

Architecture Overview

Architectural Layers of Cloud


Computing

In the cloud computing stack, there are three


basic layers
that together create cloud environment. They
are:
1.Infrastructure as a Service(IaaS)
2.Platform as a Service (PaaS)
3.Software as a Service (SaaS)

SaaS
PaaS
IaaS

Service Delivery Model Examples


Amazon

Google

Microsoft

Salesforce

SaaS

PaaS

IaaS

Products and companies shown for illustrative purposes only and should not
be construed as an endorsement

Framework of cloud
computing
Applicatio
n

Services and built in functionality


Developments tools

Platfor
m

Infrastruct
ure

Basic middleware
(database services , application
server )

Virtualized
resources
Comput
Networki
e

ng

Virtualized images
Image Metadata

Storage

Image

Software kernel (OS. VM Manager)


Hardware

Virtual infrastructure
management and Cloud
Computing
For building the cloud environment a variety
of requirements must be met to provide a
uniform and homogeneous view of the
virtualized resources.
Virtual Infrastructure Management is the key
component to build the cloud environment
which does the dynamic orchestration of
virtual machines on a pool of physical
resources.

Virtual infrastructure
management and Cloud
Computing
Virtual infrastructure management provide
primitives to schedule and manage VMs
across multiple physical hosts.
Cloud management provide remote and
secure interface for creating controlling and
monitoring virtualized resources on IaaS.

View of Cloud Deployment


Cloud
Applicati
on

Client
Infrastructure

Application
Servic
e

PaaS
Platfor
m

IaaS

Storag
e
Infrastructur
e

Virtualized
Application

SaaS

Software as a Service
It is a Deployment/Delivery model
Hosted and managed by vendor
Delivered across the internet
It is a Business Model : usage-based
pricing(vs. perpetual license model of
on premise software).Examples:
Per user per month
Per transaction
Per GB of storage per month

Software as a Service

Architectural
Multi-tenancy
Scalability
Security
Performance

Functional
Provisioning
Billing
Metering
Monitoring

MULTI-TENANCY
Multi-tenancy is an architectural pattern
A single instance of the software is run on
the service providers infrastructure
Multiple tenants access the same instance.
In contrast to the multi-user model, multitenancy requires customizing the single
instance according to the multi-faceted
requirements of many tenants.

MULTI-TENANCY

A Multi-tenants application lets customers


(tenants) share the same hardware resources,
by offering them one shared application and
database instance ,while allowing them to
configure the application to fit there needs as
if it runs on dedicated environment.
These definition focus on what we believe to
be the key aspects of multi tenancy:
1.The ability of the application to share
hardware resources.
2.The offering of a high degree of
configurability of the software.
3.The architectural approach in which the
tenants make use of a single application and
database instance.

Multi-tenants Deployment
Modes for Application Server
Fully isolated Application
server
Each tenant accesses an
application server running on a
dedicated servers.
Virtualized Application
Server
Each tenant accesses a
dedicated application running on
a separate virtual machine.
Shared Virtual Server
Each tenant accesses a
dedicated application server
running on a shared virtual
machine.
Shared Application Server
The tenant shared the
application server and access

Application Server
Tenant A

Tenant B

Application server
Application server

Tenant A

Virtual
machine

Tenant B

Virtual
machine
Application server

Tenant A

Virtual
machine

Tenant B

Tenant A

Session thread
Application Server

Tenant B

Session Thread

Multi-tenants Deployment Modes in Data


Fully
isolated data center
Centers
The tenants do not share
any data center resources

Tenant A
Tenant B

Virtualized servers
The tenants share the
same host but access
different
databases
running
on
separate
virtual machines
Shared Server
The tenants share the
same server (Hostname or
IP) but access different
databases
Shared Database
The tenants share the
same server and database
(shared or different ports)
but access different
schema(tables)
Shared Schema
The tenants share the
same server,
database

Tenant A

Tenant B

Tenant A
Tenant B

Tenant A

Tenant B

Tenant A

Tenant B

Virtual
Machine

Virtual
Machine

Database

Database

Conceptual framework of Software as a


Service
Menu and
Navigation

Presentation
Securit
y

User
Controls

Display and
Rendering

Operatio
n

Application
Engine

Identity and
federation

User Profile

Workflow

Authentication
and Single Sign
on

Notification
and
Subscription

Execution
Handling

Authorization
and Role-based
Access Control

Metadata
Execution
Engine

Entitlement

Metadata
Services

Encryption

Messaging

Reportin
g

Orchestratio
n

Data
Synchronizati
on

Monitoring and
Altering
Backup and
Restore
Provisioning

Configuration and
Customization
Performance and
Availability
Metering and
Indicators

Regularity
Controls

Infrastructu
re

Database

Storage

Computer

Networking
and
Communicati
ons

Migrating to Cloud
Environment

The Software can be redeployed in


cloud environment as Software as a
Service (SaaS). The main sections of
the software can be mapped to the
SaaS architecture.

Payroll Processing in Cloud


Computing

Many State Government departments are


utilizing standardized set up of payroll
packages which are deployed at user
locations and it is amounting huge
investment on procurement of hardware
and software and maintenance for various
locations of the organization.

Payroll Software Installed at


more than 300 locations

User

Software
Module

Standalone Loaded on PC

Drawbacks

Drawbacks :
Software Maintenance problems.
Individual Hardware is required.
Often Data Loss occurs.

Migrating the payroll package, to


cloud environment can be worked out
without changing business logic.

IN CLOUD
User-1

Software
Module

User-1

User-3

Single Instance
Multi-tenancy

Architectural Overview for MultiClient


tenancy
HTTP
Request

Authentication

Authentication
Module

Create Ticket()

Session Ticket

Ticket
Server

Tenant Token
+ Create Ticket()

Tenant
Auth
Data

Configuration
Single-tenant
business
logic

Layout Component
Configuration Component
File I/O Component

Query

Workflow Component

Database

Query Adjuster

Load Balancer

Record
Initializer

Database Pool
Data

Data

Data

Tenant
Config
Data

Provisioning for new


tenants
For Separate server model new machine is to be
installed.
For separate database model create a database
start it on a server.
For separate schema and shared schema models
scripts / stored procedure could create new
schema in one of the existing databases.

Background of the
Application
The existing application, which is implemented
in state government departments, is having
the following main sections:

Data admin
Master data entry
Month process
Token no. entry
Reports
Back up to system

The application is ideally suited to deploy in


cloud environment with following features:

The application can be taken up as a single instance


and multi-tenant model
Configurability option in the software is required to
be provided.
Configurability in SaaS enables the flexibility to access
the software by many tenants with the option of
configuring each tenant for their application needs.
The software will have configurability for the
following :
1.User interface.
2.Workflow.
3.Data.
4.Access control.

SaaS Applications
User requirements / Use
cases

Type of environment in
cloud

Impact

Payroll processing

IaaS (VM)
Cloud storage and
SaaS

1. Processing time will be


reduced.
2. Hardware requirements
will be reduced.
3. Number of users can be
increased with scalability.
4. Maintenance cost will be
reduced.

Project Management

PaaS and Cloud storage

1. Processing time can be


reduced.
2. Project execution time and
cost can be reduced.
3. Efficient way of utilization
of skill sets and manpower
can be attained.

e-Governance & Office


automation

IaaS
Cloud storage
SaaS

1. Hardware cost can be


reduced.
2. CPU processing time can
be reduced.
3. Accountability can be
maintained.
4. Maintainance cost can be
reduced.
5. Reduces energy
consumption.

e-Learning

Cloud storage

1. Hardware cost can be

SOA and Cloud Computing


In cloud environment we adopt the bundling
of resources into layers of
Saas
Paas
Iaas
And furthur add a layer for business process
management with the concept of service
oriented architecture(SOA).
SOA is a base for furthur building of cloud
environment for composite application with
work flow concepts.

You might also like