SlideShare a Scribd company logo
1 of 8
Inevitability of
Multi-Tenancy &
SAAS in Product
Engineering
In-Depth Overview
Servitizationof productsis abouttransformingproductsintoservices. Services are an integral part of
mostproducts. Itis importantto notethat in the services economy that we live in, enterprises have an
emphasizedfocus on services. This Blog talks aboutsomeof the mostimportantSAAS requirements and
providesinsightinto somearchitectural considerations, while introducingconceptssuch as Multi-
tenancy.
Before getting deeper into SAAS, let’s take a cursory look at the productlife cycle. The productlife cycle
consistsof the following steps:
• Requirement
• Usability Engineering
• Architecture andDesign
• Prototyping
• Development
• Testing andQA
• Documentation
• Deployment
• Support
• Maintenance
SAAS affects every step of the productlife cycle quite significantly, some more thanthe others. Most
impacted steps in my view are deployment, supportandmaintenance. Thefollowing steps extendsthe
life cycle.
• Evaluate
• Purchase
• Provisioning
• On Boarding
• UsageTracking
• Monitoring
• Billing
• Updates
Figure 1 Extended SAAS Life Cycle
SAAS development imposes an architectural paradigmshift. The following diagramrepresents a few of
the features that cloud introduces/enhances. I shall notbe covering all the features thathas been
represented in the diagram below, however feel free to Email me at Prashanth.panduranga@gmail.com
with any questionsyoumighthaveand will try andrespondat the earliest.
Figure 2 Cloud paradigm shift
So what is SAAS?
Software as a Service: Is a software licensing and delivery model, in which the software is licensed on a
subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software". SaaS is
typically accessed by users using a thin client via a web browser.One of the biggest selling points for
these companies is the potential to reduce IT support costs by outsourcing hardware and software
maintenance andsupporttotheSaaSprovider-- Wikipedia
While any software product delivered as service can be called so, enterprises building SAAS need to
build aroundrequirementswhich makesit easier to deploy, maintainand support.
While a system can be built separately for each consumer, a single instance where every consumer
sharesevery part of the systemis at the extreme other end. Building a systemwith the right amountof
sharingand reuse is absolutely necessary for a successful implementationof a SAAS system.
Let’s first look at SAAS requirementsthat are importantarchitectural considerations:
 SAASis built tobe consumedtypically by morethanoneconsumerandhenceneedssegregation
built in place. Datasegregation, service segregation if needed, rules segregation, customization
segregation andmore
 Functional Modules: When the application features are built as modules, not all consumers
would want to subscribe to all the modules, obviously every new feature would come with an
Asynchronous
Messaging
Distributed
Caching
Compute
Partitioning Data
Consistency
Multiple
Zones
Parallel
Security
Dynamic Vs
Static Data
Isoloation
Software
License
Model
Performance
Environments
Prod/Non Prod
Storage
Virtualization
Enterprise
Scale
Infrastructure
Global Data
Replication
Elasticity
Automation
Resource
Optimization
Service
Metering
DR
Network
Client
Caching
Big Data
NoSQL
HA
Multi-Tenancy
Instrumentation
Telemetric
increased cost. Even when there aren’t cost differences some of the consumersmight choose
notto use few modulesfor simplicity. Needcapability to group consumers by functionalitywhile
buildingmulti-tenantedarchitecture.
 Consumer organizations come in various sizes, only certain business units might consume the
service. Few organizations might have 10 users while other organizations might use the same
service for 10,000 users. Let’s say there are 2 modules, one being calculation engine and the
other analytics engine. One consumer might have 70% of users using calculation engine and
40% of users using the Analytics service, while another consumer might have 90% users using
Analytics engine, such variance when the user base is large will need special consideration for
grouping customersbased onexpected usage patterns.
 Enterprises create multiple modules based on the functionality, however there are lot other
considerations such as performance, workload, number of users using the system, scale etc
which imposes different subscriptionlevels –standard, premium, etc.
 Consumersofthe services while usingthe features also would like to limit the spending, onthe
other side Enterprises would like to ensure that there are restrictions on the number of users,
licenses etc basedon the cost model or for performance reasons, for technical reasons or due
to operationalreasons. This imposes different usage limitations.
 With Various consumers having different requirements, the Enterprises need to cater for
different SLA’s (Service Level Agreement). Examples include: Availability, Downtime, Disaster
Recovery, Business Continuity, mean time to repair and respond, clearly defined escalation
paths, uptimes, back up, upgradetimes and more.
 InSAAS productswhere new consumersoruserscan join at any time, the productshouldallow
provisioning capability. While registration of users are examples of self-registration, there are
scenarios in which consumers are organizations and need extended functionality to use the
system such as administration, provisioning for the organizations users etc. On-Boarding the
customers can be built as separate modules, some of these could mean setting up new
infrastructure, network etc. involvingvery high complexity.
 What’sa user experience without customization?Mostorganizationswantstheiremployeesto
have a similar experience, look and feel, ease of use, etc. White labelled solutions, well
integrated solutions, Single sign-oncustomizationshavevariousflavour to it. Application need
to provide the capability such as adding or removing features, changing themes, logos,
sometimeseven code or script. Movableweb partsandmore. This doeshavequite asignificant
architectural impact and the amountofallowable customizationsneeda careful consideration
 When there are multiple consumers the maintenance cycles need to be carefully architected
and managed, be it upgrade, back-ups, downtimeor other maintenance tasks. The complexity
increases when the availability of the system is expected to be 24 X 7 and further increases
when the users are geographically distributed. All data must be preserved when an product
update/upgradeis performed.
 With multiple consumers and their expectation of the feature upgrades being different,
handling and managing the changes during product launch/feature updates will be quite
challenging.
 When there are multiple consumers and shared architecture, isolating the issues and
troubleshooting gets more complex if not handled correctly. Monitoring activities of all the
consumersand at all tiers and levels is key.
 While providing self-service and other facilities, the scope for automation in cloud based
systems can go far and beyond, such as auto provisioning the infrastructure, auto scaling,
ensuring security across tenants, on boarding, rules and other tasks, tasks involved in
maintenance, tasksinvolvedinloadbalancing, checking for conformity of systems, checkingfor
latencies, checking for performance bottlenecks, configuration management changes,
monitoring and other tasks. While the need for automation is undeniable, finding the right
balance of automationis key
 Evaluatingproductsisnotonly a requirement of SAAS, howeverwith the variationsin features,
confusion to an extent in licensing models, and lot of factors impacting the usage, more and
more users want to evaluate extensively before committing to software for longer periods.
Introducing features such as Free trial, and either providing all features or restricting certain
features for the free versions, mightbe need from an enterprise pointof view and enabling all
the abovefeatures for the evaluation version might be a consideration
 Involvingthesales force, while mightnever lose its charm dueto personaltouch, the capability
toupsellandcross sell via thesoftware itself iskey tothe growthandhencemostSAASproducts
include the purchasingcapability builtin.
 Enterprises need an option, whichallows extending core capabilities such as processing,
storage etc. ondemand, this feature is also called as “Capacity onDemand”.
 Apart from the abovementionedmonitoringcapabilities, Usage Trackingby itself is quite
important. Thisprovidesinsight for the enterprises onthe usage of different parts of the
systems, andanalyzefor further development.
 The productshouldalso haveinbuilt Analytics.
 Billingtheconsumersbasedonthe subscribedmodels.
 Capability to offer different packages atdifferent prizes. Prize catalogue and capability of tying
the same to the subscription models, capability to change the models and record the usage
underdifferent models at different times.
 Individual consumers do not want the activities of other consumers to affect their use of the
system. Isolation ofeachconsumeractivity in a shared systemis important.
 Consumers need to be sure thatother consumers cannotaccess their data. Data Privacyisone
of themostimportantfeatures. Thiscan evenextend tothelevels of necessity of the databeing
with in a particular geographic region, the regulations around the sanitization of certain data
andmore.
 With multiple consumers, each consumer need to have their data secure and private to their
usage. The data needs to be protected both from other consumers using the system and
external public.
 Exclusivity:Consumers wantthe applicationto appear asthoughthey have exclusive use of it.
 Someconsumers want the applicationto be constantly available, while someconsumersmight
want the application available during working hours, these however will be defined with
guarantees in an SLA, making sure that the software meets these availabilityrequirementshas
architectural considerations
 Whether the application is being shared or not, the consumersexpect, the applicationto scale
and meet their expected demand. Some of the software such as ticket booking etc can have
very sporadic scaling demands, Spikes with very little lead time, while other software’s might
haveknownlevels of scale demand. While the demandoccursthe applicationscales up or out,
naturally if the subscription is usage based the cost goes up, consumers will also want the
architecture to consider these sporadic nature of scaling and scale down immediately or
gradually and thusreduce costs.
 An enterprise consumer if is willing to use a system not deployed on premise, has cost
considerations. Thecost hastobelower thandedicated applications. The cost modelhas tobe
relatively easy to understand, anticipate/estimateanduse.
 Large enterprises are geographically distributed witha wider global reach. Productshostedand
consumedonlinenaturally isexposedtotheglobalreach. Consumersinonegeographiclocation
accessing content and data hosted in another geographical location will have performance
impact. While implementing CDN’sfor static content, to replicating data and other content to
multiple locations introduces complexity at different levels. However performant application
requirement precedes thosecomplexities.
 Most software products aren’t self-contained. The data being used for the product could be
shared across business or would need to integrate with other products, the system needs to
have advanced integration capabilities such as adapters to known products or flexible
architecture which enables easy integration.
 The SAAS product might be built with a pre-configured database, self-contained data or
dependent data. The product might also be built in such a way that it does not have its own
database but rather works on any consumer database. It might also need to integrate into
variousunstructureddata. SAAS might imposevariousstorage models orhybridmodels.
 Omni-Channel: The presentation layer created should work on any device the consumer
choosesto use.
Someof the other general architectural requirements are:
 Capability to work on Hybrid Cloud environments – While it is an architectural decision, some
enterprises have hybrid/multi cloud environments as their DR/BCP strategy which might force
thoserequirements.
 Fault tolerantsystem
 Distributedcomputing
 Globally located Data centres
 Stability
 Security
 ALM
 State management basedon chosenstate managementstrategy
 Caching
 Rapidly roll outnew features for existing services
 Regulatory constraints
 Performance
 Reliability
 Maintainability
 Polyglotpersistence
 Flexibility
 Configurability
 Usability
 Portability
 Conformanceto Standards
 Internationalizability
 Responsive
The cost advantage of using SAAS is in using a shared model. Multi-Tenancy is an architectural pattern
which enables multiple consumers share resources, be it servers or database or other components that
makesup the product. Application and databasecan be of a single instance deployedon multiple servers,
or multiple application instances with a single database, there are a lot of different ways SAAS can be
architected. As an example: Salesforce handlesmulti-tenancy in the all of the following components/tiers:
Kernel:which is theforce.com PAAS, Metadata-drivenKernel, runtimeengine, polyglotpersistence –which
includes transaction engine, queues, in-memory data and metadata caching, search engine, data model,
metadata, indexes, relationships, filed history, partitioneddata, metadata andindexes, App development
– A browser based development framework, API, Query Languages, Processing, Query processing, search
processing, index processing, bulk operations, schemamodifications, etc.
At this point, let’s look at couple of famousquotesonmulti-tenancy
“Multi-Tenancy is a requirement for a SAAS vendor to be successful” – Marc Benioff, CEO,
Salesforce.com
“It’simpossibleto be successful in SAAS without multi-tenancy”– Treb Ryan, CEO, OpSource
Managing product hosting, servers, storage, load balancing, network, data, code and their versioning,
updates, maintenance, etc. especially when there are multiple consumersinvolvedgetscost effective only
via sharing of underlying resources. Asimpleanalogy is, anindividualhousecompared toan apartment. An
individualhousetohaveamenitiessuchas24 X 7 generator, swimmingpool, tenniscourt,badmintoncourt,
basketball court, Gymnasium, children’s play area, security etc. would be extremely expensive and
unaffordable. However, in an apartmentsince youare sharing the facilities with other tenantsit becomes
much cheaper and affordable. Concept of Multi-tenancy in SAAS is exactly the same and while there is
complexity involved, adoptingthe same is inevitable.
It is important to note that Multi-Tenancy is more vulnerable to failure and it effects larger number/all
consumersthanin a single instancearchitecture.
I wouldlike toemphasizethat multi-tenancy isnotjust aboutsharingthe“database”as perceived by lot of
people, Presentation layer, Service layer, Queue, cache, Virtual Network, Storage, throttling, rules
processing, batch processing, query processing, etc. any architectural tier can be architected to be multi
tenanted.
Cloud helps with lot of the above mentioned requirements, and can be utilized effectively in various
different ways. To know more or if you have questions you can reach me at
Prashanth.panduranga@gmail.com

More Related Content

What's hot

La Cics Tools Overview April 2009
La   Cics Tools Overview   April 2009La   Cics Tools Overview   April 2009
La Cics Tools Overview April 2009CICS ROADSHOW
 
WSO2 Technology Update
WSO2 Technology UpdateWSO2 Technology Update
WSO2 Technology UpdateWSO2
 
Estrategias para explotar las tendencias de SaaS y Cloud Computing
Estrategias para explotar las tendencias de SaaS y Cloud ComputingEstrategias para explotar las tendencias de SaaS y Cloud Computing
Estrategias para explotar las tendencias de SaaS y Cloud ComputingSoftware Guru
 
IDC - Infrastructure Consolidation
IDC - Infrastructure ConsolidationIDC - Infrastructure Consolidation
IDC - Infrastructure Consolidationpaps1
 
Virtualization to Cloud with SDDC Operations Management and Service Provisioning
Virtualization to Cloud with SDDC Operations Management and Service ProvisioningVirtualization to Cloud with SDDC Operations Management and Service Provisioning
Virtualization to Cloud with SDDC Operations Management and Service ProvisioningVMware
 
Presentación webMethods BPMS por Simbius S.A.
Presentación webMethods BPMS por Simbius S.A.Presentación webMethods BPMS por Simbius S.A.
Presentación webMethods BPMS por Simbius S.A.Simbius SGP
 
McKesson Case Study
McKesson Case StudyMcKesson Case Study
McKesson Case StudyForgeRock
 
webMethods Integration Cloud Deep Dive
webMethods Integration Cloud Deep DivewebMethods Integration Cloud Deep Dive
webMethods Integration Cloud Deep DiveSoftware AG
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionTechcello
 
Case Study: McKesson
Case Study: McKessonCase Study: McKesson
Case Study: McKessonForgeRock
 
Virtualization 360 - Westcoast
Virtualization 360 - WestcoastVirtualization 360 - Westcoast
Virtualization 360 - Westcoastbutest
 
Infrastructure as a service (iaa s)
Infrastructure as a service (iaa s)Infrastructure as a service (iaa s)
Infrastructure as a service (iaa s)johndorian555
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET Journal
 
VMware analysis and strategy
VMware analysis and strategyVMware analysis and strategy
VMware analysis and strategyKobi Magnezi
 
AP Automation System
 AP Automation System AP Automation System
AP Automation SystemAtul Kapoor
 
Service Manager – The New Helpdesk & CMDB Solution
Service Manager – The New Helpdesk & CMDB SolutionService Manager – The New Helpdesk & CMDB Solution
Service Manager – The New Helpdesk & CMDB SolutionAmit Gatenyo
 
ManageEngine Applications Manager Overview
ManageEngine Applications Manager OverviewManageEngine Applications Manager Overview
ManageEngine Applications Manager OverviewManageEngine
 

What's hot (20)

IaaS
IaaSIaaS
IaaS
 
La Cics Tools Overview April 2009
La   Cics Tools Overview   April 2009La   Cics Tools Overview   April 2009
La Cics Tools Overview April 2009
 
WSO2 Technology Update
WSO2 Technology UpdateWSO2 Technology Update
WSO2 Technology Update
 
Webinar: Mobile UX: Doing It The Right Way
Webinar: Mobile UX: Doing It The Right WayWebinar: Mobile UX: Doing It The Right Way
Webinar: Mobile UX: Doing It The Right Way
 
Estrategias para explotar las tendencias de SaaS y Cloud Computing
Estrategias para explotar las tendencias de SaaS y Cloud ComputingEstrategias para explotar las tendencias de SaaS y Cloud Computing
Estrategias para explotar las tendencias de SaaS y Cloud Computing
 
IDC - Infrastructure Consolidation
IDC - Infrastructure ConsolidationIDC - Infrastructure Consolidation
IDC - Infrastructure Consolidation
 
Virtualization to Cloud with SDDC Operations Management and Service Provisioning
Virtualization to Cloud with SDDC Operations Management and Service ProvisioningVirtualization to Cloud with SDDC Operations Management and Service Provisioning
Virtualization to Cloud with SDDC Operations Management and Service Provisioning
 
Presentación webMethods BPMS por Simbius S.A.
Presentación webMethods BPMS por Simbius S.A.Presentación webMethods BPMS por Simbius S.A.
Presentación webMethods BPMS por Simbius S.A.
 
Cloud is a Process, Not a Tech Revolution
Cloud is a Process, Not a Tech RevolutionCloud is a Process, Not a Tech Revolution
Cloud is a Process, Not a Tech Revolution
 
McKesson Case Study
McKesson Case StudyMcKesson Case Study
McKesson Case Study
 
webMethods Integration Cloud Deep Dive
webMethods Integration Cloud Deep DivewebMethods Integration Cloud Deep Dive
webMethods Integration Cloud Deep Dive
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS Solution
 
Case Study: McKesson
Case Study: McKessonCase Study: McKesson
Case Study: McKesson
 
Virtualization 360 - Westcoast
Virtualization 360 - WestcoastVirtualization 360 - Westcoast
Virtualization 360 - Westcoast
 
Infrastructure as a service (iaa s)
Infrastructure as a service (iaa s)Infrastructure as a service (iaa s)
Infrastructure as a service (iaa s)
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management Firm
 
VMware analysis and strategy
VMware analysis and strategyVMware analysis and strategy
VMware analysis and strategy
 
AP Automation System
 AP Automation System AP Automation System
AP Automation System
 
Service Manager – The New Helpdesk & CMDB Solution
Service Manager – The New Helpdesk & CMDB SolutionService Manager – The New Helpdesk & CMDB Solution
Service Manager – The New Helpdesk & CMDB Solution
 
ManageEngine Applications Manager Overview
ManageEngine Applications Manager OverviewManageEngine Applications Manager Overview
ManageEngine Applications Manager Overview
 

Viewers also liked

Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-finalrhirschfeld
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructurerhirschfeld
 
Data Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureData Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureMark Kromer
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsJeelani Shaik
 
Diese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenDiese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenJean-Yves Scauri
 
EEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsEEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsExpertos en TI
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
Webinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi TenancyWebinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi TenancyScioSales
 
Enterprise Agreement
Enterprise AgreementEnterprise Agreement
Enterprise AgreementSagi Arsyad
 
Microsoft Software Assurance
Microsoft Software AssuranceMicrosoft Software Assurance
Microsoft Software AssuranceMotty Ben Atia
 
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftIoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftOpen Mobile Alliance
 
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)Jason L Brugger
 
Azure Data Lake and U-SQL
Azure Data Lake and U-SQLAzure Data Lake and U-SQL
Azure Data Lake and U-SQLMichael Rys
 
How to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring EditionHow to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring EditionStephan Hochdörfer
 
Azure Operational Insightsについて
Azure Operational InsightsについてAzure Operational Insightsについて
Azure Operational InsightsについてNorio Sashizaki
 
Microsoft & Internet of Things
Microsoft & Internet of ThingsMicrosoft & Internet of Things
Microsoft & Internet of ThingsMarlon Luz
 

Viewers also liked (20)

Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-final
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Data Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureData Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL Azure
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational Concepts
 
Diese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenDiese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennen
 
BP Project History
BP Project HistoryBP Project History
BP Project History
 
EEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsEEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS Applications
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Webinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi TenancyWebinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi Tenancy
 
Enterprise Agreement
Enterprise AgreementEnterprise Agreement
Enterprise Agreement
 
Microsoft Software Assurance
Microsoft Software AssuranceMicrosoft Software Assurance
Microsoft Software Assurance
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftIoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
 
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
Azure Data Lake and U-SQL
Azure Data Lake and U-SQLAzure Data Lake and U-SQL
Azure Data Lake and U-SQL
 
How to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring EditionHow to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring Edition
 
Azure Operational Insightsについて
Azure Operational InsightsについてAzure Operational Insightsについて
Azure Operational Insightsについて
 
Microsoft & Internet of Things
Microsoft & Internet of ThingsMicrosoft & Internet of Things
Microsoft & Internet of Things
 
AWS vs. Azure
AWS vs. AzureAWS vs. Azure
AWS vs. Azure
 

Similar to Inevitability of Multi-Tenancy & SAAS in Product Engineering

Dispute Resolution Web Application
Dispute Resolution Web ApplicationDispute Resolution Web Application
Dispute Resolution Web ApplicationMike Taylor
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...riyak40
 
Agent-Based Workflow
Agent-Based WorkflowAgent-Based Workflow
Agent-Based WorkflowLarry Suarez
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureJohnny Le
 
SaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfSaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfJPLoft Solutions
 
M.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comM.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comArun Somu Panneerselvam
 
The Cloud Strategy
The Cloud StrategyThe Cloud Strategy
The Cloud StrategyVikas Gupta
 
Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)SURE!
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptxMrPrathapG
 
“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,Manik Singh
 
What are cloud service models
What are cloud service modelsWhat are cloud service models
What are cloud service modelsLivin Jose
 
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)mstockwell
 
IaaS strategy evaluation
IaaS strategy evaluation IaaS strategy evaluation
IaaS strategy evaluation WGroup
 
Managing the move to virtualization and cloud
Managing the move to virtualization and cloudManaging the move to virtualization and cloud
Managing the move to virtualization and cloudBhaskar Jayaraman
 
Saas challenges and solutions
Saas challenges and solutionsSaas challenges and solutions
Saas challenges and solutionskanimozhin
 

Similar to Inevitability of Multi-Tenancy & SAAS in Product Engineering (20)

Dispute Resolution Web Application
Dispute Resolution Web ApplicationDispute Resolution Web Application
Dispute Resolution Web Application
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
 
Agent-Based Workflow
Agent-Based WorkflowAgent-Based Workflow
Agent-Based Workflow
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
M 94 4
M 94 4M 94 4
M 94 4
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architecture
 
SaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfSaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdf
 
M.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comM.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.com
 
The Cloud Strategy
The Cloud StrategyThe Cloud Strategy
The Cloud Strategy
 
Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,“Salesforce Multi-tenant architecture”,
“Salesforce Multi-tenant architecture”,
 
Platform As A Service
Platform As A ServicePlatform As A Service
Platform As A Service
 
What are cloud service models
What are cloud service modelsWhat are cloud service models
What are cloud service models
 
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)
Transforming your IT Organization to Infrastructure-as-a-Service (Iaas)
 
IaaS strategy evaluation
IaaS strategy evaluation IaaS strategy evaluation
IaaS strategy evaluation
 
Managing the move to virtualization and cloud
Managing the move to virtualization and cloudManaging the move to virtualization and cloud
Managing the move to virtualization and cloud
 
Saas challenges and solutions
Saas challenges and solutionsSaas challenges and solutions
Saas challenges and solutions
 
Open iam technicalarchitecture-v3-a
Open iam technicalarchitecture-v3-aOpen iam technicalarchitecture-v3-a
Open iam technicalarchitecture-v3-a
 
Building SaaS products with Windows Azure
Building SaaS products with Windows Azure Building SaaS products with Windows Azure
Building SaaS products with Windows Azure
 

More from Prashanth Panduranga (20)

WebApplicationArchitectureAzure.pptx
WebApplicationArchitectureAzure.pptxWebApplicationArchitectureAzure.pptx
WebApplicationArchitectureAzure.pptx
 
WebApplicationArchitectureAzure.pdf
WebApplicationArchitectureAzure.pdfWebApplicationArchitectureAzure.pdf
WebApplicationArchitectureAzure.pdf
 
Digital transformation
Digital transformationDigital transformation
Digital transformation
 
Dev opsnirvana
Dev opsnirvanaDev opsnirvana
Dev opsnirvana
 
Architecting extremelylargescalewebapplications
Architecting extremelylargescalewebapplicationsArchitecting extremelylargescalewebapplications
Architecting extremelylargescalewebapplications
 
Architecting extremelylarge scale web applications
Architecting extremelylarge scale web applicationsArchitecting extremelylarge scale web applications
Architecting extremelylarge scale web applications
 
Augmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentAugmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessment
 
Arch on global_hackathon
Arch on global_hackathonArch on global_hackathon
Arch on global_hackathon
 
View d print
View d printView d print
View d print
 
Social review
Social reviewSocial review
Social review
 
Seeory
SeeorySeeory
Seeory
 
Safesors
SafesorsSafesors
Safesors
 
My stylemyway
My stylemywayMy stylemyway
My stylemyway
 
Meet mi
Meet miMeet mi
Meet mi
 
Mcr trendz
Mcr trendzMcr trendz
Mcr trendz
 
Light suitcase
Light suitcaseLight suitcase
Light suitcase
 
Flex matics
Flex maticsFlex matics
Flex matics
 
Doc byyou
Doc byyouDoc byyou
Doc byyou
 
C s rwe
C s rweC s rwe
C s rwe
 
Being there
Being thereBeing there
Being there
 

Recently uploaded

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Inevitability of Multi-Tenancy & SAAS in Product Engineering

  • 1. Inevitability of Multi-Tenancy & SAAS in Product Engineering In-Depth Overview
  • 2. Servitizationof productsis abouttransformingproductsintoservices. Services are an integral part of mostproducts. Itis importantto notethat in the services economy that we live in, enterprises have an emphasizedfocus on services. This Blog talks aboutsomeof the mostimportantSAAS requirements and providesinsightinto somearchitectural considerations, while introducingconceptssuch as Multi- tenancy. Before getting deeper into SAAS, let’s take a cursory look at the productlife cycle. The productlife cycle consistsof the following steps: • Requirement • Usability Engineering • Architecture andDesign • Prototyping • Development • Testing andQA • Documentation • Deployment • Support • Maintenance SAAS affects every step of the productlife cycle quite significantly, some more thanthe others. Most impacted steps in my view are deployment, supportandmaintenance. Thefollowing steps extendsthe life cycle. • Evaluate • Purchase • Provisioning • On Boarding • UsageTracking • Monitoring • Billing • Updates
  • 3. Figure 1 Extended SAAS Life Cycle SAAS development imposes an architectural paradigmshift. The following diagramrepresents a few of the features that cloud introduces/enhances. I shall notbe covering all the features thathas been represented in the diagram below, however feel free to Email me at Prashanth.panduranga@gmail.com with any questionsyoumighthaveand will try andrespondat the earliest.
  • 4. Figure 2 Cloud paradigm shift So what is SAAS? Software as a Service: Is a software licensing and delivery model, in which the software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software". SaaS is typically accessed by users using a thin client via a web browser.One of the biggest selling points for these companies is the potential to reduce IT support costs by outsourcing hardware and software maintenance andsupporttotheSaaSprovider-- Wikipedia While any software product delivered as service can be called so, enterprises building SAAS need to build aroundrequirementswhich makesit easier to deploy, maintainand support. While a system can be built separately for each consumer, a single instance where every consumer sharesevery part of the systemis at the extreme other end. Building a systemwith the right amountof sharingand reuse is absolutely necessary for a successful implementationof a SAAS system. Let’s first look at SAAS requirementsthat are importantarchitectural considerations:  SAASis built tobe consumedtypically by morethanoneconsumerandhenceneedssegregation built in place. Datasegregation, service segregation if needed, rules segregation, customization segregation andmore  Functional Modules: When the application features are built as modules, not all consumers would want to subscribe to all the modules, obviously every new feature would come with an Asynchronous Messaging Distributed Caching Compute Partitioning Data Consistency Multiple Zones Parallel Security Dynamic Vs Static Data Isoloation Software License Model Performance Environments Prod/Non Prod Storage Virtualization Enterprise Scale Infrastructure Global Data Replication Elasticity Automation Resource Optimization Service Metering DR Network Client Caching Big Data NoSQL HA Multi-Tenancy Instrumentation Telemetric
  • 5. increased cost. Even when there aren’t cost differences some of the consumersmight choose notto use few modulesfor simplicity. Needcapability to group consumers by functionalitywhile buildingmulti-tenantedarchitecture.  Consumer organizations come in various sizes, only certain business units might consume the service. Few organizations might have 10 users while other organizations might use the same service for 10,000 users. Let’s say there are 2 modules, one being calculation engine and the other analytics engine. One consumer might have 70% of users using calculation engine and 40% of users using the Analytics service, while another consumer might have 90% users using Analytics engine, such variance when the user base is large will need special consideration for grouping customersbased onexpected usage patterns.  Enterprises create multiple modules based on the functionality, however there are lot other considerations such as performance, workload, number of users using the system, scale etc which imposes different subscriptionlevels –standard, premium, etc.  Consumersofthe services while usingthe features also would like to limit the spending, onthe other side Enterprises would like to ensure that there are restrictions on the number of users, licenses etc basedon the cost model or for performance reasons, for technical reasons or due to operationalreasons. This imposes different usage limitations.  With Various consumers having different requirements, the Enterprises need to cater for different SLA’s (Service Level Agreement). Examples include: Availability, Downtime, Disaster Recovery, Business Continuity, mean time to repair and respond, clearly defined escalation paths, uptimes, back up, upgradetimes and more.  InSAAS productswhere new consumersoruserscan join at any time, the productshouldallow provisioning capability. While registration of users are examples of self-registration, there are scenarios in which consumers are organizations and need extended functionality to use the system such as administration, provisioning for the organizations users etc. On-Boarding the customers can be built as separate modules, some of these could mean setting up new infrastructure, network etc. involvingvery high complexity.  What’sa user experience without customization?Mostorganizationswantstheiremployeesto have a similar experience, look and feel, ease of use, etc. White labelled solutions, well integrated solutions, Single sign-oncustomizationshavevariousflavour to it. Application need to provide the capability such as adding or removing features, changing themes, logos, sometimeseven code or script. Movableweb partsandmore. This doeshavequite asignificant architectural impact and the amountofallowable customizationsneeda careful consideration  When there are multiple consumers the maintenance cycles need to be carefully architected and managed, be it upgrade, back-ups, downtimeor other maintenance tasks. The complexity increases when the availability of the system is expected to be 24 X 7 and further increases when the users are geographically distributed. All data must be preserved when an product update/upgradeis performed.  With multiple consumers and their expectation of the feature upgrades being different, handling and managing the changes during product launch/feature updates will be quite challenging.  When there are multiple consumers and shared architecture, isolating the issues and troubleshooting gets more complex if not handled correctly. Monitoring activities of all the consumersand at all tiers and levels is key.
  • 6.  While providing self-service and other facilities, the scope for automation in cloud based systems can go far and beyond, such as auto provisioning the infrastructure, auto scaling, ensuring security across tenants, on boarding, rules and other tasks, tasks involved in maintenance, tasksinvolvedinloadbalancing, checking for conformity of systems, checkingfor latencies, checking for performance bottlenecks, configuration management changes, monitoring and other tasks. While the need for automation is undeniable, finding the right balance of automationis key  Evaluatingproductsisnotonly a requirement of SAAS, howeverwith the variationsin features, confusion to an extent in licensing models, and lot of factors impacting the usage, more and more users want to evaluate extensively before committing to software for longer periods. Introducing features such as Free trial, and either providing all features or restricting certain features for the free versions, mightbe need from an enterprise pointof view and enabling all the abovefeatures for the evaluation version might be a consideration  Involvingthesales force, while mightnever lose its charm dueto personaltouch, the capability toupsellandcross sell via thesoftware itself iskey tothe growthandhencemostSAASproducts include the purchasingcapability builtin.  Enterprises need an option, whichallows extending core capabilities such as processing, storage etc. ondemand, this feature is also called as “Capacity onDemand”.  Apart from the abovementionedmonitoringcapabilities, Usage Trackingby itself is quite important. Thisprovidesinsight for the enterprises onthe usage of different parts of the systems, andanalyzefor further development.  The productshouldalso haveinbuilt Analytics.  Billingtheconsumersbasedonthe subscribedmodels.  Capability to offer different packages atdifferent prizes. Prize catalogue and capability of tying the same to the subscription models, capability to change the models and record the usage underdifferent models at different times.  Individual consumers do not want the activities of other consumers to affect their use of the system. Isolation ofeachconsumeractivity in a shared systemis important.  Consumers need to be sure thatother consumers cannotaccess their data. Data Privacyisone of themostimportantfeatures. Thiscan evenextend tothelevels of necessity of the databeing with in a particular geographic region, the regulations around the sanitization of certain data andmore.  With multiple consumers, each consumer need to have their data secure and private to their usage. The data needs to be protected both from other consumers using the system and external public.  Exclusivity:Consumers wantthe applicationto appear asthoughthey have exclusive use of it.  Someconsumers want the applicationto be constantly available, while someconsumersmight want the application available during working hours, these however will be defined with guarantees in an SLA, making sure that the software meets these availabilityrequirementshas architectural considerations  Whether the application is being shared or not, the consumersexpect, the applicationto scale and meet their expected demand. Some of the software such as ticket booking etc can have very sporadic scaling demands, Spikes with very little lead time, while other software’s might haveknownlevels of scale demand. While the demandoccursthe applicationscales up or out, naturally if the subscription is usage based the cost goes up, consumers will also want the
  • 7. architecture to consider these sporadic nature of scaling and scale down immediately or gradually and thusreduce costs.  An enterprise consumer if is willing to use a system not deployed on premise, has cost considerations. Thecost hastobelower thandedicated applications. The cost modelhas tobe relatively easy to understand, anticipate/estimateanduse.  Large enterprises are geographically distributed witha wider global reach. Productshostedand consumedonlinenaturally isexposedtotheglobalreach. Consumersinonegeographiclocation accessing content and data hosted in another geographical location will have performance impact. While implementing CDN’sfor static content, to replicating data and other content to multiple locations introduces complexity at different levels. However performant application requirement precedes thosecomplexities.  Most software products aren’t self-contained. The data being used for the product could be shared across business or would need to integrate with other products, the system needs to have advanced integration capabilities such as adapters to known products or flexible architecture which enables easy integration.  The SAAS product might be built with a pre-configured database, self-contained data or dependent data. The product might also be built in such a way that it does not have its own database but rather works on any consumer database. It might also need to integrate into variousunstructureddata. SAAS might imposevariousstorage models orhybridmodels.  Omni-Channel: The presentation layer created should work on any device the consumer choosesto use. Someof the other general architectural requirements are:  Capability to work on Hybrid Cloud environments – While it is an architectural decision, some enterprises have hybrid/multi cloud environments as their DR/BCP strategy which might force thoserequirements.  Fault tolerantsystem  Distributedcomputing  Globally located Data centres  Stability  Security  ALM  State management basedon chosenstate managementstrategy  Caching  Rapidly roll outnew features for existing services  Regulatory constraints  Performance  Reliability  Maintainability  Polyglotpersistence  Flexibility  Configurability  Usability
  • 8.  Portability  Conformanceto Standards  Internationalizability  Responsive The cost advantage of using SAAS is in using a shared model. Multi-Tenancy is an architectural pattern which enables multiple consumers share resources, be it servers or database or other components that makesup the product. Application and databasecan be of a single instance deployedon multiple servers, or multiple application instances with a single database, there are a lot of different ways SAAS can be architected. As an example: Salesforce handlesmulti-tenancy in the all of the following components/tiers: Kernel:which is theforce.com PAAS, Metadata-drivenKernel, runtimeengine, polyglotpersistence –which includes transaction engine, queues, in-memory data and metadata caching, search engine, data model, metadata, indexes, relationships, filed history, partitioneddata, metadata andindexes, App development – A browser based development framework, API, Query Languages, Processing, Query processing, search processing, index processing, bulk operations, schemamodifications, etc. At this point, let’s look at couple of famousquotesonmulti-tenancy “Multi-Tenancy is a requirement for a SAAS vendor to be successful” – Marc Benioff, CEO, Salesforce.com “It’simpossibleto be successful in SAAS without multi-tenancy”– Treb Ryan, CEO, OpSource Managing product hosting, servers, storage, load balancing, network, data, code and their versioning, updates, maintenance, etc. especially when there are multiple consumersinvolvedgetscost effective only via sharing of underlying resources. Asimpleanalogy is, anindividualhousecompared toan apartment. An individualhousetohaveamenitiessuchas24 X 7 generator, swimmingpool, tenniscourt,badmintoncourt, basketball court, Gymnasium, children’s play area, security etc. would be extremely expensive and unaffordable. However, in an apartmentsince youare sharing the facilities with other tenantsit becomes much cheaper and affordable. Concept of Multi-tenancy in SAAS is exactly the same and while there is complexity involved, adoptingthe same is inevitable. It is important to note that Multi-Tenancy is more vulnerable to failure and it effects larger number/all consumersthanin a single instancearchitecture. I wouldlike toemphasizethat multi-tenancy isnotjust aboutsharingthe“database”as perceived by lot of people, Presentation layer, Service layer, Queue, cache, Virtual Network, Storage, throttling, rules processing, batch processing, query processing, etc. any architectural tier can be architected to be multi tenanted. Cloud helps with lot of the above mentioned requirements, and can be utilized effectively in various different ways. To know more or if you have questions you can reach me at Prashanth.panduranga@gmail.com