July 15, 2010

29
July 15, 2010 The Path to SaaS: From On-Premise to On-Demand Eileen Boerger President Agilis Solutions A Business Unit of CorSource Technology Group, Inc.

description

The Path to SaaS: From On-Premise to On-Demand. Eileen Boerger President Agilis Solutions. July 15, 2010. A Business Unit of CorSource Technology Group, Inc. How do I most effectively move my product from on-premise to on-demand?. On-demand Software product. User Interface? Architecture?. - PowerPoint PPT Presentation

Transcript of July 15, 2010

Page 1: 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.

Page 2: July 15, 2010

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?

Page 3: July 15, 2010

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

Page 4: July 15, 2010

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

Page 5: July 15, 2010

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

Page 6: July 15, 2010

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?

Page 7: July 15, 2010

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

Page 8: July 15, 2010

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

Page 9: July 15, 2010

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

Page 10: July 15, 2010

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)

Page 11: July 15, 2010

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.

Page 12: July 15, 2010

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

Page 13: July 15, 2010

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

Page 14: July 15, 2010

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

Page 15: July 15, 2010

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

Page 16: July 15, 2010

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

Page 17: July 15, 2010

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

Page 18: July 15, 2010

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

Page 19: July 15, 2010

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

Page 20: July 15, 2010

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

Page 21: July 15, 2010

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

Page 22: July 15, 2010

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

Page 23: July 15, 2010

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

Page 24: July 15, 2010

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

Page 25: July 15, 2010

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

Page 26: July 15, 2010

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

Page 27: July 15, 2010

Slide 27On-Premise to On-DemandJuly 15, 2010

The Path to SaaS:From On-Premise to On-Demand

Page 28: July 15, 2010

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

Page 29: July 15, 2010

Slide 29On-Premise to On-DemandJuly 15, 2010

Ask [email protected]

www.agilissolutions.com

?????

???