Test your Architecture Knowledge – Design a SAAS based Healthcare Product/ecommerce app/ pay roll system

Matching Technical knowledge with various business scenarios often helps us to multiply our knowledge. In this blog I have listed one of the  scenario which I came across on my experience. Read the scenario and apply your thought process to refine your knowledge.Kindly note that this is my draft version and still enhancing improve further, your suggestions and comments are most welcome.

Scenario: Design SAAS based Health care application

Solution : Modern SAAS Architecture for Healthcare product

Key Factors
2.multi-tenant efficiency,
1.Line of Business – Financial
2.Customer oriented Services – Gmail etc
a.Business Model
b.Application Architecture
c.Operational Structure

Business Model
Thinking strategy should be changed from customer to provider
Professional Services

Scalable – maximizing concurrency,using application resources more efficiently
optimizing locking duration
statelessness – Token based Authentication
shared pool resources databases, network connections
caching – OffLoad Database
partioning data
Maturity Model
1. Ad hoc – separate instance for each tenant
2. Configurab’e – same code, but configurable for each instance
3. Configurable and Multi Tenant Efficient – single instance for multiple tenants
4. Scalable, Configurable, Multi Tenant Efficeint- single instance with load balancer

Choice of Maturity Models Depends on following:
a.Business Model
b.Application Architecture
c.Operational Structure
Application Architecture
High Level Architecture
Presentation Tier
Smart client
Metadata Services
User Interface and Branding
Workflow and business rules
Extenstion to Data Model
Access control
Process Services
Security Services – Directory Services
Authentication – Centralized or dedicated system
Business Services – File System, Messaging, Databases

DB Design
Dedicated Tenant DB
Shared DB, Fixed Extenstion Set
Shared DB, Custom Extension
Make stateless application
I/O operations in asynchrous way
Pool resources
DB operations – Maximize concurrency and reduce mutual lock
Scale DATA
Increase read write scalability using Caching or Cassandra
Operational Structure
Shared Services
Accurately track customers’ usage, and bill them for time or resources used.
Restrict or throttle access at certain times of the day, or in order to meet other criteria.
Monitor site access and performance, to ensure that SLAs are being met.
Perform other functions in order to ensure a seamless experience for your customers that meets or exceeds expectations.
Operational support services (OSS)—Handle operational issues such as account activation, provisioning, service assurance, usage, and metering.
Business support services (BSS)—Support billing (including nvoicing, rating, taxation, and collections) and customer management (which includes order entry, customer self services, customer care, trouble ticketing, and customer relationship management).

Monitoring for Availability and Scalability
Shared DB
Shared DB, Separate Schema
Shared DB, Shared DB

Security for DB
Filtering – TenantView Filter avoids direct access of DB
Permissions –
Encryption – Tenant Data Encrption
Trusted DB Connections, Impersonation

Extentsibility Patern – Table customizations

Scalability Pattern
Replication and Partitioning
Replication – Use Single Master Replications
Tenant Based Horizontal Partitioning
Identifty Data that doesn’t need partition(Warehouse)
Identifty Data that need partition( User, Tenant based)






Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s