© Copyright 2011 FPT Software 1
FPT Software
SOFTWARE AS A
SERVICE (SAAS)
INTRODUCTION
Tung.Nguyen – Solution Architect
tungnq@fsoft.com.vn
May-2014
© Copyright 2011 FPT Software 2
Outline
• SaaS Overview
• SaaS Architecture Stack
• Architecting SaaS
• SaaS Architecture Reference
• Intel Conceptual Architecture for SaaS
• Sample: Architecting SaaS - Selection
© Copyright 2011 FPT Software 3
What is SaaS?
• Software as a service is an application delivery model
where in it is distributed by vendors or service provider
through the internet.
• SaaS delivers software to customers through a Web
Page.
• A client could purchase the service by going to vendor’s
website and SaaS is accessible through an API.
© Copyright 2011 FPT Software 4
Characteristics of SaaS
• Software provided as a service by a
software vendor to multiple
customers with the following main
characteristics:
– Standardization of software – eventually
customized for specific customers and
markets
– License based on usage (subscription or
“pay-as-you-go”)
– Service including maintenance, support
and upgrades
– Data storage at the SaaS vendor
– Web based – usage over the (public)
internet
© Copyright 2011 FPT Software 5
SaaS Architecture Stack
Application
Application Service
Operation Services
Multi-Tenancy
OS & Infrastructure Software
Data center or Cloud Infrastructure
Tenant 1 Tenant 2 Tenant n
3 Key Factors:
 Customization & Extendibility
 Price
 Security and Configuration
Service Development &
Delivery:
 Service Architecture
 Scalability
 Operation Cost
 Security
 Service Quality & Availability
© Copyright 2011 FPT Software 6
SaaS Tech Challenges
SaaS
Challenges
Uptime
(24/7)
Multi-
Tenancy
ScalabilitySecurity
User
Experience
© Copyright 2011 FPT Software 7
SaaS Architecture Drivers
Business Constraints
• Time to market
Business Requirements
• Project/Domain dependent
System Requirements
• Hosted Online Solution
• Multi-Tenancy
• Scalability (#users?)
• Availability (99.5% …? … 99.9%)
• Fault Tolerance
• Security (regulations?)
• Performance (5 sec ?)
• Extensibility and Upgradability (Multiple releases)
© Copyright 2011 FPT Software 8
Architecting SaaS Overview
© Copyright 2011 FPT Software 9
SaaS – Hosting (1/2)
© Copyright 2011 FPT Software 10
SaaS – Hosting (2/2)
On-Premise
Datacenter
(Buy my own hardware,
and manage my own
data center)
Managed Hosting
(Co-Location or
Managed Server)
Public Cloud/
Private Cloud
High
Low
Low
High
Control
Economy of Scale
© Copyright 2011 FPT Software 11
SaaS – Multi-Tenancy (13)
© Copyright 2011 FPT Software 12
SaaS – Multi-Tenancy (2/3)
• Level 1: Ad Hoc/Custom
• Level 2: Configurable
• Level 3: Configurable
Multi-Tenant-Efficient
• Level 4: Scalable,
Configurable, Multi-
Tenant-Efficient
© Copyright 2011 FPT Software 13
SaaS – Multi-Tenancy (3/3)
Level 1: Ad Hoc/Custom
•Similar to ASP model.
•Each customer has its own customized version of the hosted application, and runs its own instance
of the application of the host’s servers.
•This level offers very few of the benefits of a fully nature SaaS Solution.
Level 2: Configurable
•Vendor hosts a separate instance of the application for each tenant.
•Same code, no need to maintain customized application code bases.
•Easier to support/maintain since only single instance needs to be updated.
•More expensive than level1 in term of effort required.
Level 3: Configurable & Multi-Tenant-Efficient
•Single instance that serves every customer, with configurable metadata.
•Authorization & security policies ensure that each customer’s data is kept separate from that of
other customers.
•Eliminates the need to provide server space for as many instances as the vendor has customers.
Level 4: Scalable, Configurable & Multi-Tenant-Efficient
•Vendor hosts multiple customers on a load-balanced farm of identical instances.
•Scalable because servers can be added to meet demand without re-architecture.
•Changes or fixes can be rolled out to thousands of tenants.
© Copyright 2011 FPT Software 14
SaaS – Application (1/3)
© Copyright 2011 FPT Software 15
SaaS – Application (2/3)
Load Balancing
© Copyright 2011 FPT Software 16
SaaS – Application (3/3)
Stateless vs Stateful
© Copyright 2011 FPT Software 17
SaaS – Data Storage (1/2)
© Copyright 2011 FPT Software 18
SaaS – Data Storage (2/2)
 Separate Databases  Shared Database,
Separate Schemas
 Shared Database,
Shared Schema
© Copyright 2011 FPT Software 19
SaaS Architecture Reference
SaaS App Architecture – High Level Architecture
• Metadata Services:
– provides customers with the
primary means of customizing
and configuring the
application to meet their
needs
• Security Services:
– the nature of SaaS makes
security both a paramount
concern for customers, and a
high priority for application
architects
© Copyright 2011 FPT Software 20
SaaS Architecture Reference
SaaS App Architecture – Metadata Service
User interface and branding
• Customer can modify the user interface and reflect their corporate branding.
Workflow and business rules
• Customers should be able to configure the way in which the application's
workflow aligns with their business processes.
Extensions to the data model
• Allow to extend data model to aligns with customer’s application requirements.
Access control
• Each customer is responsible for creating individual accounts for end users, and
for determining which resources and functions each user should be allowed to
access.
• Access rights and restrictions for each user are tracked by using security policies,
which should be configurable by each tenant.
© Copyright 2011 FPT Software 21
SaaS Architecture Reference
SaaS App Framework
© Copyright 2011 FPT Software 22
Intel Conceptual Arch for SaaS
Use-Case Model
© Copyright 2011 FPT Software 23
Intel Conceptual Arch for SaaS
Conceptual Architecture
© Copyright 2011 FPT Software 24
Intel Conceptual Arch for SaaS
Reference Architecture
© Copyright 2011 FPT Software 25
Sample Architecting SaaS
SaaS Selection
© Copyright 2011 FPT Software 26
Sample Architecting SaaS
Building Blocks
Traditional Web Client
PC Browser
HTML Rendering
RIA Client
PC Browser
RIA
Framework
RIA
Components
RIA Utilities
Application Service
Web Frameworks
Web Application
Frameworks
Template Engine
Programmatic Access/APIs
REST Webservice
Business Logic
Business
Components
Rule Engine
Event
Processing
Workflow (Processes)
BPM Engine
Data Access
ORM Mem Caching
Collaboration
Search Engine
Content
Management
Infrastructure Services
Web Server
HTTP Server
Servlet
Container
Application
Server
Workflow (Processes)
Message Queue
Data Access
RDBMS
In-Memory
DB
Distributed Computing
Distributed Computing
Framework
ESB
NoSQL File Storage
Cross-Cutting
WebServer
Build&DeployMonitoringBAM
Security
Identityand
Access
Reporting/BI
AdHoc
ReportingDW
Utilities
Common
Framework
SingleSign-On
Reporting
EngineIntegration
© Copyright 2011 FPT Software 27
Sample Architecting SaaS
SaaS Technology
OpenSource
• JSF/ExtJS
• Spring
• Hibernate/JPA
• JBossAS/Tomcat
• JBoss Drools
• JBoss BPM
• OpenJMS/JBoss Messaging
• Mule ESB/Open ESB
• MySQL/PostgreSQL
• InfoBright/JasperSoft
• Liferay Portal
• …
MS.NET
• Silverlight/ASP.NET
• RIA Services/WCF
• Entity Framework
• Windows AppFabric
• MS BizTalk/ESB
• NServiceBus/MSMQ
• MS SQL Server
• SSRS
• SSIS
• SSAS
• …
© Copyright 2011 FPT Software 28
Reference
• Architecture Strategies for Catching the Long Tail -
http://msdn.microsoft.com/en-
us/library/aa479069.aspx#docume_topic2
• Multi-Tenant Data Architecture -
http://msdn.microsoft.com/en-us/library/aa479086.aspx
• Software as a Service (SaaS): An Enterprise Perspective -
http://msdn.microsoft.com/en-us/library/aa905332.aspx
© Copyright 2011 FPT Software 29
Thank you!

SaaS Introduction-May2014

  • 1.
    © Copyright 2011FPT Software 1 FPT Software SOFTWARE AS A SERVICE (SAAS) INTRODUCTION Tung.Nguyen – Solution Architect tungnq@fsoft.com.vn May-2014
  • 2.
    © Copyright 2011FPT Software 2 Outline • SaaS Overview • SaaS Architecture Stack • Architecting SaaS • SaaS Architecture Reference • Intel Conceptual Architecture for SaaS • Sample: Architecting SaaS - Selection
  • 3.
    © Copyright 2011FPT Software 3 What is SaaS? • Software as a service is an application delivery model where in it is distributed by vendors or service provider through the internet. • SaaS delivers software to customers through a Web Page. • A client could purchase the service by going to vendor’s website and SaaS is accessible through an API.
  • 4.
    © Copyright 2011FPT Software 4 Characteristics of SaaS • Software provided as a service by a software vendor to multiple customers with the following main characteristics: – Standardization of software – eventually customized for specific customers and markets – License based on usage (subscription or “pay-as-you-go”) – Service including maintenance, support and upgrades – Data storage at the SaaS vendor – Web based – usage over the (public) internet
  • 5.
    © Copyright 2011FPT Software 5 SaaS Architecture Stack Application Application Service Operation Services Multi-Tenancy OS & Infrastructure Software Data center or Cloud Infrastructure Tenant 1 Tenant 2 Tenant n 3 Key Factors:  Customization & Extendibility  Price  Security and Configuration Service Development & Delivery:  Service Architecture  Scalability  Operation Cost  Security  Service Quality & Availability
  • 6.
    © Copyright 2011FPT Software 6 SaaS Tech Challenges SaaS Challenges Uptime (24/7) Multi- Tenancy ScalabilitySecurity User Experience
  • 7.
    © Copyright 2011FPT Software 7 SaaS Architecture Drivers Business Constraints • Time to market Business Requirements • Project/Domain dependent System Requirements • Hosted Online Solution • Multi-Tenancy • Scalability (#users?) • Availability (99.5% …? … 99.9%) • Fault Tolerance • Security (regulations?) • Performance (5 sec ?) • Extensibility and Upgradability (Multiple releases)
  • 8.
    © Copyright 2011FPT Software 8 Architecting SaaS Overview
  • 9.
    © Copyright 2011FPT Software 9 SaaS – Hosting (1/2)
  • 10.
    © Copyright 2011FPT Software 10 SaaS – Hosting (2/2) On-Premise Datacenter (Buy my own hardware, and manage my own data center) Managed Hosting (Co-Location or Managed Server) Public Cloud/ Private Cloud High Low Low High Control Economy of Scale
  • 11.
    © Copyright 2011FPT Software 11 SaaS – Multi-Tenancy (13)
  • 12.
    © Copyright 2011FPT Software 12 SaaS – Multi-Tenancy (2/3) • Level 1: Ad Hoc/Custom • Level 2: Configurable • Level 3: Configurable Multi-Tenant-Efficient • Level 4: Scalable, Configurable, Multi- Tenant-Efficient
  • 13.
    © Copyright 2011FPT Software 13 SaaS – Multi-Tenancy (3/3) Level 1: Ad Hoc/Custom •Similar to ASP model. •Each customer has its own customized version of the hosted application, and runs its own instance of the application of the host’s servers. •This level offers very few of the benefits of a fully nature SaaS Solution. Level 2: Configurable •Vendor hosts a separate instance of the application for each tenant. •Same code, no need to maintain customized application code bases. •Easier to support/maintain since only single instance needs to be updated. •More expensive than level1 in term of effort required. Level 3: Configurable & Multi-Tenant-Efficient •Single instance that serves every customer, with configurable metadata. •Authorization & security policies ensure that each customer’s data is kept separate from that of other customers. •Eliminates the need to provide server space for as many instances as the vendor has customers. Level 4: Scalable, Configurable & Multi-Tenant-Efficient •Vendor hosts multiple customers on a load-balanced farm of identical instances. •Scalable because servers can be added to meet demand without re-architecture. •Changes or fixes can be rolled out to thousands of tenants.
  • 14.
    © Copyright 2011FPT Software 14 SaaS – Application (1/3)
  • 15.
    © Copyright 2011FPT Software 15 SaaS – Application (2/3) Load Balancing
  • 16.
    © Copyright 2011FPT Software 16 SaaS – Application (3/3) Stateless vs Stateful
  • 17.
    © Copyright 2011FPT Software 17 SaaS – Data Storage (1/2)
  • 18.
    © Copyright 2011FPT Software 18 SaaS – Data Storage (2/2)  Separate Databases  Shared Database, Separate Schemas  Shared Database, Shared Schema
  • 19.
    © Copyright 2011FPT Software 19 SaaS Architecture Reference SaaS App Architecture – High Level Architecture • Metadata Services: – provides customers with the primary means of customizing and configuring the application to meet their needs • Security Services: – the nature of SaaS makes security both a paramount concern for customers, and a high priority for application architects
  • 20.
    © Copyright 2011FPT Software 20 SaaS Architecture Reference SaaS App Architecture – Metadata Service User interface and branding • Customer can modify the user interface and reflect their corporate branding. Workflow and business rules • Customers should be able to configure the way in which the application's workflow aligns with their business processes. Extensions to the data model • Allow to extend data model to aligns with customer’s application requirements. Access control • Each customer is responsible for creating individual accounts for end users, and for determining which resources and functions each user should be allowed to access. • Access rights and restrictions for each user are tracked by using security policies, which should be configurable by each tenant.
  • 21.
    © Copyright 2011FPT Software 21 SaaS Architecture Reference SaaS App Framework
  • 22.
    © Copyright 2011FPT Software 22 Intel Conceptual Arch for SaaS Use-Case Model
  • 23.
    © Copyright 2011FPT Software 23 Intel Conceptual Arch for SaaS Conceptual Architecture
  • 24.
    © Copyright 2011FPT Software 24 Intel Conceptual Arch for SaaS Reference Architecture
  • 25.
    © Copyright 2011FPT Software 25 Sample Architecting SaaS SaaS Selection
  • 26.
    © Copyright 2011FPT Software 26 Sample Architecting SaaS Building Blocks Traditional Web Client PC Browser HTML Rendering RIA Client PC Browser RIA Framework RIA Components RIA Utilities Application Service Web Frameworks Web Application Frameworks Template Engine Programmatic Access/APIs REST Webservice Business Logic Business Components Rule Engine Event Processing Workflow (Processes) BPM Engine Data Access ORM Mem Caching Collaboration Search Engine Content Management Infrastructure Services Web Server HTTP Server Servlet Container Application Server Workflow (Processes) Message Queue Data Access RDBMS In-Memory DB Distributed Computing Distributed Computing Framework ESB NoSQL File Storage Cross-Cutting WebServer Build&DeployMonitoringBAM Security Identityand Access Reporting/BI AdHoc ReportingDW Utilities Common Framework SingleSign-On Reporting EngineIntegration
  • 27.
    © Copyright 2011FPT Software 27 Sample Architecting SaaS SaaS Technology OpenSource • JSF/ExtJS • Spring • Hibernate/JPA • JBossAS/Tomcat • JBoss Drools • JBoss BPM • OpenJMS/JBoss Messaging • Mule ESB/Open ESB • MySQL/PostgreSQL • InfoBright/JasperSoft • Liferay Portal • … MS.NET • Silverlight/ASP.NET • RIA Services/WCF • Entity Framework • Windows AppFabric • MS BizTalk/ESB • NServiceBus/MSMQ • MS SQL Server • SSRS • SSIS • SSAS • …
  • 28.
    © Copyright 2011FPT Software 28 Reference • Architecture Strategies for Catching the Long Tail - http://msdn.microsoft.com/en- us/library/aa479069.aspx#docume_topic2 • Multi-Tenant Data Architecture - http://msdn.microsoft.com/en-us/library/aa479086.aspx • Software as a Service (SaaS): An Enterprise Perspective - http://msdn.microsoft.com/en-us/library/aa905332.aspx
  • 29.
    © Copyright 2011FPT Software 29 Thank you!