Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Architecting SaaS
Doing It Right the First Time

By Serhiy Haziyev
Agenda

Top 10
Industry
Patterns
Meet
Technical
Challenges

Proven Way to
Success
Challenges may have ugly and unpleasant face until you
know how to cope with them…
SaaS Tech Challenges

 Uptime (24/7)
 Multitenancy
 Scalability

 Security
 User Experience
SaaS Architecture Drivers
Business Constraints:

System Requirements:

 Time to market

 Hosted Online Solution
 Multit...
Reference Architecture

Step 1
System
Requirements

use

Reference
Architecture

use

Patterns

derived

Business
Requirem...
Agenda

Top 10
Industry
Patterns
Meet
Technical
Challenges

Proven Way to
Success
Reference Architecture

Step 2
System
Requirements

use

Reference
Architecture

use

Patterns

derived

Business
Requirem...
Definition
Pattern (computer science) - a general reusable solution to a
commonly occurring problem
SaaS Patterns Catalog
Hosting Patterns
Hosting Patterns

On-premise
Datacenter

Managed
Hosting

Public Cloud

Buy my own
hardware, and
manage my own
data center...
Multi-Tenancy Patterns
Multi-Tenancy Patterns
Level 1: Ad Hoc/Custom

Level 2: Configurable

Tenant 1

Tenant 2

Tenant 3

Tenant 1

Tenant 2

Te...
Application Patterns
Load Balancing
External Load Balancer

Client-Side Load Balancing

Client

Client
Proxy
code

HTTP

Load
Balancer
HTTP

No...
Load Balancing
External Load Balancer

Client-Side Load Balancing

Lei Zhu
Stateless vs. Stateful
Stateless Principle

State Replication

Client

Client
Load
Balancer
Load
Balancer
Instance 1

Inst...
Data Storage Patterns
Data Storage Patterns

Separate DB

Tenant 1

Tenant 2

Tenant N

Shared DB, Shared Schema

TenantID
CustName
CustType
Ten...
Pattern Selection
Reference Architecture
Step 3
System
Requirements

use

Reference
Architecture

use

Patterns

derived

Business
Requireme...
Building Blocks
RIA Client
PC Browser
RIA
components

RIA utilities

Business Logic

Workflow (Processes)
Event
Processing...
Agenda

Top 10
Industry
Patterns
Meet
Technical
Challenges

Proven Way to
Success
Reference Architecture

System
Requirements

use

Reference
Architecture

use

derived

Business
Requirements

use

Soluti...
Spring
Hibernate/JPA
jBoss AS/Tomcat

Silverlight/ASP.NET
RIA Services/WCF
Entity Framework
Windows AppFabric

jBoss Drool...
Building Blocks: Java Stack
RIA Client
PC Browser

ExtJS

RIA
components

Business Logic

Workflow (Processes)
Event
Proce...
Building Blocks: .NET Stack
RIA Client
PC Browser
RIA utilities

Template engine

Business Logic

Workflow (Processes)
Eve...
Reference Architecture

Step 1

Step 2

Step 3

derived

Business
Requirements

use

Solution
Architecture

Step 4
use
What Next? - Implementation

Criteria/Solution

Custom

PaaS

SaaS SDK

Faster Time to Market

No

Yes

Yes

High Control/...
SaaS SDK Inside

Multi-Tenancy

Scalability

High
Availability

Security

Configuration

Customization

Provisioning

User...
SaaS SDK: Sample
Questions?
SoftServe SaaS Offerings

Packages:

Tools:

CloudExplorer

Java SDK

CloudEnhancer

.NET SDK

CloudEnabler

Cloud Operati...
More Information

 http://www.softserveinc.com/en-us/services/saas-cloud/csdk/
 http://www.softserveinc.com/en-us/servic...
Contacts

US Headquarters

Europe Headquarters

12800 University Drive, Suite 250
Fort Myers, FL 33907, USA

52 V. Velykoh...
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
Nächste SlideShare
Wird geladen in …5
×

Architecting SaaS: Doing It Right the First Time

5.787 Aufrufe

Veröffentlicht am

The presentation will lead you through a step-by-step process of creating SaaS solution. The architecture design method is influenced by ADD (Attribute-Driven Design) and SaaS Reference Architecture that developed by SoftServe Architecture Group.
Ready-to-use Reference Architectures that addresses typical challenges with proven approaches to solve them (i.e., patterns) significantly speeds up the design and implementation process, making it more predictable and economical.

Veröffentlicht in: Technologie, Bildung

Architecting SaaS: Doing It Right the First Time

  1. 1. Architecting SaaS Doing It Right the First Time By Serhiy Haziyev
  2. 2. Agenda Top 10 Industry Patterns Meet Technical Challenges Proven Way to Success
  3. 3. Challenges may have ugly and unpleasant face until you know how to cope with them…
  4. 4. SaaS Tech Challenges  Uptime (24/7)  Multitenancy  Scalability  Security  User Experience
  5. 5. SaaS Architecture Drivers Business Constraints: System Requirements:  Time to market  Hosted Online Solution  Multitenancy Business Requirements:  Scalability (#users?)  Project/Domain dependent  Availability (99.5% .. ? .. 99.99%)  Fault Tolerance  Security (regulations?)  Performance (5 sec)  Extensibility and Upgradability (Multiple releases)  Maint. Window/Disaster recovery (#hours?)  SLA and Usage monitoring
  6. 6. Reference Architecture Step 1 System Requirements use Reference Architecture use Patterns derived Business Requirements use Solution Architecture use Technology
  7. 7. Agenda Top 10 Industry Patterns Meet Technical Challenges Proven Way to Success
  8. 8. Reference Architecture Step 2 System Requirements use Reference Architecture use Patterns derived Business Requirements use Solution Architecture use Technology
  9. 9. Definition Pattern (computer science) - a general reusable solution to a commonly occurring problem
  10. 10. SaaS Patterns Catalog
  11. 11. Hosting Patterns
  12. 12. Hosting Patterns On-premise Datacenter Managed Hosting Public Cloud Buy my own hardware, and manage my own data center Co-location or Managed servers “Cloud fabric” (elastic, infini-scale) Private Cloud High Low Ability to scale up or down depending upon demand Control Low Economy of Scale High
  13. 13. Multi-Tenancy Patterns
  14. 14. Multi-Tenancy Patterns Level 1: Ad Hoc/Custom Level 2: Configurable Tenant 1 Tenant 2 Tenant 3 Tenant 1 Tenant 2 Tenant 3 Instance 1 Instance 2 Instance 3 Instance Instance Instance Level 3: Configurable, Multi-Tenant-Efficient Level 4: Scalable, Configurable, Multi-Tenant-Efficient Tenant 1 Tenant 1 Tenant 2 Tenant 2 Tenant 3 Tenant 3 Load Balancer Instance Instance Instance Instance Source: Microsoft MSDN, “Architecture Strategies for Catching the Long Tail”
  15. 15. Application Patterns
  16. 16. Load Balancing External Load Balancer Client-Side Load Balancing Client Client Proxy code HTTP Load Balancer HTTP Node 1 HTTP HTTP Node 2 Node 1 HTTP Node 2
  17. 17. Load Balancing External Load Balancer Client-Side Load Balancing Lei Zhu
  18. 18. Stateless vs. Stateful Stateless Principle State Replication Client Client Load Balancer Load Balancer Instance 1 Instance 2 Instance 1 Instance 2 State Replication DB
  19. 19. Data Storage Patterns
  20. 20. Data Storage Patterns Separate DB Tenant 1 Tenant 2 Tenant N Shared DB, Shared Schema TenantID CustName CustType TenantID OrderTitle Price 1 Bla-bla 24.5 1 1 Bla-bla 32.99 2 1 Bla-bla 13.49 2 2 N 2 Bla-bla 55.5 N N Bla-bla 45.45 N Bla-bla 39.99
  21. 21. Pattern Selection
  22. 22. Reference Architecture Step 3 System Requirements use Reference Architecture use Patterns derived Business Requirements use Solution Architecture use Technology
  23. 23. Building Blocks RIA Client PC Browser RIA components RIA utilities Business Logic Workflow (Processes) Event Processing BPM Engine Collaboration Infrastructure Services Web Server HTTP Server Serlvet Container Messaging Application Server Storage RDBMS NoSQL DB In-memory DB Message Queue ESB Distributed Computing File storage Distributed Computing Framework DW Report Engine Content Management AdHoc Reporting Search Engine Reporting/BI Mem Caching O/RM BAM Data Access Monitoring Rule Engine WebServices Build & Deploy Business Components REST Common Framework Template engine Operation Management Web Application framework Programmatic Access Identity and Access Web Frameworks Security Application Services Integration RIA framework HTML Rendering Utilities PC Browser Cross-Cutting Single Sign-On Traditional Web Client
  24. 24. Agenda Top 10 Industry Patterns Meet Technical Challenges Proven Way to Success
  25. 25. Reference Architecture System Requirements use Reference Architecture use derived Business Requirements use Solution Architecture Patterns Step 4 use Technology
  26. 26. Spring Hibernate/JPA jBoss AS/Tomcat Silverlight/ASP.NET RIA Services/WCF Entity Framework Windows AppFabric jBoss Drools MS BizTalk/ESB jBoss BPM NServiceBus/MSMQ OpenJMS/jBoss Messaging MS SQL Server Mule ESB/Open ESB SSIS MySQL/PostgreSQL SSAS InfoBright/JasperSoft SSRS MS Azure JSF/ExtJS MS .NET Open Source SaaS Technology Presets Azure Platform SQL Azure Azure Storage Azure AppFabric Service Bus
  27. 27. Building Blocks: Java Stack RIA Client PC Browser ExtJS RIA components Business Logic Workflow (Processes) Event Processing BPM Engine Infrastructure Services Web Server HTTP Server JBoss AS Serlvet Container Messaging Application Server Storage MySQL RDBMS NoSQL DB In-memory DB Message Queue ESB Distributed Computing File storage Distributed Computing Framework DW Report Engine Content Management AdHoc Reporting Search Engine Reporting/BI Mem Caching O/RM BAM Hibernate Collaboration Monitoring Data Access Zabbix Rule Engine WebServices RPM Business Components REST Build & Deploy POJO RESTEasy Spring Template engine Operation Management Web Application framework Programmatic Access Identity and Access Web Frameworks Security Application Services Integration RIA utilities Common Framework RIA framework HTML Rendering Utilities PC Browser Cross-Cutting Single Sign-On Traditional Web Client
  28. 28. Building Blocks: .NET Stack RIA Client PC Browser RIA utilities Template engine Business Logic Workflow (Processes) Event Processing BPM Engine Infrastructure Services Web Server HTTP Server MS SQL RDBMS IIS Serlvet Container Messaging Application Server Storage NoSQL DB In-memory DB Message Queue ESB Distributed Computing File storage Distributed Computing Framework DW Report Engine Content Management AdHoc Reporting Search Engine Reporting/BI Mem Caching O/RM BAM EF4 Collaboration Monitoring Data Access Zabbix Rule Engine WebServices MSI Business Components REST Build & Deploy POCO WCF Operation Management Web Application framework Programmatic Access Identity and Access Web Frameworks Security Application Services Integration RIA components EntLib Silverlight Common Framework RIA framework HTML Rendering Utilities PC Browser Cross-Cutting Single Sign-On Traditional Web Client
  29. 29. Reference Architecture Step 1 Step 2 Step 3 derived Business Requirements use Solution Architecture Step 4 use
  30. 30. What Next? - Implementation Criteria/Solution Custom PaaS SaaS SDK Faster Time to Market No Yes Yes High Control/Flexibility Yes No Yes CAPEX High Low Medium OPEX Low High Low Risks High Low Low
  31. 31. SaaS SDK Inside Multi-Tenancy Scalability High Availability Security Configuration Customization Provisioning User & Tenant Management SaaS Application Skeleton
  32. 32. SaaS SDK: Sample
  33. 33. Questions?
  34. 34. SoftServe SaaS Offerings Packages: Tools: CloudExplorer Java SDK CloudEnhancer .NET SDK CloudEnabler Cloud Operations Framework
  35. 35. More Information  http://www.softserveinc.com/en-us/services/saas-cloud/csdk/  http://www.softserveinc.com/en-us/services/saas-cloud/  http://www.softserveinc.com/en-us/services/softwarearchitecture/
  36. 36. Contacts US Headquarters Europe Headquarters 12800 University Drive, Suite 250 Fort Myers, FL 33907, USA 52 V. Velykoho Str. Lviv 79053, Ukraine Main Tel: 239-690-3111 Main Fax: 239-690-3116 Tel: +380-32-240-9090 Fax: +380-32-240-9080 E-mail: info@softserveinc.com Thank You! www.softserveinc.com Copyright © 2010 SoftServe, Inc.

×