SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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!

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 
Lecture6-Business-Models-PartI-Jan23-2018.pptx
Lecture6-Business-Models-PartI-Jan23-2018.pptxLecture6-Business-Models-PartI-Jan23-2018.pptx
Lecture6-Business-Models-PartI-Jan23-2018.pptxKamalKamalli1
 
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
 

Similaire à 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...
 
Lecture6-Business-Models-PartI-Jan23-2018.pptx
Lecture6-Business-Models-PartI-Jan23-2018.pptxLecture6-Business-Models-PartI-Jan23-2018.pptx
Lecture6-Business-Models-PartI-Jan23-2018.pptx
 
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
 

Plus de 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
 

Plus de 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
 

Dernier

ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 

Dernier (20)

20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 

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