Software as a Service - Ammannato

Software as a Service - Ammannato

Gianpaolo Carraro Architecture Strategy Team [email protected] http://blogs.msdn.com/gianpaolo Context Facts: Software as a Service (SaaS) is getting a lot of attention Lots of buzz but little architectural guidance on the topic Architecture Strategy Team is investing in SaaS Guidance Currently, more an ISV topic than a SI or Enterprise Even though I talked to several enterprises developing SaaS Todays Objectives: Share with you our current thinking Get you thinking / get your thinking (maybe) find ways to collaborate / engage in projects

Agenda Software as a Service (SaaS) Overview Architectural Shift Overview Some Design Patterns Q&A SaaS Actors and Interests What is SaaS: ISV definition Thisput: said, not all SaaS are Simply equal: Degree of customization per Software userdeployed as a hosted service and accessed over the Internet.

Scalability of the service Enterprise / Consumer as opposed to: on premise Monetization model Sales model (direct / indirect) 2 categories of SaaS applications are getting the most attention: (a) Enterprise LOB SaaS Realizing SaaS Business Model Applicati on

Architec ture Softwar e Services Operatio nal Structur e SaaS impacts the entire consumption cycle : In particular in the L.O.B. application space Purchase Deployment From: Customizatio

From: n Long Eval Process CapEx Buyer To: To: Try before you buy Configuratio OpEx n Seller Enable: Try before you buy Enable: Configuratio n (no custom code)

Management From: Reliance on internal IT To: SLAs Enable: SLA monitoring / enforcement Big Deal 1: Importance of Economy of Scale Hardware Cost at Provider People Cost at Provider

Big Deal 2: The Long Tail $ / Customer Dozens of markets of millions or millions of markets of dozens? Your Large Customers What if you lower your cost of sale (i.e. lower barrier to entry) and you also lower cost of operations Your Typical Customers New addressable market >> current market (Currently) non addressable Customers # of Customers Big Deal 3: Monetization Options Subscription (monthly fee per seat) Transaction based pricing (profit sharing) Ad-based revenue (e.g. pay per click)

Big Deal 4: Humans are costly Reduce human intervention No Direct Sales (but referrals and breadth marketing) Self Provisioning Self Customization Delegate Administration Automatic billing Impact on your architecture Requires Architectural Shift: single instance multi tenancy Multi-tenant efficient Sharing resources (One instance to run them all) Customizable

Customization through configuration Scaleable Many applications will require Internet scale Basic SaaS Maturity Model Ad-hoc / Custom Application Hosting Model (ASP) Configurable, Multi tenant Configurable (but single tenant) Physical or Virtual Isolation Scalable, Configurable,

Multi tenant Share vs. Isolate SLA per tenant Data Separation Share Isolate Economy of Scale Simpler Management The right balance is determined by: Business model (can I monetize isolation?) Architectural model (can I run on a single logical instance?) Operation model (can I guarantee my SLA without isolating?) Customer demand (I want my data to be separate) High Level Application Architecture

Smart Client Browser Presentation Meta Data Services Security Services Process Services Business Services Meta Data File

System Databases Directory Service Meta Data Service UI/Branding Scope Workflow/Business Rules Data Model Extensions Access Control Domain-specific ext. 0 or more

scopes Customizable: UI/Branding Workflow Data Model Business rules Domain-specific Scope: Nested hierarchy of customization Inheritable E.g. Enterprise, department, user levels Security Services Authentication: Username/password,

X509 Certificates SSO Authentication Authorization: RBAC, Rule-based Audit: Authorization Auditing Security events Policy driven on/off Access Control Scope Users Business

Rules Permission Role Groups Permission Authorization policies can be defined at different scopes (enterprise, dept etc.) Permissions, roles, groups and business rules can be customizable per tenant Data Model Extension Tenant A Catalog Item

Tenant B Catalog Item Product ID Product ID Descriptio n Description Category ID Classification Code

Challenges: Defining custom fields and storing custom data for each tenant. Business logic that can handle custom fields Presentation logic that can handle custom fields Custom Fields Data and Definition Meta-data/data dictionary required 3 general approaches: Separate database for each tenant Shared database, a canned set of extended fields Shared database, any number of extended fields Tradeoff between each approach

Dedicated Tenant Database Approach: Separate database for each tenant Database maintains data dictionary Advantages: Easy to implement Meta data identifies database instance for each tenant Tradeoff: Number of tenants per database server is low Infrastructure cost of providing service rise quickly When to use: When tenant has data isolation

requirements Able to monetize the data extension/isolation feature Tenan Tenan Tenan t1 t2 t3 Shared Database, fixed set of extensions Approach: All tenants data in one database. Pre-defined set of custom fields Advantages: Easy to implement Maximize number of tenants

per database server Tenant ID F1 F2 C1 C2 C3 345 Ted 53

Null pai d Null 777 Kay 34 23 Null Null

784 Mar y 45 Null Null Null 345 Ned 21 Null

owe Null 438 Pat 26 Null Null yes Tradeoff: Tendency to results in sparse table

When to use: When data co-mingling is OK Easy to anticipate pre-defined custom fields Same database, variable custom extensions Approach All tenants in one database Variable number of custom fields Name-value pair in separate tables Advantage Unlimited

number/option for custom fields Tenant ID F1 F2 Record ID 764 Ted $56 893

673 John $32 Null 783 Sal $99 564 Tradeoff Increase

index/search/query/update complexity When to use OK to co-mingle tenant data Custom fields are high value features Difficult to predict custom fields Record ID Name Value 893

Status Gold 893 Expire 7-29-2008 564 Affiliation Acme Scaling Application Stateless Improve service memory footprint Improve ability to load balance

Asynchronous I/O Do useful work while waiting for I/O to complete Resource Pooling Threads, network and database connections Maximize concurrency Minimize exclusive locking Scaling Data Data Partition Divide subscriber data into smaller partitions to meet performance goals Schemes: hashing, temporal, etc. Dynamic Repartitioning Automatically repartition when database size reaches maximum size

SLAs SLA Monitoring SLA Enforcing Throttling Early evidence shows SaaS customer are expects more when hosted than in-house Shared Services SaaS Provider SaaS Hoster Shared Services: e.g. Billing, Metering, SLA Monitoring a.k.a. SO Infra, Service Delivery Platform, OSS/BSS Classic Hosting CPU-Storage-Bandwidth

Classic Hoster As provider: do you build or buy the hosting? SOA vs. SaaS Questions? [email protected] http://blogs.msdn.com/gianpaolo 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recently Viewed Presentations

  • Characterization of Self-Assembled Monolayers of Fullerene ...

    Characterization of Self-Assembled Monolayers of Fullerene ...

    Abstract: The widely employed approach to self-assembly of fullerene derivatives on gold can be complicated due to multilayer formations and head-to-tail assemblies resulting from the strong fullerene-fullerene and fullerene-gold interactions.
  • Evaluation of a Telephonic Alcohol Screening & Brief

    Evaluation of a Telephonic Alcohol Screening & Brief

    Methods: A pretest-posttest, one-group, pre-experimental design is used to examine the impact of a telephonic-based EAP alcohol SBIRT pilot program in one call center serving one large client business. The intervention is adapted based on the World Health Organization (WHO,...
  • Registering your placement on MAP - Aston University

    Registering your placement on MAP - Aston University

    The study placement advert as posted on Aston Futures. Create/ View Placement records You now have the following options: Create a new placement by clicking on "Create a new Placement" Amend or delete a placement (if applicable) by selecting the...
  • The Evaluation Proccess - WordPress.com

    The Evaluation Proccess - WordPress.com

    Vineland- Self Sufficiency skills (Daily Living, Communication, socialization, motor skills, maladaptive behaviors) Affective Examples. ... Scoring Exercise to be done after we go over this slide. It is in binder, section 2. Case Study Basics.
  • Canadian Undergraduate Urology Curriculum (CanUUC): Prostate Diseases Last

    Canadian Undergraduate Urology Curriculum (CanUUC): Prostate Diseases Last

    3a. Medical Treatment: Long-acting Non-selective 1-blockers Dosage is increased in a stepwise fashion at weekly intervals. Does not affect PSA. Acts to relax prostatic/bladder neck smooth muscle (& vascular smooth muscle - non selective)
  • HLA systém, jeho struktura a funkce HLA = human leukocyte ...

    HLA systém, jeho struktura a funkce HLA = human leukocyte ...

    HLA systém, jeho struktura a funkce HLA (Human Leukocyte Antigens ) = Hlavní histokompatibilní systém člověka 2. molekulárně-genetické metody 80. léta, technika PCR ( polymerace chain reaction ) 90. léta, typizace HLA antigenů II. třídy následně typizace HLA antigenů I....
  • lec_02_physicallayer [Compatibility Mode]

    lec_02_physicallayer [Compatibility Mode]

    Overview. Networks are made up of devices and communication links. Devices and links can be physically threatened. Vandalism, lightning, fire, excessive pull force, corrosion, wildlife, wear-down, wiretapping, crosstalk, jamming
  • Title, arial 28pt Bold - NorCal OAUG

    Title, arial 28pt Bold - NorCal OAUG

    January 19, 2010. 2010 NorCal OAUG Training DayOne Touch EBS Close to HFM ConsolidationIntegration of E-Business Suite and HFM Data and Metadata using EPMA ArchitectureDhananjay PanditCoherent, Inc.