SlideShare a Scribd company logo
1 of 18
SaaS
A practical example of a real-world SaaS application done with LEAN
software development.

•   Stuart Williams, Principal Lead, Magenic SF
Why? We needed a demo
• We really can’t show most of our project to potential customers and at
  community events because the things we do are confidential. We wanted
  – to make a real SaaS product with the latest stable technology
  – the milieu to be understandable by anyone
  – to be able to give the parts of the code away
  – to give sales a “killer demo”
  – to show off what we thought were good patterns and practices in all of
    the technology areas that are part of the demo
  – to leverage some of the services in windows and azure service bus
• So, we thought about it as a group and decided that what we would do
  would be a real project treated like a product, made with high quality,
  and delivered the same way we would deliver it for a real customer
Why SaaS?
• Because we want economies of scale
  – Shared infrastructure will lower the per user cost
• Because we want one version of our product
  – Everyone benefits from an upgrade with new features or fixes
  – Cost of developing new features defrayed across multiple tenants
• Because we want to have a per user/per month pricing model
  – That way cost to tenants is predictable and scales smoothly
• Tenants can start using the product very quickly
  – Nothing to install, just some configuration and data and off they go
• Easy to debug tenant issues as opposed to premise
  – we have full access to the infrastructure and inspect as needed
The What: Generic Supply Chain Application
• Focusing on B2B delivery of goods and services
• Examples:
  – Cleaning Supplies
  – Cleaning Services
  – Linen Service
  – Specialized Office Supplies
  – Appliance Parts
  – Etc.
• The portal we are building will be for the benefit of the employees of the
  company who we are providing software for (AKA the TENANT) who is
  the client of the SaaS company (Magenic)
• SaaS means that on the same infrastructure we can support multiple
  Tenants each with their own business
Screen Shot
Major Entities
• Tenant                                  • Sales Orders
  – One instance for a specific             – Customer buys products and
    client                                       services
                                              – Also used for refunds and
• Company
                                                 adjustments
  – All kinds: Customers, Vendors,
                                          •   Purchase orders
    Others
                                              – Client (Tenant) buys stuff to sell
• Contact
                                          •   Delivery/Shipment
  – People of all kinds                       – Covers deliveries and shipments
  – People belong to Companies            •   Payments
• Products                                    – Client get paid from their
  – Stuff to sell                                customers
  – Includes services                     •   Transactions
                                              – Record of all transactions
Lots of other smaller tables like notes, etc.
SaaS Pricing Models
• Free
  – Open source projects that rely on contributions (rare)
  – More commonly buy-up to better features, extra services
    • Extras billed as used
• Per user/per month
  – Most common, predictable, easy to understand
    • Usually monthly billing with pre-pay discounts for multi-month
    • Extra charges itemized on each invoice
  – Usually with some sort of limits on transactions or storage
• Per XXXX
  – Per transaction or event
    • Usually instant billing
  – Good for services people will only want occasionally
SaaS: Costing
• The nuance of course is figuring out how much a SaaS offering on a
  platform will cost. For cloud this is especially tricky as there is a fair
  amount of variable cost possible e.g. they bill you like a Taxi, typically you
  bill your customers like a magazine subscription. The question is of course
  is, do you make more than it costs?
• To really model the cost You MUST
  – Have a pretty good idea of your architecture and what services etc.
      your application are using
  – Have a solid visualization of the actual usage patterns of your
      customers e.g. how many users per tenant, how much storage,
      transactions, uploads, etc.
  – Monitor the ACTUAL resource usage of your customers to make sure
      you did not over or worse under estimate their usage
• Magenic’s cloud group can help organizations build models for SaaS
  offerings working with IT and Finance
SaaS Cost + Pricing
• The problem is that even if the resource usage scales linearly with users,
  the infrastructure cost is generally stair step or sinusoidal
  – So up to a point adding additional users does not change the cost
    model, but then to comply with the expectations of the users you will
    have to add an aliquot of capacity which is in larger whole units, from
    then on until a new break even point is reached you are paying for
    infrastructure you are not using but are paying for
  – More subtly, adding a new customer (not just more users) may have
    start up costs of its own, such as a need for another SQL instance,
    another set of storage keys, etc. This makes the stair step even more
    jagged.
  – Again working with Finance is key, as they may have other
    considerations such as CAPX vs. OPX, etc. they want have considered.
• Of course you need to pay to develop it, operate it, and of course make
  money.
The Stair Step

              Is this line above
           (good) below (bad) or
                 on the stairs?
  $$$$




                      Subscribers
Typical Costing vs. Pricing Calculator (Excel)
                               Basic Facts

                               Sizing and Frequency
                               based on data model,
                               expectations of usage,
                               frequency of updates,
                               etc.


                               One Tenant Cost

                               # Tenants (projected)

                               Additional fixed and
                               variable costs

                               Pricing Models
SaaS: Key Requirements To Think About
• Capture user events for billing and analysis
  – Logins
  – Transactions
  – Data Storage (GB)
  – Uploads/Downloads (KB)
• Use these to make sure your projection of cost agrees with what you
  planned so as to validate your pricing model
• Make sure you keep track per tenant the invoicing events, you can insert
  these as events into an events table along with the other events
• Even if you plan to offer it free, keep track anyway
• Instrumentation can be hard to add in later, so plan for it from the start
SaaS: Tenant Separation
• Prospective tenants will be anxious about how we will go about keeping
  their data separate from everyone else
• This is the single most important issue for both business and architects
• Strategies:
  – Database
     • For all entity tables make sure that the tenant ID is a required FK
     • For queries, test, test, test, make sure that tenant separation tests are P0 fails
     • Sadly, instance/tenant is not economical
  – Storage
     • Use providers container mechanisms to keep them logically separate
     • Make tenant Id part of storage path or key
  – Web site
     • Make tenant id or alias part of path (MVC is good at this)
     • Make sure pages fail if no tenant or if record requested does not belong to tenant
     • TEST TEST TEST
• Even one tenant separation failure  Very bad news
SaaS: Tech support considerations
• Do we allow tech support to impersonate the tenant admin and look at
  the tenant’s data?
  – If so, how much of it?
     • Could be scary and risky
  – If not
     • then some sort of screen/session sharing is essential
     • Can avoid having to deal with user login issues if using FI (More about this later)
     • Tenant Administrator (Superuser) can do basic stuff to tenant like re-issuing the
       invitation for the Company Admin to link up FI or enabling/disabling tenants
     • Make good screens so Company Admin can self manage their own data and users
  – Some problems are beyond tech support, so have a plan just in case
  – In all cases must provide repudiation protection via logging and audit
    trail
SaaS: How do they sign-up? Pay?
• Do you allow self signup?
  – For consumer apps this is not even a question it is a MUST HAVE.
  – For commercial apps, typically not, might require more setup and
    configuration, not to mention hand holding
• How do they pay?
  – Consumer apps
     • typical e-commerce methods PayPal, credit cards
     • Unless e-commerce is your core business outsource payments
  – Commercial apps
     • Can do credit cards if amounts are < $X
     • Typically invoiced monthly
       • also invoicing forces some degree of interaction with customers
SaaS: Provide great customer service
• SaaS (or any other web app) is not an excuse for poor customer service
• Some hallmarks:
  – Decent help text, ideally on each page as they go
  – FAQ focused on problem areas
  – Walkthroughs of common tasks
  – Provide live chat (especially for commercial apps)
  – Provide easy to find e-mail help with guidance
  – Solicit feedback on each page and on the site in general
  – Keep help content fresh with new content driven by customer service
    and customer feedback
• Great support and easy to use features == Customer Loyalty
SaaS and Security
• Organizations
  – spend too much mental energy on if the cloud host (Azure for
    example) is secure and
  – far too little effort and energy on if the code of their application is
    secure
• The chances that the infrastructure will let you down from a security
  point of view is REMOTE compared to the risks of:
  – Poor deployment
  – Horrible configuration
  – Bad key management
  – Security holes in the code
• There is not substitute for having a Security Development Lifecycle and
  building in security at all levels and processes
Q+A
Ask away!

More Related Content

What's hot

Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDDBernd Ruecker
 
Impel CRM Overview
Impel CRM OverviewImpel CRM Overview
Impel CRM OverviewSahana Bose
 
Sales Mantra - Know How It Works
Sales Mantra - Know How It WorksSales Mantra - Know How It Works
Sales Mantra - Know How It WorksSalesMantra CRM
 
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...Acumatica Cloud ERP
 
Business Analytics as a Service
Business Analytics as a ServiceBusiness Analytics as a Service
Business Analytics as a ServiceArrow ECS UK
 
Addnectar solution:Advertising Outsourcing Services
Addnectar solution:Advertising Outsourcing ServicesAddnectar solution:Advertising Outsourcing Services
Addnectar solution:Advertising Outsourcing Servicesprasadadd
 
ISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudInishTech
 
Alerts & Workflow for Sage 300 ERP
Alerts & Workflow for Sage 300 ERPAlerts & Workflow for Sage 300 ERP
Alerts & Workflow for Sage 300 ERPNet at Work
 
Goto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flowGoto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flowBernd Ruecker
 
ESC Training 6-98
ESC Training 6-98ESC Training 6-98
ESC Training 6-98John Inman
 
IRIS Field Service Presentation
IRIS Field Service PresentationIRIS Field Service Presentation
IRIS Field Service PresentationLucy Sofiano
 
Oracle Subscription Billing - All your Billing Needs on a Single Platform
 Oracle Subscription Billing - All your Billing Needs on a Single Platform Oracle Subscription Billing - All your Billing Needs on a Single Platform
Oracle Subscription Billing - All your Billing Needs on a Single PlatformJade Global
 
ERP: When Paying Too Little Can Cost Too Much
ERP: When Paying Too Little Can Cost Too MuchERP: When Paying Too Little Can Cost Too Much
ERP: When Paying Too Little Can Cost Too MuchAlexandra Sasha Tchulkova
 
OSS/BSS Landscape
OSS/BSS LandscapeOSS/BSS Landscape
OSS/BSS Landscapeanandbajaj
 
Frameworx for New Cable Services - Presentation at Management World Americas ...
Frameworx for New Cable Services - Presentation at Management World Americas ...Frameworx for New Cable Services - Presentation at Management World Americas ...
Frameworx for New Cable Services - Presentation at Management World Americas ...Nanda Taliyakula
 
111103 vc preso
111103   vc preso111103   vc preso
111103 vc presoRenterval
 
Internal analysis of beam cables, hyderabad
Internal analysis of beam cables, hyderabadInternal analysis of beam cables, hyderabad
Internal analysis of beam cables, hyderabadNaresh Shah
 
Maple crm-brochure
Maple crm-brochureMaple crm-brochure
Maple crm-brochuresonia_shekar
 

What's hot (18)

Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDD
 
Impel CRM Overview
Impel CRM OverviewImpel CRM Overview
Impel CRM Overview
 
Sales Mantra - Know How It Works
Sales Mantra - Know How It WorksSales Mantra - Know How It Works
Sales Mantra - Know How It Works
 
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...
2 Tips on Every Sales Stage: Learning from Our Top Wins and Losses, by Sean C...
 
Business Analytics as a Service
Business Analytics as a ServiceBusiness Analytics as a Service
Business Analytics as a Service
 
Addnectar solution:Advertising Outsourcing Services
Addnectar solution:Advertising Outsourcing ServicesAddnectar solution:Advertising Outsourcing Services
Addnectar solution:Advertising Outsourcing Services
 
ISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the Cloud
 
Alerts & Workflow for Sage 300 ERP
Alerts & Workflow for Sage 300 ERPAlerts & Workflow for Sage 300 ERP
Alerts & Workflow for Sage 300 ERP
 
Goto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flowGoto meetup Stockholm - Let your microservices flow
Goto meetup Stockholm - Let your microservices flow
 
ESC Training 6-98
ESC Training 6-98ESC Training 6-98
ESC Training 6-98
 
IRIS Field Service Presentation
IRIS Field Service PresentationIRIS Field Service Presentation
IRIS Field Service Presentation
 
Oracle Subscription Billing - All your Billing Needs on a Single Platform
 Oracle Subscription Billing - All your Billing Needs on a Single Platform Oracle Subscription Billing - All your Billing Needs on a Single Platform
Oracle Subscription Billing - All your Billing Needs on a Single Platform
 
ERP: When Paying Too Little Can Cost Too Much
ERP: When Paying Too Little Can Cost Too MuchERP: When Paying Too Little Can Cost Too Much
ERP: When Paying Too Little Can Cost Too Much
 
OSS/BSS Landscape
OSS/BSS LandscapeOSS/BSS Landscape
OSS/BSS Landscape
 
Frameworx for New Cable Services - Presentation at Management World Americas ...
Frameworx for New Cable Services - Presentation at Management World Americas ...Frameworx for New Cable Services - Presentation at Management World Americas ...
Frameworx for New Cable Services - Presentation at Management World Americas ...
 
111103 vc preso
111103   vc preso111103   vc preso
111103 vc preso
 
Internal analysis of beam cables, hyderabad
Internal analysis of beam cables, hyderabadInternal analysis of beam cables, hyderabad
Internal analysis of beam cables, hyderabad
 
Maple crm-brochure
Maple crm-brochureMaple crm-brochure
Maple crm-brochure
 

Viewers also liked

Uplate za kapelu i spomenik 2014. završno
Uplate za kapelu i spomenik  2014. završnoUplate za kapelu i spomenik  2014. završno
Uplate za kapelu i spomenik 2014. završnomznovoselo
 
How to Make Wine at Home - Homemade Wine Recipes
How to Make Wine at Home - Homemade Wine RecipesHow to Make Wine at Home - Homemade Wine Recipes
How to Make Wine at Home - Homemade Wine RecipesHomemade Wine
 
Tiemposverbaleseningls 110108082553-phpapp01
Tiemposverbaleseningls 110108082553-phpapp01Tiemposverbaleseningls 110108082553-phpapp01
Tiemposverbaleseningls 110108082553-phpapp01David Rangel
 
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...morosini1952
 
Avance Junio22
Avance Junio22Avance Junio22
Avance Junio22mpavon
 
Turismo: Casos de Estudio de la Competencia
Turismo: Casos de Estudio de la CompetenciaTurismo: Casos de Estudio de la Competencia
Turismo: Casos de Estudio de la CompetenciaHarold Maduro
 
Etwinning activity 1 year 4
Etwinning activity 1 year 4Etwinning activity 1 year 4
Etwinning activity 1 year 4elenaosesurteaga
 
ORCID y CVN - 2015 espana seminario tecnico
ORCID y CVN - 2015 espana seminario tecnicoORCID y CVN - 2015 espana seminario tecnico
ORCID y CVN - 2015 espana seminario tecnicoORCID, Inc
 
GazteluBerri Diciembre 2013
GazteluBerri Diciembre 2013GazteluBerri Diciembre 2013
GazteluBerri Diciembre 2013Petronor
 
Usando internet de manera responsable
Usando internet de manera responsableUsando internet de manera responsable
Usando internet de manera responsableSusana Mateos Sanchez
 
Boletín Servicios Turisticos Heinze Latzke
Boletín Servicios Turisticos Heinze LatzkeBoletín Servicios Turisticos Heinze Latzke
Boletín Servicios Turisticos Heinze LatzkeLe Metayer Deckx William
 
La P. Ibérica hasta los pueblos prerromanos
La P. Ibérica hasta los pueblos prerromanosLa P. Ibérica hasta los pueblos prerromanos
La P. Ibérica hasta los pueblos prerromanosOscar Leon
 
Historia Inbound: Pacari Chocolates - Academia Inbound
Historia Inbound: Pacari Chocolates - Academia InboundHistoria Inbound: Pacari Chocolates - Academia Inbound
Historia Inbound: Pacari Chocolates - Academia InboundHiperestrategia
 
América latina en el mundo. globalización, regionalización y fragmentación
América latina en el mundo. globalización, regionalización y fragmentaciónAmérica latina en el mundo. globalización, regionalización y fragmentación
América latina en el mundo. globalización, regionalización y fragmentaciónColectivo Desarrollo Reg
 

Viewers also liked (20)

Uplate za kapelu i spomenik 2014. završno
Uplate za kapelu i spomenik  2014. završnoUplate za kapelu i spomenik  2014. završno
Uplate za kapelu i spomenik 2014. završno
 
Informe web
Informe webInforme web
Informe web
 
How to Make Wine at Home - Homemade Wine Recipes
How to Make Wine at Home - Homemade Wine RecipesHow to Make Wine at Home - Homemade Wine Recipes
How to Make Wine at Home - Homemade Wine Recipes
 
Cursos fpe
Cursos fpeCursos fpe
Cursos fpe
 
Tiemposverbaleseningls 110108082553-phpapp01
Tiemposverbaleseningls 110108082553-phpapp01Tiemposverbaleseningls 110108082553-phpapp01
Tiemposverbaleseningls 110108082553-phpapp01
 
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...
WAHLRECHT MIT 18 FÜR EIN STABILES ITALIEN – UND AUCH FÜR EUROPA EINE VERJÜNGU...
 
Avance Junio22
Avance Junio22Avance Junio22
Avance Junio22
 
Fax email
Fax emailFax email
Fax email
 
Turismo: Casos de Estudio de la Competencia
Turismo: Casos de Estudio de la CompetenciaTurismo: Casos de Estudio de la Competencia
Turismo: Casos de Estudio de la Competencia
 
ES.PRO Intégration de protocole de communication
ES.PRO Intégration de protocole de communicationES.PRO Intégration de protocole de communication
ES.PRO Intégration de protocole de communication
 
Etwinning activity 1 year 4
Etwinning activity 1 year 4Etwinning activity 1 year 4
Etwinning activity 1 year 4
 
ORCID y CVN - 2015 espana seminario tecnico
ORCID y CVN - 2015 espana seminario tecnicoORCID y CVN - 2015 espana seminario tecnico
ORCID y CVN - 2015 espana seminario tecnico
 
GazteluBerri Diciembre 2013
GazteluBerri Diciembre 2013GazteluBerri Diciembre 2013
GazteluBerri Diciembre 2013
 
Usando internet de manera responsable
Usando internet de manera responsableUsando internet de manera responsable
Usando internet de manera responsable
 
Boletín Servicios Turisticos Heinze Latzke
Boletín Servicios Turisticos Heinze LatzkeBoletín Servicios Turisticos Heinze Latzke
Boletín Servicios Turisticos Heinze Latzke
 
La P. Ibérica hasta los pueblos prerromanos
La P. Ibérica hasta los pueblos prerromanosLa P. Ibérica hasta los pueblos prerromanos
La P. Ibérica hasta los pueblos prerromanos
 
SAK:n historia
SAK:n historiaSAK:n historia
SAK:n historia
 
La galvanotecnia
La galvanotecniaLa galvanotecnia
La galvanotecnia
 
Historia Inbound: Pacari Chocolates - Academia Inbound
Historia Inbound: Pacari Chocolates - Academia InboundHistoria Inbound: Pacari Chocolates - Academia Inbound
Historia Inbound: Pacari Chocolates - Academia Inbound
 
América latina en el mundo. globalización, regionalización y fragmentación
América latina en el mundo. globalización, regionalización y fragmentaciónAmérica latina en el mundo. globalización, regionalización y fragmentación
América latina en el mundo. globalización, regionalización y fragmentación
 

Similar to Session 3a The SF SaaS Framework

Overcoming Objections by Ali Jani
Overcoming Objections by Ali JaniOvercoming Objections by Ali Jani
Overcoming Objections by Ali JaniAcumatica Cloud ERP
 
Best Practices for Construction Accounting Software
Best Practices for Construction Accounting SoftwareBest Practices for Construction Accounting Software
Best Practices for Construction Accounting SoftwareTAG
 
Driving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaDriving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaCloudHesive
 
ISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudSoftwarePotential
 
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!
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...confluent
 
E Commerce: Its role and development
E Commerce: Its role and developmentE Commerce: Its role and development
E Commerce: Its role and developmentAnubha Rastogi
 
Software Delivery Model
Software Delivery ModelSoftware Delivery Model
Software Delivery ModelMatt Cowell
 
Cloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptxCloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptxterewog808
 
Pcty 2013 service catalog overview
Pcty 2013 service catalog   overviewPcty 2013 service catalog   overview
Pcty 2013 service catalog overviewIBM Danmark
 
When is a custom app the right choice?
When is a custom app the right choice? When is a custom app the right choice?
When is a custom app the right choice? Scio Consulting
 
When is a custom app the right choice?
When is a custom app the right choice?When is a custom app the right choice?
When is a custom app the right choice?Michael Dunham
 
Developing the Most Profitable Cloud Pricing Model
Developing the Most Profitable Cloud Pricing ModelDeveloping the Most Profitable Cloud Pricing Model
Developing the Most Profitable Cloud Pricing ModelFingent Corporation
 
Advanced Topics - Session 3 - Optimizing AWS Applications
Advanced Topics - Session 3 - Optimizing AWS ApplicationsAdvanced Topics - Session 3 - Optimizing AWS Applications
Advanced Topics - Session 3 - Optimizing AWS ApplicationsAmazon Web Services
 
Concorde Solutions ITAM Review Tools Day
Concorde Solutions ITAM Review Tools Day Concorde Solutions ITAM Review Tools Day
Concorde Solutions ITAM Review Tools Day Martin Thompson
 
SaaS, Multi-Tenancy and Cloud Computing
SaaS, Multi-Tenancy and Cloud ComputingSaaS, Multi-Tenancy and Cloud Computing
SaaS, Multi-Tenancy and Cloud ComputingRainer Stropek
 
Sage Summit 2012: Cloud Computing for Accountants
Sage Summit 2012: Cloud Computing for AccountantsSage Summit 2012: Cloud Computing for Accountants
Sage Summit 2012: Cloud Computing for AccountantsGrant M Howe
 

Similar to Session 3a The SF SaaS Framework (20)

Overcoming Objections by Ali Jani
Overcoming Objections by Ali JaniOvercoming Objections by Ali Jani
Overcoming Objections by Ali Jani
 
Best Practices for Construction Accounting Software
Best Practices for Construction Accounting SoftwareBest Practices for Construction Accounting Software
Best Practices for Construction Accounting Software
 
Driving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaDriving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -Atlanta
 
ISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the CloudISVs & the Commercial Transition to the Cloud
ISVs & the Commercial Transition to the Cloud
 
Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)Cloud Cockpit (Infrastructure-as-a-Service)
Cloud Cockpit (Infrastructure-as-a-Service)
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
 
E Commerce: Its role and development
E Commerce: Its role and developmentE Commerce: Its role and development
E Commerce: Its role and development
 
Converged Systems Sales Playbook
Converged Systems Sales PlaybookConverged Systems Sales Playbook
Converged Systems Sales Playbook
 
Software Delivery Model
Software Delivery ModelSoftware Delivery Model
Software Delivery Model
 
Cloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptxCloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptx
 
Pcty 2013 service catalog overview
Pcty 2013 service catalog   overviewPcty 2013 service catalog   overview
Pcty 2013 service catalog overview
 
When is a custom app the right choice?
When is a custom app the right choice? When is a custom app the right choice?
When is a custom app the right choice?
 
When is a custom app the right choice?
When is a custom app the right choice?When is a custom app the right choice?
When is a custom app the right choice?
 
Developing the Most Profitable Cloud Pricing Model
Developing the Most Profitable Cloud Pricing ModelDeveloping the Most Profitable Cloud Pricing Model
Developing the Most Profitable Cloud Pricing Model
 
Advanced Topics - Session 3 - Optimizing AWS Applications
Advanced Topics - Session 3 - Optimizing AWS ApplicationsAdvanced Topics - Session 3 - Optimizing AWS Applications
Advanced Topics - Session 3 - Optimizing AWS Applications
 
E245 agora week8
E245 agora week8E245 agora week8
E245 agora week8
 
E245 agora week7
E245 agora week7E245 agora week7
E245 agora week7
 
Concorde Solutions ITAM Review Tools Day
Concorde Solutions ITAM Review Tools Day Concorde Solutions ITAM Review Tools Day
Concorde Solutions ITAM Review Tools Day
 
SaaS, Multi-Tenancy and Cloud Computing
SaaS, Multi-Tenancy and Cloud ComputingSaaS, Multi-Tenancy and Cloud Computing
SaaS, Multi-Tenancy and Cloud Computing
 
Sage Summit 2012: Cloud Computing for Accountants
Sage Summit 2012: Cloud Computing for AccountantsSage Summit 2012: Cloud Computing for Accountants
Sage Summit 2012: Cloud Computing for Accountants
 

More from Code Mastery

Using SSRS Reports with SSAS Cubes
Using SSRS Reports with SSAS CubesUsing SSRS Reports with SSAS Cubes
Using SSRS Reports with SSAS CubesCode Mastery
 
Query Tuning for Database Pros & Developers
Query Tuning for Database Pros & DevelopersQuery Tuning for Database Pros & Developers
Query Tuning for Database Pros & DevelopersCode Mastery
 
Exploring, Visualizing and Presenting Data with Power View
Exploring, Visualizing and Presenting Data with Power ViewExploring, Visualizing and Presenting Data with Power View
Exploring, Visualizing and Presenting Data with Power ViewCode Mastery
 
Building a SSAS Tabular Model Database
Building a SSAS Tabular Model DatabaseBuilding a SSAS Tabular Model Database
Building a SSAS Tabular Model DatabaseCode Mastery
 
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...Designer and Developer Collaboration with Visual Studio 2012 and Expression B...
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...Code Mastery
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
Keynote Rockford Lhotka on the Microsoft Development Platftorm
Keynote   Rockford Lhotka on the Microsoft Development PlatftormKeynote   Rockford Lhotka on the Microsoft Development Platftorm
Keynote Rockford Lhotka on the Microsoft Development PlatftormCode Mastery
 
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...Code Mastery
 
Session 4 Future of BizTalk and the Cloud
Session 4  Future of BizTalk and the CloudSession 4  Future of BizTalk and the Cloud
Session 4 Future of BizTalk and the CloudCode Mastery
 
Session 3c The SF SaaS Framework
Session 3c  The SF SaaS FrameworkSession 3c  The SF SaaS Framework
Session 3c The SF SaaS FrameworkCode Mastery
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS FrameworkCode Mastery
 
Session 2 Integrating SharePoint 2010 and Windows Azure
Session 2   Integrating SharePoint 2010 and Windows AzureSession 2   Integrating SharePoint 2010 and Windows Azure
Session 2 Integrating SharePoint 2010 and Windows AzureCode Mastery
 
Session 1 IaaS, PaaS, SaaS Overview
Session 1   IaaS, PaaS, SaaS OverviewSession 1   IaaS, PaaS, SaaS Overview
Session 1 IaaS, PaaS, SaaS OverviewCode Mastery
 
Loading a data warehouse using ssis 2012
Loading a data warehouse using ssis 2012Loading a data warehouse using ssis 2012
Loading a data warehouse using ssis 2012Code Mastery
 
Exploring, visualizing and presenting data with power view
Exploring, visualizing and presenting data with power viewExploring, visualizing and presenting data with power view
Exploring, visualizing and presenting data with power viewCode Mastery
 
Data Warehouse Design & Dimensional Modeling
Data Warehouse Design & Dimensional ModelingData Warehouse Design & Dimensional Modeling
Data Warehouse Design & Dimensional ModelingCode Mastery
 
Creating a Tabular Model Using SQL Server 2012 Analysis Services
Creating a Tabular Model Using SQL Server 2012 Analysis ServicesCreating a Tabular Model Using SQL Server 2012 Analysis Services
Creating a Tabular Model Using SQL Server 2012 Analysis ServicesCode Mastery
 
Preparing for Windows 8 and Metro
Preparing for Windows 8 and MetroPreparing for Windows 8 and Metro
Preparing for Windows 8 and MetroCode Mastery
 
Extending Your Reach using the Cloud and Mobile Devices
Extending Your Reach using the Cloud and Mobile DevicesExtending Your Reach using the Cloud and Mobile Devices
Extending Your Reach using the Cloud and Mobile DevicesCode Mastery
 
Creating Tomorrow’s Web Applications Using Today’s Technologies
Creating Tomorrow’s Web Applications Using Today’s Technologies Creating Tomorrow’s Web Applications Using Today’s Technologies
Creating Tomorrow’s Web Applications Using Today’s Technologies Code Mastery
 

More from Code Mastery (20)

Using SSRS Reports with SSAS Cubes
Using SSRS Reports with SSAS CubesUsing SSRS Reports with SSAS Cubes
Using SSRS Reports with SSAS Cubes
 
Query Tuning for Database Pros & Developers
Query Tuning for Database Pros & DevelopersQuery Tuning for Database Pros & Developers
Query Tuning for Database Pros & Developers
 
Exploring, Visualizing and Presenting Data with Power View
Exploring, Visualizing and Presenting Data with Power ViewExploring, Visualizing and Presenting Data with Power View
Exploring, Visualizing and Presenting Data with Power View
 
Building a SSAS Tabular Model Database
Building a SSAS Tabular Model DatabaseBuilding a SSAS Tabular Model Database
Building a SSAS Tabular Model Database
 
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...Designer and Developer Collaboration with Visual Studio 2012 and Expression B...
Designer and Developer Collaboration with Visual Studio 2012 and Expression B...
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Keynote Rockford Lhotka on the Microsoft Development Platftorm
Keynote   Rockford Lhotka on the Microsoft Development PlatftormKeynote   Rockford Lhotka on the Microsoft Development Platftorm
Keynote Rockford Lhotka on the Microsoft Development Platftorm
 
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...
Session 5 Systems Integration Architectures: BizTalk VS Windows Workflow Foun...
 
Session 4 Future of BizTalk and the Cloud
Session 4  Future of BizTalk and the CloudSession 4  Future of BizTalk and the Cloud
Session 4 Future of BizTalk and the Cloud
 
Session 3c The SF SaaS Framework
Session 3c  The SF SaaS FrameworkSession 3c  The SF SaaS Framework
Session 3c The SF SaaS Framework
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS Framework
 
Session 2 Integrating SharePoint 2010 and Windows Azure
Session 2   Integrating SharePoint 2010 and Windows AzureSession 2   Integrating SharePoint 2010 and Windows Azure
Session 2 Integrating SharePoint 2010 and Windows Azure
 
Session 1 IaaS, PaaS, SaaS Overview
Session 1   IaaS, PaaS, SaaS OverviewSession 1   IaaS, PaaS, SaaS Overview
Session 1 IaaS, PaaS, SaaS Overview
 
Loading a data warehouse using ssis 2012
Loading a data warehouse using ssis 2012Loading a data warehouse using ssis 2012
Loading a data warehouse using ssis 2012
 
Exploring, visualizing and presenting data with power view
Exploring, visualizing and presenting data with power viewExploring, visualizing and presenting data with power view
Exploring, visualizing and presenting data with power view
 
Data Warehouse Design & Dimensional Modeling
Data Warehouse Design & Dimensional ModelingData Warehouse Design & Dimensional Modeling
Data Warehouse Design & Dimensional Modeling
 
Creating a Tabular Model Using SQL Server 2012 Analysis Services
Creating a Tabular Model Using SQL Server 2012 Analysis ServicesCreating a Tabular Model Using SQL Server 2012 Analysis Services
Creating a Tabular Model Using SQL Server 2012 Analysis Services
 
Preparing for Windows 8 and Metro
Preparing for Windows 8 and MetroPreparing for Windows 8 and Metro
Preparing for Windows 8 and Metro
 
Extending Your Reach using the Cloud and Mobile Devices
Extending Your Reach using the Cloud and Mobile DevicesExtending Your Reach using the Cloud and Mobile Devices
Extending Your Reach using the Cloud and Mobile Devices
 
Creating Tomorrow’s Web Applications Using Today’s Technologies
Creating Tomorrow’s Web Applications Using Today’s Technologies Creating Tomorrow’s Web Applications Using Today’s Technologies
Creating Tomorrow’s Web Applications Using Today’s Technologies
 

Recently uploaded

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Session 3a The SF SaaS Framework

  • 1. SaaS A practical example of a real-world SaaS application done with LEAN software development. • Stuart Williams, Principal Lead, Magenic SF
  • 2. Why? We needed a demo • We really can’t show most of our project to potential customers and at community events because the things we do are confidential. We wanted – to make a real SaaS product with the latest stable technology – the milieu to be understandable by anyone – to be able to give the parts of the code away – to give sales a “killer demo” – to show off what we thought were good patterns and practices in all of the technology areas that are part of the demo – to leverage some of the services in windows and azure service bus • So, we thought about it as a group and decided that what we would do would be a real project treated like a product, made with high quality, and delivered the same way we would deliver it for a real customer
  • 3. Why SaaS? • Because we want economies of scale – Shared infrastructure will lower the per user cost • Because we want one version of our product – Everyone benefits from an upgrade with new features or fixes – Cost of developing new features defrayed across multiple tenants • Because we want to have a per user/per month pricing model – That way cost to tenants is predictable and scales smoothly • Tenants can start using the product very quickly – Nothing to install, just some configuration and data and off they go • Easy to debug tenant issues as opposed to premise – we have full access to the infrastructure and inspect as needed
  • 4. The What: Generic Supply Chain Application • Focusing on B2B delivery of goods and services • Examples: – Cleaning Supplies – Cleaning Services – Linen Service – Specialized Office Supplies – Appliance Parts – Etc. • The portal we are building will be for the benefit of the employees of the company who we are providing software for (AKA the TENANT) who is the client of the SaaS company (Magenic) • SaaS means that on the same infrastructure we can support multiple Tenants each with their own business
  • 6. Major Entities • Tenant • Sales Orders – One instance for a specific – Customer buys products and client services – Also used for refunds and • Company adjustments – All kinds: Customers, Vendors, • Purchase orders Others – Client (Tenant) buys stuff to sell • Contact • Delivery/Shipment – People of all kinds – Covers deliveries and shipments – People belong to Companies • Payments • Products – Client get paid from their – Stuff to sell customers – Includes services • Transactions – Record of all transactions Lots of other smaller tables like notes, etc.
  • 7. SaaS Pricing Models • Free – Open source projects that rely on contributions (rare) – More commonly buy-up to better features, extra services • Extras billed as used • Per user/per month – Most common, predictable, easy to understand • Usually monthly billing with pre-pay discounts for multi-month • Extra charges itemized on each invoice – Usually with some sort of limits on transactions or storage • Per XXXX – Per transaction or event • Usually instant billing – Good for services people will only want occasionally
  • 8. SaaS: Costing • The nuance of course is figuring out how much a SaaS offering on a platform will cost. For cloud this is especially tricky as there is a fair amount of variable cost possible e.g. they bill you like a Taxi, typically you bill your customers like a magazine subscription. The question is of course is, do you make more than it costs? • To really model the cost You MUST – Have a pretty good idea of your architecture and what services etc. your application are using – Have a solid visualization of the actual usage patterns of your customers e.g. how many users per tenant, how much storage, transactions, uploads, etc. – Monitor the ACTUAL resource usage of your customers to make sure you did not over or worse under estimate their usage • Magenic’s cloud group can help organizations build models for SaaS offerings working with IT and Finance
  • 9. SaaS Cost + Pricing • The problem is that even if the resource usage scales linearly with users, the infrastructure cost is generally stair step or sinusoidal – So up to a point adding additional users does not change the cost model, but then to comply with the expectations of the users you will have to add an aliquot of capacity which is in larger whole units, from then on until a new break even point is reached you are paying for infrastructure you are not using but are paying for – More subtly, adding a new customer (not just more users) may have start up costs of its own, such as a need for another SQL instance, another set of storage keys, etc. This makes the stair step even more jagged. – Again working with Finance is key, as they may have other considerations such as CAPX vs. OPX, etc. they want have considered. • Of course you need to pay to develop it, operate it, and of course make money.
  • 10. The Stair Step Is this line above (good) below (bad) or on the stairs? $$$$ Subscribers
  • 11. Typical Costing vs. Pricing Calculator (Excel) Basic Facts Sizing and Frequency based on data model, expectations of usage, frequency of updates, etc. One Tenant Cost # Tenants (projected) Additional fixed and variable costs Pricing Models
  • 12. SaaS: Key Requirements To Think About • Capture user events for billing and analysis – Logins – Transactions – Data Storage (GB) – Uploads/Downloads (KB) • Use these to make sure your projection of cost agrees with what you planned so as to validate your pricing model • Make sure you keep track per tenant the invoicing events, you can insert these as events into an events table along with the other events • Even if you plan to offer it free, keep track anyway • Instrumentation can be hard to add in later, so plan for it from the start
  • 13. SaaS: Tenant Separation • Prospective tenants will be anxious about how we will go about keeping their data separate from everyone else • This is the single most important issue for both business and architects • Strategies: – Database • For all entity tables make sure that the tenant ID is a required FK • For queries, test, test, test, make sure that tenant separation tests are P0 fails • Sadly, instance/tenant is not economical – Storage • Use providers container mechanisms to keep them logically separate • Make tenant Id part of storage path or key – Web site • Make tenant id or alias part of path (MVC is good at this) • Make sure pages fail if no tenant or if record requested does not belong to tenant • TEST TEST TEST • Even one tenant separation failure  Very bad news
  • 14. SaaS: Tech support considerations • Do we allow tech support to impersonate the tenant admin and look at the tenant’s data? – If so, how much of it? • Could be scary and risky – If not • then some sort of screen/session sharing is essential • Can avoid having to deal with user login issues if using FI (More about this later) • Tenant Administrator (Superuser) can do basic stuff to tenant like re-issuing the invitation for the Company Admin to link up FI or enabling/disabling tenants • Make good screens so Company Admin can self manage their own data and users – Some problems are beyond tech support, so have a plan just in case – In all cases must provide repudiation protection via logging and audit trail
  • 15. SaaS: How do they sign-up? Pay? • Do you allow self signup? – For consumer apps this is not even a question it is a MUST HAVE. – For commercial apps, typically not, might require more setup and configuration, not to mention hand holding • How do they pay? – Consumer apps • typical e-commerce methods PayPal, credit cards • Unless e-commerce is your core business outsource payments – Commercial apps • Can do credit cards if amounts are < $X • Typically invoiced monthly • also invoicing forces some degree of interaction with customers
  • 16. SaaS: Provide great customer service • SaaS (or any other web app) is not an excuse for poor customer service • Some hallmarks: – Decent help text, ideally on each page as they go – FAQ focused on problem areas – Walkthroughs of common tasks – Provide live chat (especially for commercial apps) – Provide easy to find e-mail help with guidance – Solicit feedback on each page and on the site in general – Keep help content fresh with new content driven by customer service and customer feedback • Great support and easy to use features == Customer Loyalty
  • 17. SaaS and Security • Organizations – spend too much mental energy on if the cloud host (Azure for example) is secure and – far too little effort and energy on if the code of their application is secure • The chances that the infrastructure will let you down from a security point of view is REMOTE compared to the risks of: – Poor deployment – Horrible configuration – Bad key management – Security holes in the code • There is not substitute for having a Security Development Lifecycle and building in security at all levels and processes