July 15, 2010
description
Transcript of July 15, 2010
July 15, 2010
The Path to SaaS:From On-Premise to On-Demand
Eileen BoergerPresident
Agilis Solutions
A Business Unit of CorSource Technology Group, Inc.
Slide 2On-Premise to On-DemandJuly 15, 2010
How do I most effectively move my product from on-premise to on-demand?
On-premiseSoftware product
On-demandSoftware product
User Interface?
Architecture?
Transaction m
odel?
Database access?
Slide 3On-Premise to On-DemandJuly 15, 2010
Levels of SaaS Maturity
1. Internet-accessible One instance per customer
2. Configurable per customer
3. Multi-tenant efficient
4. Fully scalable, configurable, multi-tenant
Slide 4On-Premise to On-DemandJuly 15, 2010
SaaS Software Layers
Maturity Level 4
Database
Data Access Layer• Data partitioned per customer• Custom data fields• Secure access to data
Presentation Layer
Secu
rit
y
Serv
ices
Busi
ne
ss
Serv
ices
Business Logic
Meta
data
Serv
ices
• Customizable work flow• User-determined security access• Business services – billing,
provisioning, …
Browser/Thin Client • “Branding” for each customer
Slide 5On-Premise to On-DemandJuly 15, 2010
SaaS Software Architecture – CharacteristicsTenant-Configurable (Metadata-driven)
– Presentation: branding– Business logic: workflow– Security: user access control– Database: client-specific extensions
Multi-Tenant Efficient– Business Logic: threaded and pooled– Security: shared but separate– Database: common but isolated
Scalable– Business Logic: stateless, pooled, etc.– Data Access: cached, pooled, asynchronous– Database: partitioned
Operable (Business Services)– OSS: provisioning, monitoring, etc.– BSS: billing, customer care, etc.
Database
Data Access Layer
Secu
rit
y
Serv
ices
Busi
ne
ss
Serv
ices
Presentation Layer
Business Logic
Browser/Thin Client
Meta
data
Serv
ices
Maturity Level 4
Slide 6On-Premise to On-DemandJuly 15, 2010
Key Factors of SaaS Enablement
Factor Considerations
Business and project planning Understand business objectives Assessment of current product and skills needed Incremental project plan
Architectural planning Support for multi-tenancy Scalability and manageability considerations Technical approach and use of current product
Development and service process restructuring
Flexible processes for requirements, change management, development and testing
Customer service model
Well-articulated requirements All or subset of current product features Modernization of user interface Additional features required
Infrastructure migration More flexible and maintainable infrastructure
Existing product support Balance resources between existing product and SaaS enablement – how?
Slide 7On-Premise to On-DemandJuly 15, 2010
Modernize legacy code
Web-enable product
SaaS Enablement StepsSaaS Enablement Steps
Plan SaaS incrementally
Add configurability / product partitions
Add tenant awareness / admin. tools
Enable high scalability
Support legacy
Restructure business processes
Deploy as multi-instance
Decrease infrastructure cost
Enable service-oriented components Levels
of Maturit
y
4
3
2
1
Preparing for SaaS
Slide 8On-Premise to On-DemandJuly 15, 2010
Company X – SaaS Enablement Example
Business NeedsProduct
Development NeedsCurrent Product
Technologies
• Grow business in mid-market with SaaS product
• Deliver SaaS product ASAP
• Help on planning Saas enablement
• Additional resources to develop SaaS product
• Delphi• Crystal Reports• Sharepoint
Slide 9On-Premise to On-DemandJuly 15, 2010
Key Company X Objectives
Priority Objective
High Launch SaaS product ASAP (to capture market share with smaller businesses)
Medium • Move to up-to-date technology• Improve software’s extensibility to partners• Improve user interface and functionality• Support product segmentation / modular
deployment
SaaS Enablement Example
Slide 10On-Premise to On-DemandJuly 15, 2010
Company X Planning Tenets / Assumptions
Leverage existing product (keep large part of design, keep some code initially, re-use stateless architecture)Adopt Microsoft (leverage current code base and skills, provide career path, etc.)Target simpler businesses at launch: nearly complete functionalityContinue to require use of some Professional Services for all new customer deployments Change current GUI for SaaS product (must still provide rich user experience)
Slide 11On-Premise to On-DemandJuly 15, 2010
Company X Primary Technology Choices
AreaSelected
TechnologyRationale
Application Architecture
Microsoft .NET Company X has current skills and foundational architecture. Other option is Java, which provides no significant advantages.
GUI Platform Microsoft ASP.NET
Aligns best with .NET. Scripting / rapid development choices such as PHP or Ruby on Rails do not provide the robustness and flexibility required of enterprise software.
Database Management System
Microsoft SQL Server
Company X has current skills and foundational architecture. SQL Server 2005 has reached par with Oracle, DB2, and open source alternatives (e.g. MySQL) for all but the highest transaction loads.
Slide 12On-Premise to On-DemandJuly 15, 2010
Presentation Application Services Business Persistence Data Storage
Software Architecture – Current Product
Browser
Today
Delphi Visual Components
MicrosoftSQL
Server
ASP.NET
WCF Servic
e
Delphi BOs
Delphi
DAOsCor
e P
rodu
ctE
-Com
mer
ce
Company X
Slide 13On-Premise to On-DemandJuly 15, 2010
Presentation Application Services Business Persistence Data Storage
Software Architecture – Updated Current Product
Browser
Today
Delphi Visual Components
MicrosoftSQL
Server
ASP.NET
.NET Wrapp
erWCF
Service
Delphi BOs .NET
Wrapper
Delphi
DAOsCor
e P
rodu
ctE
-Com
mer
ce
Company X
Slide 14On-Premise to On-DemandJuly 15, 2010
Presentation Application Services Business Persistence Data Storage
Software Architecture – Step to Future Product
Browser
Today
Future
Delphi Visual Components
MicrosoftSQL
Server
ASP.NET
.NET Wrapp
erWCF
Service
Delphi BOs .NET
Wrapper
Delphi
DAOs
Browser
ASP.NET
WCF Servic
e
Cor
e P
rodu
ctE
-Com
mer
ce
Company X
Slide 15On-Premise to On-DemandJuly 15, 2010
Presentation Application Services Business Persistence Data Storage
Software Architecture – Future Product
Browser
Today
Future
Delphi Visual Components
MicrosoftSQL
Server
ASP.NET
.NET Wrapp
erWCF
Service
Delphi BOs .NET
Wrapper
Delphi
DAOs
Browser
MicrosoftSQL
Server
ASP.NET
WCF Servic
e.NET BOs
.NET DAOs
Cor
e P
rodu
ctE
-Com
mer
ce
Company X
Slide 16On-Premise to On-DemandJuly 15, 2010
Phase 1 – Web Enablement
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
• Web UI (ASP.NET)• UI enhancements• Light services layer (WCF)• Use current Delphi BOs/DAOs • Customizability (forms designer, plug-ins, …)• Data integrations (e.g. offline POS)• Migrate Crystal to the Web• Include SharePoint Services
Year 3 1H Year 3 2H
Company X
Slide 17On-Premise to On-DemandJuly 15, 2010
Phase 2 – SaaS Launch
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
Year 3 1H Year 3 2H
• Applic. is multi-tenant-aware• Functional enhancements• Partitionable UI• Separate DB for each tenant
(in a single DB instance)• Load testing
2. SaaS Launch
Company X
Slide 18On-Premise to On-DemandJuly 15, 2010
Phase 3 – Full SaaS Product
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
Year 3 1H Year 3 2H
• Multi-tenant DB• Tenant-aware admin tool• Migration tool• Functional
enhancements• Still set up by Prof. Svcs.
2. SaaS Launch
3. True SaaS
Company X
Slide 19On-Premise to On-DemandJuly 15, 2010
Phase 4 – Technology Migration
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
• .NET Business Objects• .NET Data Access Objects• Complete services set (plus refactored
object model, SPROCS, updated UI, etc.)• Active Directory
incremental deployment as needed
Year 3 1H Year 3 2H
2. SaaS Launch
3. True SaaS
4. Complete Technology Migration
Company X
Slide 20On-Premise to On-DemandJuly 15, 2010
Phase 5 – Extreme Scalability
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
Year 3 1H Year 3 2H
• Consider Oracle• Refactor DAOs
2. SaaS Launch
3. True SaaS
5. Extreme Scalability
4. Complete Technology Migration
Company X
Slide 21On-Premise to On-DemandJuly 15, 2010
Five Phases to SaaS – Company X
Year 1 1H Year 1 2H Year 2 1H Year 2 2H
1. Web Enable
• Web UI (ASP.NET)• UI enhancements• Light services layer (WCF)• Use current Delphi BOs/DAOs • Customizability (forms designer, plug-ins, …)• Data integrations (e.g. offline POS)• Migrate Crystal to the Web• Include SharePoint Services
• .NET Business Objects• .NET Data Access Objects• Complete services set (plus refactored
object model, SPROCS, updated UI, etc.)• Active Directory
incremental deployment as needed
Year 3 1H Year 3 2H
• Multi-tenant DB• Tenant-aware admin tool• Migration tool• Functional
enhancements• Still set up by Prof. Svcs.
• Applic. is multi-tenant-aware• Functional enhancements• Partitionable UI• Separate DB for each tenant
(in a single DB instance)• Load testing
• Consider Oracle• Refactor DAOs
2. SaaS Launch
3. True SaaS
5. Extreme Scalability
4. Complete Technology Migration
Slide 22On-Premise to On-DemandJuly 15, 2010
Use of Outsourcing
Evaluate current product for SaaS suitability
Develop high-level SaaS plans - Product roadmap and project plan
Phase 1 (web enablement) project plan, development and testing
Phases 2 – 5 co-development and testing with internal team
Company X
Slide 23On-Premise to On-DemandJuly 15, 2010
Outsourcing Benefits
Leverage SaaS experience of
vendor
Faster time-to-market
Lower development
costs
• Current product SaaS suitability assessment • Planning• Development• Testing
• Quick vendor team ramp-up• Focused on SaaS deliverables
• Blended onshore/offshore team
Company X
Slide 24On-Premise to On-DemandJuly 15, 2010
Modernize legacy code
Web-enable product
SaaS Enablement StepsSaaS Enablement Steps
Outsourcing ValueOutsourcing Value
Plan SaaS incrementally
Add configurability / product partitions
Add tenant awareness / admin. tools
Enable high scalability
Support legacy
Restructure business processes
Deploy as multi-instance
Decrease infrastructure cost
Enable service-oriented components
Lower fixed costs
Faster to market
Offload routine maintenance
Perform modernization in parallel
Provide SaaS expertise
Improve and extend QA
Slide 25On-Premise to On-DemandJuly 15, 2010
Keys to Successful Outsourcing
Executive-level management champion focused on success of outsourcing
Experienced outsourcing partner with:Value added onshore presence
Strong trusting relationship
Strong management processes:Clearly defined roles and responsibilities Well-defined communications processes
Risk-management throughout the engagementWell-managed requirements
Continuous integration with current product development
Slide 26On-Premise to On-DemandJuly 15, 2010
Summary of Key SaaS Enablement Steps
Key Step Key Elements of Step
Identify business objectives Target market requirements and timing Business process changes
Determine outsourcing strategy SaaS planning and development experience Value-added onshore presence Current product support
Develop high-level SaaS product roadmap
Phased approach vs “big-bang” New features needed for this market
Determine technology approach and software architecture
Current product SaaS suitability assessment Key technologies to be used Architecture considerations
Develop overall project plan, including infrastructure plan
Phases and deliverables Resources, schedule, cost Infrastructure needed
Plan and provide existing product support
Minimum necessary to keep product competitive Balance resources between existing product and
SaaS enablement
Slide 27On-Premise to On-DemandJuly 15, 2010
The Path to SaaS:From On-Premise to On-Demand
Slide 28On-Premise to On-DemandJuly 15, 2010
Agilis Solutions provides software engineering, maintenance and testing services for companies who build software, primarily Independent Software Vendors serving the high technology, security, healthcare, financial, distribution, transportation, telecommunications, and manufacturing industries.
Our unique blended delivery model combines locally based, highly trained project managers from America with a world-class software development center located in Vietnam.
www.agilissolutions.com
Slide 29On-Premise to On-DemandJuly 15, 2010
www.agilissolutions.com
?????
???