EMEA Jürgen Pfeifer Architect, MCA Microsoft EMEA HQ Building SaaS Solutions.

Slides:



Advertisements
Similar presentations
Hello i am so and so, title/role and a little background on myself (i.e. former microsoft employee or anything interesting) set context for what going.
Advertisements

DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
System Center 2012 R2 Overview
Power BI Sites and Mobile BI. What You Will Learn Sharing and Collaboration Introducing Power BI Exploring Power BI Features and Services Partner Opportunities.
Security that is... Ergonomic, Economical and Efficient! In every way! Stonesoft SSL VPN SSL VPN.
EMEA Jürgen Pfeifer Architect, MCA Microsoft EMEA HQ Building SaaS Solutions.
Gianpaolo Carraro Architecture Strategy Team
“It’s going to take a month to get a proof of concept going.” “I know VMM, but don’t know how it works with SPF and the Portal” “I know Azure, but.
Successful SaaS - what will it take? Eric Nelson Application Architect Microsoft Ltd
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Microsoft Office Sharepoint Server 2007 (MOSS) Overview Momentum Microsoft November 15, 2007.
SaaS, PaaS & TaaS By: Raza Usmani
Managing LOB Applications by Using System Center Operations Manager Published: March 2007.
Understanding Active Directory
CategoryDynamic Datacenter Toolkit for Hosters (DDTK-H)Dynamic Datacenter Toolkit (DDTK) Service OfferingEnables hosting service providers to offer on-demand.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Memi Lavi Senior Consultant MCS, Microsoft Israel Self Service Private Cloud With Windows Azure Pack.
May 30 th – 31 st, 2006 Sheraton Ottawa. Microsoft Certificate Lifecycle Manager Saleem Kanji Technology Solutions Professional - Windows Server Microsoft.
Page  1 SaaS – BUSINESS MODEL Debmalya Khan DEBMALYA KHAN.
The MS Application Platform Luc Van de Velde Director, Developer & Platform group
Achieving Agility with WSO2 App Factory S. Uthaiyashankar Director, Cloud Solutions WSO2 Inc. Dimuthu Leelarathne Software Architect WSO2 Inc.
Module 8 Configuring and Securing SharePoint Services and Service Applications.
XML in Development of Distributed Systems Tooling Programming Runtime.
Web Services Igor Wasinski Olumide Asojo Scott Hannan.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
LitwareHR Overview Eric Nelson Microsoft. Sample Application Microsoft has developed a sample application - LitwareHR Addressing all the major architectural.
Identity Solution in Baltic Theory and Practice Viktors Kozlovs Infrastructure Consultant Microsoft Latvia.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
Techcello Provides SaaS Lifecycle Management Solution to “SaaS-ify” Your Application Efficiently on the Powerful Microsoft Azure Cloud Platform MICROSOFT.
The Microsoft Services Provider License Program (SPLA)
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
Windows Role-Based Access Control Longhorn Update
Microsoft Virtual Academy. STANDARDIZATION SELF SERVICEAUTOMATION Give Customers of IT services the ability to identify, access and request services.
.... Point of Sales Accounting Customer Relationship.
William Richard Eric Successful SaaS – What will it take?
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Hosting Websites and Web Applications with Microsoft ® SQL Server ® 2008.
Mark Gilbert Microsoft Corporation Services Taxonomy Building Block Services Attached Services Finished Services.
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Software + Services: An Architect Perspective Gianpaolo Carraro
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
The best of WF 4.0 and AppFabric Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member.
Microsoft Virtual Academy. Microsoft Virtual Academy First HalfSecond Half (01) Introduction to Microsoft Virtualization(05) Hyper-V Management (02) Hyper-V.
Understanding SaaS Architecture
The Holmes Platform and Applications
Building Enterprise Applications Using Visual Studio®
Stop Those Prying Eyes Getting to Your Data
Understanding The Cloud
Business Connectivity Services in SharePoint 2010 and Office 2010
Visual Studio Tools for Office 2005
Infrastructure Provisioning Kenon Owens Sr
Power BI Security Best Practices
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Office 365 Identity Management
LitwareHR v2: an S+S reference application
Technical Capabilities
Transforming your Datacentre
SharePoint Development
Azure Active Directory
The Social Life of Information
Windows Azure Hybrid Architectures and Patterns
Architectural Impact of SaaS
Day 2, Session 2 Connecting System Center to the Public Cloud
Office 365 Development July 2014.
SharePoint 2007 Developer Overview Collaboration BI Features
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

EMEA Jürgen Pfeifer Architect, MCA Microsoft EMEA HQ Building SaaS Solutions

EMEA Consuming SaaS

EMEA enterprise Purchase The Enterprise

EMEA From Evaluation...

EMEA To „Try before you buy“...

EMEA enterprise Purchase Deploy long eval process try before you buy The Enterprise

EMEA From Customization...

EMEA To Configuration...

EMEA enterprise Purchase DeployManage long eval process try before you buy customisation configuration The Enterprise

EMEA From reliance on internal IT...

EMEA Contract To SLAs...

EMEA enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs The Enterprise

EMEA SaaS ISV considerations

EMEA independent software vendors (ISVs) enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs enable try before you buy SaaS Vendors

EMEA independent software vendors (ISVs) enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs enable try before you buy enable no-code config SaaS Vendors

EMEA independent software vendors (ISVs) enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs enable try before you buy enable no-code config enable SLA infrastructure SaaS Vendors

EMEA enable economies of scale independent software vendors (ISVs) enable try before you buy enable no-code config enable SLA infrastructure enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs SaaS Vendors

EMEA Monetisation

Monetization Scheme matters  For the Enterprise  No upfront perpetual license cost  Finance people like predictable recurring cost  For the ISV  Subscription model provides better predicability of revenue streams

EMEA independent software vendors (ISVs) enable economies of scale enable try before you buy enable no-code config enable SLA infrastructure enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs enable monetisation schemes SaaS Vendors

EMEA

referrals & breadth marketing self provisioning self-customisation delegated administration automatic billing Minimize human intervention

EMEA independent software vendors (ISVs) enable economies of scale enable try before you buy enable no-code config enable SLA infrastructure enterprise Purchase DeployManage long eval process try before you buy customisation configuration reliance on internal IT SLAs enable monetisation schemes enable minimal intervention SaaS Vendors

EMEA User Experience counts

EMEA Architectural Impact Very Visible Business Opportunities Often Overlooked Architectural Challenges Business OpportunitiesArchitectural Challenges Serving the “long tail” “try before you buy” Subscription model Business SLAs Multi-tenancy / Scale Self service / Automatic provisioning Metering / Billing SLA Monitoring/Enforcement (Examples)

EMEA shareisolate vs The right balance is determined by: Business model (can I monetise?) Business model (can I monetise?) Architectural model (can I do it?) Architectural model (can I do it?) Operational model (can I guarantee SLAs?) Operational model (can I guarantee SLAs?) Regulatory constraints (can we share data?) Regulatory constraints (can we share data?) SLA per tenant Data Separation Economy of Scale Simpler Management

EMEA Browser Smart Client Presentation Process Services Business Services Meta Data Services Security Services Directory Service Databases File System Meta Data High Level Application Architecture

EMEA Application Runtime (same code image) Tenant Profile and Configuration Data Meta Data Service Farm of deployed application runtime components Entity Model Workflow and Rules User Interface Application Configuration and Designer Tools Virtual application instance Configurability Scaleability Multi-tenant efficiency Metadata Driven Instances

EMEA Templatizing Configuration Templatized Designers Trusted Partners Premium Customers Standard Customers Runtime Metadata Policies Security, Fairness and Halting Policies Runtime Policy Enforcement Engine Design TimeRuntime Application Instance Metadata Designer Policy Enforcement Engine

EMEA Meta-Data : UI/Branding

EMEA Meta-Data: Configure Workflows

EMEA we want to track customer colour preferences our customers have peculiar address formats we need to track customer history by product we want to keep track of customer visits online Meta Data: Data Model Extension

EMEA Meta-Data: Access Control

EMEA UI/Branding Workflow and Rules Data model extensions Access Control … other domain specific considerations… Meta-Data Considerations

EMEA GUIDANCE

Sample Application  Microsoft has developed a sample application („Litware HR“)  Addressing all the major architectural challenges of a SaaS application for the „Long Tail“  Is available for download on MSDN 

Contoso Customizations: UI: “Contoso Orange” L&F Data: New “Job Level” Field Workflow: Recruitement based on Job Level Roles and Access: HR Manager, CEO Litware HR: A Sample SaaS App HR App (Recruitment) Single Instance Multi Tenant Authenticated access Configuration & Post jobs Private site Web Interface Fabrikam Customizations: UI: Fabrikam L&F Data: New “Audition Required” Field Workflow: based on “audition required” Roles and Access: Audition Judge, Owner Unauthenticated access Search & Apply for jobs Web APIs Public site Web Interface Internet Music SchoolRetail Shoe Chain Operational Platform “Internal” SaaS Hosting Platform Provisioning (try before buy) Billing (not implemented)

EMEA Configurable UI  Well understood topic on Microsoft Platform  For Web Apps:  ASP.NET 2.0, AJAX: CSS, Masterpages, Themes etc.  For Windows Apps:  Use „Windows Presentation Foundation“ (WPF)

EMEA Configurable Workflow  Workflow Foundation  Uses Markup  Can be stored, manipulated, executed on a per tenant basis

EMEA Workflow Customization: Design Time Hosted Designer Loads “current” workflow definition (from.xoml file) Manipulates workflow object model Serialize modified object model Calls Web Service to update.xoml Customization type Behavioral (decisions/rules) Structural (activities)

EMEA public WorkflowInstance CreateWorkflow (XmlReader workflowDefinitionReader); Workflow Customization: Runtime XAML Activation

EMEA Configurable Data  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 Tenant A Product ID Description Category ID Catalog Item Tenant B Product ID Description Classification Code Catalog Item

EMEA ApproachSecurity PatternsExtensibility PatternsScalability Patterns Separate DatabasesTrusted Database Connections Custom ColumnsSingle Tenant Scaleout Secure Database Tables Tenant Data Encryption Shared Database, Separate Schemas Trusted Database Connections Custom ColumnsTenant-Based Horizontal Partitioning Secure Database Tables Tenant Data Encryption Shared Database, Shared Schema Trusted Database Connections Preallocated FieldsTenant-Based Horizontal Partitioning Tenant View FilterName-Value Pairs Tenant Data Encryption Database Patterns

EMEA 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

EMEA 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 Tenant 1 Tenant 3 Tenant 2

EMEA 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  Tradeoff:  Tendency to results in sparse table  When to use:  When data co-mingling is OK  Easy to anticipate pre-defined custom fields Tenant ID F1F2C1C2C3 345Ted53NullpaidNull 777Kay3423NullNull 784Mary45NullNullNull 345Ned21NulloweNull 438Pat26NullNullyes

EMEA 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  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 Tenant ID F1F2 Record ID 764Ted$ John$32Null 783Sal$99564 NameValue893StatusGold 893Expire AffiliationAcme

EMEA Data: a practical advice  Consider design for the most general case, the single shared database  If a customer wants isolation, just deploy him on a single instance  Pro: This approach gives you the greatest flexibility.  Con: More complex queries, may affect performance

EMEA 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

EMEA Scaling Data  Data Partition (horizontal)  Divide subscriber data into smaller partitions to meet performance goals  Schemes: hashing, temporal, etc.  Dynamic Repartitioning  Automatically repartition when database size reaches maximum size

EMEA Implication on Identity Architecture  Use identity federation to achieve SSO  How to manage trust – PKI  Standard-based products (WS-Federation, SAML etc)  Use claims-centric architecture to communicate access policies  Signed attributes and assertions to rely on roles and access rules information:  E.g. authorized to purchase if amount < 50

EMEA Access Control  Some Platform Technologies to consider  ADFS  Windows Role Based Access Control (RBAC)  Authorization Manager (AzMan)

EMEA Access Control Role Users Groups Permission … Business Rules  Authorization policies can be defined at different scopes (enterprise, dept etc.)  Permissions, roles, groups and business rules can be customizable per tenant SCOPE

EMEA SLAs  SLA Monitoring  Availability  Performance  SLA Enforcing  Rules, notification and alerts  Automated Resource Allocation  Automated provisioning  Early evidence shows SaaS customer are expecting more when hosted than in-house

EMEA Composition & Integration  Provide clean and well defined Service Interfaces  Follow SOA best practices  For Enterprise: support SOAP style and WS-* if necessary. Windows Communication Foundation (WCF) is your friend  For Consumer SaaS: support REST style (again, WCF is your friend)  Be OBA friendly (Office Business Applications)  Emerging Office based Composite App Framework

EMEA “Classic” Hosting CPU-Storage-Bandwidth Shared Services: e.g. Billing, Metering, SLA Monitoring… a.k.a. SO Infra, Service Delivery Platform, OSS/BSS As provider: do you build or buy the hosting? “Classic” Hoster SaaS Hoster SaaS Provider Shared Services

EMEA SaaS Hosting Platform: Operational Security Log SaaS Application Identity Management Usage Tracking CRM Call Center Support System Management Log SaaS Application Performance Availability Security SLA Monitoring Provisioning Management Agent Access Control Metering Order Management SaaS Hosting Platform Runtime Billing Management Alerts

EMEA Business Implications  Perpetual licenses to Subscription model  Ad based revenue  Critical mass on new business  ‘Long-tail’, low-margin customers  Customer acquisition and retention MS Service Provider License Agreement (SPLA) No Up-Front Cost No Minimum Commitment Success-based, Pay What You Use Two Models: Per User or Per CPU Right to Upgrade Evaluation Period Extended No cost for Disaster Recovery Licenses SPLA Feedback Project

EMEA Call to Action  ISV “council” for “collaborative” efforts   Additional Information  Software as Services Architectural Guidance   Blogs about Architecture :    SaaS sample application (for the long tail)   Service Provider License Agreement 

© 2006,2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.