Beruflich Dokumente
Kultur Dokumente
S.Thamarai Selvi
Professor
Department of Computer Technology
MIT Campus
Anna University
Networking Protocols
Distributed Computing
Service Oriented
Architectures
Web 2.0
Virtualization
Grid technology
Distributed Systems(DS)
A distributed system is a collection of
independent computers that appears to its
users as a single coherent system.
- Tanenbaum
A distributed system is one in which
components located at networked
computers communicate and coordinate
their actions only by passing messages.
- Coulouris
Application Layer
Middleware Layer
Operating System Layer
Hardware Layer
Stack of DS
Characteristics of DS
heterogeneity
openness
scalability
transparency
concurrency
continuous availability and
independent failures.
Issues of DS
Architecture for remote access while
sharing
Synchronization
Naming
Sharing memory and shared file system
Security
Transaction - ACID Properties
Scalability
Software Architecture
What is software architecture?
What are the software architectures
available?
Evolution of architectures
Client/Server Architecture
3-Tier
N-Tier
Components based
Services
3-tier architecture
Service
Registry
find
Service
Requestor
Publish
Bind
Service
provider
Monoliths
Structured
Object based
RPC /RMI
Component based
Service based
Map Reduce
Enabling Technologies
Cloud applications: data-intensive,
compute-intensive, storage-intensive
Bandwidth
WS
Services interface
Storage
Models: S3,
BigTable,
BlobStore, ...
VM1
VMn
25
Everything we think of as a
computer today is really just
a device that connects to the
big computer that we are all
collectively building
26
27
Security
Scalability
Availability
Performance
Cost-effective
Acquire resources on demand
Release resources when no longer needed
Pay for what you use
Leverage others core competencies
Turn fixed cost into variable cost
28
30
Computers Redefined
1984 John Gage, Sun Microsystems
The network is the computer
History
1960 - John McCarthy opined that "computation may
someday be organized as a public utility"
Early 1990s The term cloud comes into
commercial use referring to large networks and the
advancement of the Internet.
1999 Salesforce.com is established, providing an
on demand SaaS (Software as a Service).
2001 IBM details the SaaS concept in their
Autonomic Computing Manifesto
2005 Amazon provides access to their excess
capacity on a utility computing and storage basis
2007 Google, IBM, various Universities embark on a
large scale cloud computing research project
November 18, 2009
32
History
http://www.usaspending.gov, http://www.recovery.gov,
http://www.data.gov, etc.
History contd
June 2008: MISD Collaboration Tools Team
formed out of MISD Retreat that collaborated
with the Web 2.0 Team and Web 2.0 Knowledge
Action Team (David Eng, Lead) on meetings,
testing, and discussion of Web 2.0 tools and
delivered a recommendation to support
Telework, etc. (Fall 2008).
October 2008: Started Work on Target
Architecture White Paper on SOA, Web 2.0/3.0,
and Cloud Computing
History contd
October 2008 to present: Series of Cloud Computing
Camps, Meetings, Workshops, Symposiums, etc. (e.g.
July 15, 2009, Federal Symposium featuring Federal
CIO Vivek Kundra)
See http://federalcloudcomputing.wik.is
February 2009: Delivered version 1.0 of the Target
Architecture White Paper (SOA, Web 2.0/3.0, and Cloud
Computing) (at the request of the Acting Chief Architect,
Lisa Jenkins) and series of pilot examples (at the request
of David Eng and others).
July 2009: Request by Tony Studer to present informal
briefing on cloud computing to ITSPB staff with David
Michael.
History contd
May 7, 2009: Improving Innovation, Efficiency, and Effectiveness
in Federal IT .President's FY2010 Budget includes cloud
computing.
May 21, 2009: When Cloud Computing Comes Down to Earth: A
Discussion with Peter Tseronis, DoE Deputy CIO and Chair of
the Federal CIOC Cloud Computing Advisory Council.Mentions
http://federalcloudcomputing.wik.is.
July 13, 2009: Cloud Standards Summit.Provided
recommendations to the July 15th Symposium.
July 15, 2009: Federal Cloud Computing Symposium featuring
Federal CIO Vivek Kundra.See next slide and news story: The
Federal GSA Cloud Storefront may open on Sept 9 .
History contd
August 13, 2009: ArchitecturePlus Seminar- Cloud Computing,
Web 2.0 and Beyond: A Vision of Future Government
Operations.Federal Enterprise Architects should become
involved.
August 21, 2009: Draft NIST Working Definition of Cloud Computing
(version 15):Cloud computing is a model for enabling convenient,
on-demand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage, applications,
and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction. This
cloud model promotes availability and is composed of five essential
characteristics, three service models, and four deployment
models.Note: Cloud software takes full advantage of the cloud
paradigm by being service oriented with a focus on statelessness,
low coupling, modularity, and semantic interoperability.
Over 20 definitions:
http://cloudcomputing.sys-con.com/read/612375_p.htm
Renting remote storage backup
Renting remote server hosting Web server
Renting remote more servers to manage large workload
Definition
National Institute of Standards and Technology
41
Cloud Architecture
Web 2.0
(1993-2003)
(2003- beyond)
Read
Mode
Write &
Contribute
Page
Primary Unit
of content
Post / record
static
State
dynamic
Web browser
Viewed
through
Browsers, RSS
Readers, anything
Client Server
Architecture
Web Services
Web Coders
Content
Created by
Everyone
geeks
Domain of
mass
amatuerization
Web 2.0
AJAX
Data Formats
JSON -Java Script Object Notation
PO XML - Plain Object XML
RSS/Atom
Web 2.0
Data formats - I
JSON (JavaScript Object Notation, RFC-4627)
Subset of JS object literal notation (does not require
JS)
Data types: number, string, boolean, array, object,
null
Supported by many languages
In Dec 2005, Yahoo! added support for JSON
but
No schema mechanism (validation, code
generation)
Limited type system (no date or time)
No extension or versioning
61
REST is History
REST (REpresentational State Transfer)
Based largely on Roy Fieldings Ph.D. thesis
Architectural style designed to promote
Performance
Scalability
Generality
Simplicity
Modifiability
Separation of Concerns
HTTP://REST.BLUEOXEN.NET/CGI-BIN/WIKI.PL?RESTTRIANGLE
Noun Space
Resources are an abstraction for what is
available
Files
Generated Content
Computational Results
Concepts/Organizations/People
Verb Space
Constrained semantics for acting upon
resources
Traditionally
GET
POST
PUT
DELETE
REST Architecture
Source: http://blogs.zdnet.com/Hinchcliffe/
91
Public Clouds
Google App Engine
Amazon Web Services - EC2, S3
Microsoft Azure
LB
n
Web Role
m
Worker Role
10
Client
Infrastructure
Application
Service
PaaS
Platfor
m
IaaS
Storage
Infrastructure
Virtualized Application
SaaS
10
Authentication
Ticket Server
Authentication
Module
Create Ticket()
Session Ticket
Tenant Token
+ Create Ticket()
Tenant Auth
Data
Configuration
Layout Component
Single-tenant
business logic
Configuration Component
Query
Data
Database
Query Adjuster
Load Balancer
Record Initializer
Database Pool
Data
Data
Data
Tenant
Config
Data
10
Cloud Economics
Estimates vary widely on possible cost savings
If you move your data centre to a cloud provider, it will
cost a tenth of the cost. Brian Gammage, Gartner
Fellow
Use of cloud applications can reduce costs from 50%
to 90% - CTO of Washington D.C.
IT resource subscription pilot saw 28% cost savings Alchemy Plus cloud (backing from Microsoft)
Preferred Hotel
Traditional: $210k server refresh and $10k/month
Cloud: $10k implementation and $16k/month
11
Cloud Economics
George Reese, founder Valtira and
enStratus
Using cloud infrastructures saves 18% to 29%
before considering that you no longer need to
buy for peak capacity
11
11
Gmail
Google Docs (word processing and spreadsheets)
Google video for business
Google sites (intranet sites and wikis)
VMWare VCloud
Federate resources between internal IT and
external clouds
11
vCloud Initiative
Goal:
Federate resources between internal IT and
external clouds
Application portability
Elasticity and scalability, disaster recovery,
service level management
11
LB
n
Web Role
m
Worker Role
Tenant 1
Tenant 2
Instance 1
Tenant 3
Instance 2
Tenant 1
Instance 3
Ad Hoc / Custom
Configurable
Multi Tenant Efficient
Tenant 2
Instance 1
Tenant 2
Instance 3
Configurable
Scalable, Configurable
Multi Tenant Efficient
Tenant 1
Tenant 1
Instance 2
Tenant 3
Tenant 3
Tenant 3
Tenant 2
Tenant LoadBalancer
Instance
Instance
Instance
Instance
Source: Force.com
Source: Force.com
Source: Force.com
How do we design
Introduction
Externalize
Customization by Configuration
SaaS way of hosting and
models
Deployment Considerations
Externalize
STORAGE
Database
File Storage
Caching (Temp
Store)
Session
INTEGRATION
Component
Service
Database
Externalize Storage
or
Isolated
data
base
data
tenancy support.
Application
related
data
are
instances.
E.g.
Master data ,
look
Up
values/Pick
management,
Search management,
list
Encrypt Data
Externalize Storage
Configured/Extend
ed new fields
/columns data
Transactional data
Vendor holds data
about
configuration
details
tenant profile, and
provision details
Database approach
Approach :1
Approach :2
Approach :3
Service Integration
External Communication
Customization by Configuration
Configurations
such as
Functional Modules/Components,
, Document Management
Modules/Components Feature,
Feature Operation,
Feature Attributes and so on into the system
to allow end users to choose package for their site.
Business Rules and validation Rules of the Functional
unit can be configured
How features can be enabled /disabled for client site
Provision application & Access Rights can provide this
capability
White-Labeling
XXX Client says that in Customer Module ,
the Customer code should be of length 2
While YYY Client says code should be of
length 5. How to implement this in single
codebase
ValidationRuleEngine using Fluent
Validation API can be used to enable
dynamic Validation
Internationalization
Personalization
UI WebParts
Middleware
Client
Customization
Developed Functional
Logical Unit
Security
Business Logic
Business rules
Workflows
Business Process flow
Batch Process
Scheduler
Method Hooks
Configuration
Customization by configuration
Actions/Activity,
Rules/Conditions,
Actor,
Status
Predefined process
Scheduler
Duration
Parameter
Job/batch process
Security
Authorization
Authentication
application
Federated Security
User Experience
Internationalization & Localization
Personalization (Tenant level)
Logo ??
Personalization
Application Instance
Metering
Provisioning (MTP Application)
Maturity Model High
Approach 1:
Separate Application Instance & separate
Database for each tenant.
Approach 2:
Same single Application Instance & separate
Database for each tenant.
Approach 3:
Shared single Application Instance & single Database
but separate schema for each tenant.
Approach 4:
Shared single Application Instance & Shared
Database ,Schema for all tenant
individual instance of
each one.
Model 4/ Scalable + (Configurable & Multi-tenant Efficient ) [Model 3]
With this facility Client can publish their own advertisements or their
clients advertisements.
How do Service Provider/Vendor change in each clients site?
Is Effort needed = instance X (Development +Testing + deploy)
Single Code base
One Time/Place Effort
OnActivityStart
OnActivityEnd
Events can be implemented across
the product to enable
metering and monitoring
concurrency
Scalability
Componentization
Cache Cluster - Appfabric
Cloud Deployment
Thanks
Cloud Offerings
Why PaaS?
IaaS only provides limited saving to someone
who needs to outsource their IT functions
SaaS is great when they can be used
They are usually very specific (e.g. email, CRM ..)
If they match, then great, but if they are not, not
much choice for the user.
What is Multi-tenancy ?
Cloud shares
resources across a
large pool of users.
Now sharing
happens in the
application level as
oppose to sharing at
OS level for multiple
processes and
sharing at HW level
with VMs.
That can bring
greater savings
Motivating Usecases
(F. Chong and G. Carraro, Architecture strategies for catching the long tail, MSDN
Library, Microsoft Corporation, 2006.)
Implementing MultiTenancy
Goals of Multi-tenancy
Isolation hide the fact other users are also in the same
server.
o Execution enforce security. Make sure one tenant cant call
other tenants executable logic.
o Data make sure one tenant cant see others data
o Performance - make sure performance is not affected by
existence of other tenants.
Scale
o Server is distributed and it can handle larger load by adding more
nodes.
photo by John Trainoron Flickr http://www.flickr.com/photos/trainor/2902023575/,
Licensed under CC
Multi-tenancy Architecture
Separate DB
Separate Schema
Shared Schema
Separate Databases
If you have no control
over the code, then
this is the only
Tenant 4
Tenant 8
Tenant 1
solution
Horizontally scalable,
but relatively
expensive
Vertical scaling is challenging but solvable
WSO2 Relational Storage Service uses this models
to provide users with DBs
21-Jan-16
179
Separate Schema
Relatively easy to
implement
Some databases have
ways to support this
directly but many
dont
Failure difficult to
handle
Scales reasonably
well
21-Jan-16
180
21-Jan-16
181
Performance Isolation
Scaling Up
Overhead of MultiTenancy
Service Performance
Workflow Performance
Conclusion
We discussed what is Multi-tenancy and why it
is crucial for implementing a PaaS.
We discussed details about implementing it
Conclusion
We discussed what is Multi-tenancy and why it
is crucial for implementing a PaaS.
We discussed details about implementing it
19
Amazon EC2
New Features
Availability zones
Place applications in multiple locations for failovers
Elastic IP addresses
Static IP addresses that can be dynamically remapped to
point to different instances (not a DNS change)
19
Nasdaq
Uses S3 to deliver historic stock and fund information
Millions of files showing price changes of entities over 10 minute
segments
The expenses of keeping all that data online [in Nasdaq servers] was
too high. Claude Courbois, Nasdaq VP
Created lightweight Adobe AIR application to let users view data
19
Case Study:
Salesforce.com in Government
5,000+ Public Sector and Nonprofit Customers use
Salesforce Cloud Computing Solutions
President Obamas Citizens Briefing Book Based on
Salesforce.com Ideas application
Case Study:
Salesforce.com in Government
New Jersey Transit Wins InfoWorld 100 Award
for its Cloud Computing Project
Use Salesforce.com to run their call center, incident management,
complaint tracking, and service portal
600% More Inquiries Handled
0 New Agents Required
36% Improved Response Time