1 SaaS For Developers : Abhijit Gadkari , Enterprise Architect , AM Image Ref : http://fredchong.members.winisp.net/Shared%20Documents/SaaS%20Provider%20Long%20Tail.JPG Software As Service [SaaS] “Intel sees that Software as a Service is changing the way that people use software and the underlying technologies. They wanted to get close to the SaaS companies and see how their product could be used more effectively for them,” http://www.ebizq.net/blogs/firstlook/2006/09/intel_leads_20m_funding_of_op A Different Business Model !
This presentation is based on my article “The extended Application Service Provider Service Model” in the December 2006 issue of the “Perspectives of the IASA” magazine
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
“Intel sees that Software as a Service is changing the way that people use software and the underlying technologies. They wanted to get close to the SaaS companies and see how their product could be used more effectively for them,” Opsource CEO Treb Ryan http://www.ebizq.net/blogs/firstlook/2006/09/intel_leads_20m_funding_of_ops.php
•ComScore estimates that Americans made 6.6 billion online searches in April
2006
•eBay reported record consolidated Q4-06 net revenues of $1.7 billion, representing
a growth rate of 29% year over year.
•PageZero Media estimated that paid search advertising market was
in the range of $15 billion USD in 2006
•Lulu.com says it publishes 2300 books a month
•“ATA's site went live in May 2002…it often racks up $100,000 in sales in an hour “
•Salesforce.com has 27,100 Customers, 56,000 Subscribers and supports
12 Languages
Information collected fromEbay: http://files.shareholder.com/downloads/ebay/88723301x0x69405/2cbacae7-15cf-46fb-9a19-a89664d4e591/eBayIncEarningsReleaseQ42006.pdfSalesforce.comLulu.comFrom Niches to Riches:The anatomy of the Long Tail
Supply & Demand: Software Pricing By Jeffrey Rothfeder , e-week February 26, 2004
The phrase The Long Tail was first coined by Chris Anderson in an October 2004 Wired magazine article. It describe certain business and economic models such as Amazon or Netflix.
Long Tail Vs Pareto Principle a.k.a. 80/20 Rule
80/20 rule says a small proportion (e.g. 20%) of a company’s products often generates a large proportion (e.g. 80%) of company’s sales.
Long Tail says effectiveness of distribution channel will decide the company’s sales.Factors like search cost, shelf space, recommendation system, etc. will be important.
Source: “Goodbye Pareto Principle, Hello Long Tail: Modeling and Measuring the Effect of Search Cost on Product Sales and Distribution by Brynjolfsson et al.
Product Category Large Online Retailer holds Large Brick-and-Mortar Store holds
Traditional ASP : Client - Server App where Server is hosted by Service Provider.Business Model is based on Economy of Scale e.g. TurboTax On-Line app. SaaS : Each App instance is customized for every customer using metadata and templates / config files. Business Model is based on Economy of Scale and Scope. e.g. Remend.com
SaaS can be implemented as a web service, but need not be a web service…
1
2
nAchieving economy of scale by sharing the resources.
“Software deployed as a hosted service and accessed over the Internet.” From: Architecture Strategies for Catching the Long Tail By Chong & Carraro , Microsoft Corporation
Service provider owns the software.Customer owns the Data.
9
Data
Application Framework [Web service Model]
Software As Service [SaaS]
Data Access
Business Logic
Business Facade
Listener /UI
Web S
ervice
Service Request Service Response Get Contract
From : A Roadmap to the Microsoft Platform
CRUD
If Discount = 10% price = price-(price* .10)
Workflow , Rules EngineBizTalk / Web sphere
Traditional API, etc.
Database API,ODBC, JDBC, etc
Oracle , SQL Server, MySQL,DB2etc.
ASP ,PHP, JSP,Web Services,
etc.
10
SaaS Database Architecture [Isolate Customer Data == TRUST]
Software As Service [SaaS]
1,2…n
1
2
n
Customercustomer_id
customer_level
customer_is_valid
Customer_Detailscustomer_id
customer_name
customer_address1
customer_address2
customer_city
customer_zip
customer_state
customer_billing_contact
customer_admin_contact
Customer_Usersuser_id
customer_id
user_name
user_pass_iv
user_encrypted_pass...
user_role_id
User_Detailsuser_id
first_name
last_name
employee_id
employee_manager_id
employee_email_idOne Database for all the Customers One Database
Per Customeruse SaaSselect * from customerwhere customer_id = 1and customer_is_valid ='true‘go
use [SaaS.Customer1]select * from customergo
Logical Partitioning Physical Partitioning
This schema is more suitablefor logical partitioning.Think about how will you Manage
Database Connection[s] at app level. Refer to Multi – Tenant Data Architecture from MSDN for additional info.
11
SaaS Database Architecture [Isolate Customer Data == TRUST]
Software As Service [SaaS]
Important considerations :Static vs. Dynamic SchemaHow much schema customization is allowed? [i.e. how will you handle the request for additional fields / custom columns]
Encryption RequirementsHaving standard encryption policy will result in better customization. How will You handle a request for storing SSN?
ScalabilityScaling Up vs. Scaling OUT [Same functionality for more users against More functionality for same users ]. What is a Backup / Replication / Fail-Over policy?
Database Size and StorageMinimum and Maximum Database size allowed. [Not a big thing]Storage : SAN , NAS , DAS etc. [SCSI, SAS, and Fiber Channel]
Locking Mechanism / Monitoring and Reporting EnvironmentOptimize locking mechanism and partition data for better performancehttp://trust.salesforce.com/
12
SaaS Security Model
Software As Service [SaaS]
Customer – User [username / password]
Customer – Admin[Manage users accounts]
Service Provider – Customer Admin[Mange group of customer accounts]
Service ProviderSubject MatterExperts [SME]
Manage Application modules / application domain
Effective Model:Role base SecurityPartition customer data
Encrypted passwordAuthenticate Once –Authorize on each Web Page
13
SaaS Demo Application Framework
Software As Service [SaaS]
Demo will be based on following Technology
•SQl Server 2005 •VS 2005 [ASP.NET 2.0 and C#]• AJAX •HTTP Endpoints / Web Service [http.sys]
Action Plan : Unlock the Value of your Software!
• Create C# assembly for SHA512Managed();• Register the assembly in SQL 2005 [SQL- CLR integration]• Create a T-SQL Function that will utilize SHA512Managed();• Create HTTP Endpoint to tie the Function with authentication Web service• Test the WSDL• Create a Web Application [AJAX enabled using ASP.NET] and add web reference• Add Master Page and AJAX Script Manager and Update Panel• Update web.config• Test the authentication service inside our web application
NO IISNO ADO.NET
14
SaaS Challenges
Technical Identifying development platform - .NET / Java / LAMP / Perl etc[ Workday vs Remend]
BusinessIdentifying right business model – Open Source / Proprietary / Shareware [SugerCRM / SalesForce]• Pricing Model [Selling number of concurrent users licenses, pay per use, etc.]• Modules / Features offering• Time to Market• Maintaining Brand Quality and Loyalty• Software purchased in any way other than as a perpetual license is viewed as a
business cost, as opposed to a depreciable capital expense, and must be accounted for on profit-and-loss statements. [source: Supply & Demand: Software Pricing By Jeffrey Rothfeder , e-week issue of February 26, 2004]
Software As Service [SaaS]
15
Important Questions?
What is the difference between selling a book or CD over Internet and offeringSoftware Service over Internet? Should service be passive or active?
Will the business model of Amazon or Netflix work for Software vendors? [Likeoffering Operating System on Demand] How to build TRUST in SaaS model? Governance Model for SaaS?
Impact of market forces like competition, barrier to entry and legal framework [patent issues] on SaaS ?