Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Architecting SaaS: Doing It Right the First Time

5,798 views

Published on

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.

Published in: Technology, Education

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.

×