Subject Name :-Cloud Computing
Subject Code :- KCS 713
Unit No. :- 3
Lecture No. :- 1
Topic Name :- Cloud Layered Architecture
Contents
Cloud Computing Architecture
Front End
Back End
Stack of Services
Architectural Layers Cloud Computing
Multi-Tenancy
SOA and Cloud Computing
Important Questions
References
Cloud Computing Architecture
• Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can broadly
divide the cloud architecture into two parts:
• Front End
• Back End
• Each of the ends is connected through a network, usually Internet. The following diagram shows the graphical
view of cloud computing architecture:
Front End: - The front end refers to the
client part of cloud computing system. It
consists of interfaces and applications
that are required to access the cloud
computing platforms, Example - Web
Browser.
Back End:-The back End refers to the
cloud itself. It consists of all the
resources required to provide cloud
computing services. It comprises of huge
data storage, virtual machines, security
mechanism, services, deployment
models, servers, etc.
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
Cloud Computing Stack of Services
Cloud Clients
Cloud Applications
Cloud Services
Cloud Platform Cloud Storage
Cloud Infrastructure
Distributed Multi-site Physical
Infrastructure
enabled by server virtualization
Architectural Layers Cloud Computing
In the cloud computing stack, there are three basic SaaS
Layers that together create cloud environment. They are: PaaS
1.Infrastructure as a Service(IaaS)
IaaS
2.Platform as a Service (PaaS)
3.Software as a Service (SaaS)
Framework of cloud computing
Application Services and built in functionality
Developments tools
Platform
Basic
middleware
(databaseresources
Virtualized services , Virtualized images
C ompute N etworking Image Metadata
Infrastructure application
Storageserver 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 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
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
Architectu Functional
• ral
Multi-tenancy • Provisioning
• Scalability • Billing
• Security • Metering
• Performance • Monitoring
MULTI-
TENANCY
• Multi-tenancy is an architectural pattern
• A single instance of the software is run on the service provider’s
infrastructure
• Multiple tenants access the same instance.
• In contrast to the multi-user model, multi-tenancy requires customizing the
single instance according to the multi-faceted requirements of many tenants.
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
Application Server
Fully isolated Application server
Each tenant accesses an application Tenant A
server running on a dedicated servers.
Application server
Tenant B
Application server Virtual
Virtualized Application Server Each
tenant accesses a dedicated A machine
Tenant
application running on a separate Virtual
virtual machine. Tenant B
machine
Application server
Shared Virtual Server
Each tenant accesses a dedicated Tenant A Virtual
application server running on a shared machine
virtual machine.
Tenant B
Shared Application Server
Session thread
The tenant shared the application server Tenant A
and access application resources through Application Server
separate session or threads.
Tenant B
Session Thread
Multi-tenants Deployment Modes in Data Centers
• Fully isolated data center
The tenants do not share any data Tenant A
center resources
Tenant B
• Virtualized servers Virtual
The tenants share the same Tenant A Machin Database
e
host but access different
databases running on separate Virtual
virtual machines Machine
Database
Tenant B
• Shared Server
The tenants share the same
server (Hostname or IP) but Tenant A
access different databases
Tenant B
• Shared Database
The tenants share the same
server and database (shared or Tenant A
different ports) but access
different schema(tables)
• Shared Schema Tenant B
The tenants share the same
Tenant A
server, database and schema
(tables). The irrespective data is
segregated by key and rows.
Tenant B
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.
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
Softwa
re Single Instance
Modul Multi-tenancy
e
User- User-
1 3
Architectural Overview for Multi-tenancy
Client
Authentication
st
Reque
HTTP
Ticket
Create Ticket()
Authentication Server
Session Ticket
Module Tenant Token Tenant
+ Create Ticket() Auth
Data
Configurati
on
Layout Component
Single-
Configuration Component Tena
tenant nt
File I/O Component
business Confi
Workflow Component g
logic
y
Quer
Data
Databa
Query Adjuster seBalancer
Load Record Initializer
Database
Pool
Dat Dat Dat
a a a
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 existing package is deployed in the user premises and found difficult in regular
software maintenance and overhead costs for the infrastructure requirements.
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.
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.
SERVICE ORIENTED COMPUTING
ELEMENTS RELATIONS
service-oriented computing platform
revolves around
service-orientation design paradigm
and its relationship with
service-oriented architecture
Important Questions
1. How does cloud architecture overcome the difficulties faced by traditional architecture?
2. What are the three differences that separate out cloud architecture from the tradition one?
3. What are the advantages of cloud architecture?
4. hat are the examples of cloud architectures on which application can run?
5. What are the different components required by cloud architecture?
References
Dan C Marinescu: “ Cloud Computing Theory and Practice.” Elsevier(MK) 2013.
RajkumarBuyya, James Broberg, Andrzej Goscinski: “Cloud Computing Principles
and Paradigms”, Willey 2014.
Kai Hwang, Geoffrey C Fox and Jack J Dongarra, “Distributed and cloud computing”, Elsevier(MK)
2012.
John W Ritting house, James F Ransome: “Cloud Computing Implementation, Management and
Security”, CRC Press 2013.