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
1.Line of Business – Financial
2.Customer oriented Services – Gmail etc
Thinking strategy should be changed from customer to provider
Scalable – maximizing concurrency,using application resources more efficiently
optimizing locking duration
statelessness – Token based Authentication
shared pool resources databases, network connections
caching – OffLoad Database
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:
High Level Architecture
User Interface and Branding
Workflow and business rules
Extenstion to Data Model
Security Services – Directory Services
Authentication – Centralized or dedicated system
Business Services – File System, Messaging, Databases
Dedicated Tenant DB
Shared DB, Fixed Extenstion Set
Shared DB, Custom Extension
Make stateless application
I/O operations in asynchrous way
DB operations – Maximize concurrency and reduce mutual lock
Increase read write scalability using Caching or Cassandra
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, Separate Schema
Shared DB, Shared DB
Security for DB
Filtering – TenantView Filter avoids direct access of DB
Encryption – Tenant Data Encrption
Trusted DB Connections, Impersonation
Extentsibility Patern – Table customizations
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)