Cor source solutions on premise to on demand saas u 2 2012Presentation Transcript
Eileen Boerger President ISV PATH TO CLOUD MOVING YOUR PRODUCT FROM ON-PREMISE ON-DEMAND February 28, 2012SaaS University
ON-PREMISE TO ON-DEMANDBusiness objectives?Licensing model? On-demand softwareNew features? productLeverage current product? Modularity SecurityCurrent on-premise Multi-tenancy software product Scalability
LEVELS OF SAAS MATURITY1. Internet-accessible 2. Configurable perOne instance per customercustomer3. Multi-tenant 4. Fullyefficient scalable, configurable, Multi-tenant
SAAS SOFTWARE LAYERS Browser/Thin Client Presentation Layer Business Logic Metadata Services Business Services Services Security Data Access Layer Database Maturity Level 4
SAAS SOFTWARE ARCHITECTURE -- CHARACTERISTICS Browser/Thin Client Presentation Layer Business Logic Metadata Services Business Services Services Security Data Access Layer Database Maturity Level 4
KEY FACTORS OF SAAS ENABLEMENT Factor Considerations oUnderstand business objectives, including licensing model Business and project planning oAssessment of current product and skills needed oIncremental project plan or new product development oSupport for multi-tenancy Architectural Planning oScalability and manageability considerations oTechnical approach and use of current product oFlexible processes for requirements, change management, Development and service process development and testing restructuring oAdopt agile methodology for development oCustomer service model oAll or subset of current product features Well-articulated requirements oModernization of user Interface oAdditional features required oMore flexible and maintainable Infrastructure Infrastructure migration oBalance resources between existing product and SaaS Existing product support enablement-how?
WHY AGILE WORKS FOR SAAS DEVELOPMENT New and CorSource New Product Changing Software (SaaS) Requirements Development• New business model • Not fully known at start • Predictable schedule• New interaction model • Need to involve clients • Incremental dev• New features • Need to evolve over time • Short iterations • Working iterations • Quick evolution Agile methodologies foster product evolution during development resulting in products that better meet customer requirements.
KEY BENEFITS OF AGILE METHODOLOGIES Key Characteristic Key Benefits Predictable Delivery o Can predict product delivery with more accuracy Schedule Flexible requirements o More rapid response to changing requirements over time Iterative – incremental o Allows business and technology to stay in sync development o Able to maintain a sustainable rate of development Continuously working o Development and testing in sync at all times software o Few quality issues at end of full development o Can demo and get feedback continuously Team orientation o Gain understanding and buy-in of full team, including customers in many cases o Monitor and improve team performance over time
EVOLUTION OR REVOLUTION?
SAAS ENABLEMENT STEPS-EVOLUTIONARY APPROACH SaaS ProductEnable high ScalabilityAdd tenant awareness / admin. tools 4Add configurability / product partitions 3Enable service-oriented components Levels of 2Decrease infrastructure cost MaturityDeploy as multi-instance SaaS-ready 1Restructure business processesWeb-enable productModernize legacy code Preparing for SaaSPlan SaaS incrementallySupport legacy Current Product
RETAIL SOFTWARE COMPANY – CURRENT PRODUCT TECHNOLOGIES Product Development Current Product Business Needs Needs Technologieso Grow business in mid- o Help on planning Saas o Delphi market with SaaS enablement o Crystal Reports product Additional resources to o o Sharepointo Deliver SaaS product develop SaaS product ASAP SaaS Enablement Example
KEY OBJECTIVES - PRIORITIES Priority Objective High Launch SaaS product ASAP (to capture market share with smaller businesses) Medium o Move to up-to-date technology o Improve software’s extensibility to partners o Improve user interface and functionality o Support product segmentation / modular deployment SaaS Enablement Example
PLANNING TENETS / ASSUMPTIONS
PRIMARY TECHNOLOGY CHOICES Selected Area Rationale TechnologyApplication Microsoft .NET Company X has current skills and foundationalArchitecture architecture. Other option is Java, which provides no significant advantages.GUI Platform Microsoft Aligns best with .NET. Scripting / rapid development ASP.NET choices such as PHP or Ruby on Rails do not provide the robustness and flexibility required of enterprise software.Database Microsoft SQL Company X has current skills and foundationalManagement Server architecture. SQL Server 2005 has reached par withSystem Oracle, DB2, and open source alternatives (e.g. MySQL) for all but the highest transaction loads.
SOFTWARE ARCHITECTURE – CURRENT PRODUCT Presentation Application Services Business Persistence Data Storage Core Product Delphi Visual Delphi Delphi Microsoft Components BOs DAOs SQL ServerToday E-Commerce Browser ASP.NET WCF Service Retail Software Company
SOFTWARE ARCHITECTURE – UPDATED CURRENT PRODUCT Presentation Application Services Business Persistence Data Storage Core Product Delphi Delphi Microsoft BOs DAOs SQL Server .NET .NETToday Wrapper Wrapper E-Commerce Browser ASP.NET WCF Service Retail Software Company
SOFTWARE ARCHITECTURE – STEP TO FUTURE PRODUCT Presentation Application Services Business Persistence Data Storage Core Product Delphi Visual Delphi Delphi Microsoft Components BOs DAOs SQL Server .NET .NETToday Wrapper Wrapper E-Commerce Browser ASP.NET WCF Service Future Browser ASP.NET WCF Service Retail Software Company
SOFTWARE ARCHITECTURE – FUTURE PRODUCT Presentation Application Services Business Persistence Data Storage Core Product Delphi Visual Delphi Delphi Microsoft Components BOs DAOs SQL Server .NET .NETToday Wrapper Wrapper E-Commerce Browser ASP.NET WCF Service WCF .NET .NET Microsoft Future Browser ASP.NET Service BOs DAOs SQL Server Retail Software Company
FIVE PHASES TO SAAS – RETAIL SOFTWARE COMPANY o Applic. is multi-tenant-aware o Functional enhancements 1. Web Enable o Partitionable UI o Separate DB for each tenant (in a single DB instance)o Web UI (ASP.NET) o Load testingo UI enhancementso Light services layer (WCF) 2. SaaS Launcho Use current Delphi BOs/DAOs o Multi-tenant DBo Customizability (forms designer, plug-ins, …) o Tenant-aware admin toolo Data integrations (e.g. offline POS) o Migration toolo Migrate Crystal to the Web o Functional enhancementso Include SharePoint Services 3. True SaaSo Still set up by Prof. Svcs. incremental deployment as needed 4. Complete Technology Migration o .NET Business Objects o .NET Data Access Objects o Optional phase o Complete services set (plus refactored object o Refactor DAOs model, SPROCS, updated UI, etc.) o Active Directory 5. Extreme Scalability Year 1 2H Year 2 2H Year 3 1H Year 3 2H
KEY LESSONS LEARNED
SUMMARY OF KEY SAAS ENABLEMENT STEPS Key Step Key Elements of Step Target market requirements and timing Identify business objectives o o Business process changes o Licensing model SaaS planning and development experience Determine outsourcing strategy o o Value-added onshore presence o Current product support Phased approach vs “big-bang” Develop high-level SaaS product o o New features needed for this market roadmap Current product SaaS suitability assessment Determine technology approach and o o Key technologies to be used software architecture o Architecture considerations Phases and deliverables, including “sprint” plans Develop overall project plan, including o o Resources, schedule, cost infrastructure plan o Infrastructure needed Minimum necessary to keep product competitive Plan and provide existing product o o Balance resources between existing product and SaaS support enablement
CorSource Technology Group Eileen Boerger firstname.lastname@example.org (503) 726-4560 www.corsource.com
Presented by:THANK YOU Eileen Boerger email@example.com 503-726-4560 www.CorSource.com