HES-SO Master of Science in Engineering Cloud Computing Academic year 2014/15
Introduction Definition of SaaS: Deliver software and data as a service over the Internet, via a thin program such as a browser that runs on local client devices, instead of an application binary that must be installed and runs wholly on that device. Advantages for the user of SaaS apps: No need to install the application, now worries about adequate hardware or operating system. Data is kept with the service, no worries about back up, data loss due to hardware malfunction or losing the device (phone or tablet). Advantages for the developer of SaaS apps: Only a single copy of the server software runs in a uniform, tightly-controlled hardware and operating system environment selected by the developer. No compatibility hassles of binaries that must run on a wide range of computers and operating systems. Since only developers have a copy of the software, they can upgrade the software and the underlying hardware frequently. Developers can test new versions of the application on a small fraction of the real customers temporarily. When a group of users wants to collectively interact with the same data, SaaS is the natural vehicle. When the data is large and/or updated frequently, it may make more sense to centralize data and offer remote access via SaaS. 2
The provider perspective SaaS places three demands on the IT infrastructure of the provider: High-bandwidth connectivity, to allow any customer to interact with the service Scalability, in that the central facility running the service must deal with fluctuations in demand and allow to add new users rapidly Availability, in that both the IT and communication infrastructure must be continuously available, "24 x 7" These demands are hard to meet with conventional infrastructure, but easy to meet with cloud computing, for example IaaS or PaaS cloud services Most SaaS providers abandon conventional infrastructure Frequent upgrades of SaaS due to only having a single copy of the software perfectly align with the Agile software lifecycle Most SaaS providers adopt agile methodology for software development Huge acceleration in the software upgrade cycle 3
SaaS considered mature, Gartner Hype Cycle for Cloud Computing, 2012 4
Market SaaS is the biggest and fastest growing cloud service model Source: Cisco Global Cloud Index, 2013-2018 5
SaaS categories Source: Forrester 2015 tech market outlook 6
Players and example services Company Adobe Amazon Google HP IBM Microsoft NetSuite Oracle Salesforce.com SAP Workday 7 Services Adobe Creative Cloud, Adobe Marketing Cloud WorkSpaces, WorkDocs, WorkMail Google Docs, Google Maps, Google Mail, Google Calendar Agile Manager, Application Defender, AppPulse Active, AppPulse Diagnostics, AppPulse Mobile, Fortify on Demand, HP Digital Customer Experience IBM Verse, IBM Maas360, IBM Watson Analytics, IBM Silverpop Engage, IBM Talent Suite, Cloudant MS Office Online, MS OneDrive, Dynamics CRM Online NetSuite Enterprise Resource Planning, NetSuite Customer Relationship Management, SuiteCommerce, NetSuite Professional Services Automation Oracle {Human Resources, Customer Experience, Enterprise Resource Planning, Enterprise Performance Management, Supply Chain Management, Analytics, Applications} Cloud Sales Cloud, Service Cloud, Data Cloud, Marketing Cloud, Collaboration Cloud, Analytics Cloud, Custom Cloud SAP Solutions for Human Resources, Finance, Sourcing and Procurement, Sales, Service, Marketing, Commerce, SAP Collaboration Tools, Ariba Network Financial Management, Human Captial Management, Insight Applications, Professional Services Automation, Student
Example: Salesforce.com Founded in 1999 by former Oracle executive Marc Benioff Initial product: Customer Relationship Management (CRM) offered as a service First company to offer SaaS to enterprises Acquired Heroku, a PaaS provider, in 2010 Data centers located (or planned) in California, Virginia, Atlanta, Canada, Singapore, Japan, UK, France and Germany Market capitalization in 2015 $50B 8
Salesforce What is Customer Relationship Management? Customer relationship management (CRM) is about managing the relationships a company has with its customers or potential customers. Its goal is getting and keeping customers. Establish ongoing contact with customers. Learn more about customer's behavior. Develop strong, lasting relationships that benefits company and customer. CRM interacts also with other areas of a company such as marketing and customer service. Sales force management processes include: Setting targets and objectives based on inputs Assigning factors responsible for achieving objectives Control processes for ensuring objectives are being achieved within a given time frame or a given context (customers and/or markets) 9
Criticism "With SaaSS, the users do not have a copy of the executable file: it is on the server, where the users can't see or touch it. Thus it is impossible for them to ascertain what it really does, and impossible to change it. SaaS inherently gives the server operator the power to change the software in use, or the users' data being operated on." Richard Stallman, "Who does that server really serve?", Boston Review, March 2010 10
Client adoption challenges Data security: Client has to trust the service provider regarding confidentiality, integrity and availability of data Latency: Clients access application server over the Internet, the connection may not be available or slow. Limited customizability: Service provider designs service for the biggest possible market. Extensive customizations are not economically feasible. Costly or risky integration with client's current data: Some business applications require that existing data be integrated (e.g., customer, employee, product data). Integration may be technically difficult and may conflict with data governance regulations. Danger of lock-in: Switching SaaS vendors requires export of all data and transfer to a new vendor. If that is too cumbersome, the client is locked in. Forced to adopt new versions: The upgrade cycle of new versions is completely controlled by the service provider. Client is no longer able to postpone upgrades to organize training for employees or avoid regressions in functionality. 11
Avoiding vendor lock-in Data portability The severity of vendor lock-in depends on how hard or easy it is port data from one service / application to another. Before adopting a SaaS solution a company needs to ask the following questions: Are data import and export functions provided? Is the exported data complete? Is the data in a standard format? Is the schema of the data properly documented? Source: Salesforce1 Sales Objects data model, https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_erd_majors.htm 12
Acknowledgements Some material taken from Armando Fox and David Patterson, Engineering, Strawberry Canyon, 2014 13