Understanding Software + Services: A Perspective David Chappell Chappell & Associates www.davidchappell.com

  • View

  • Download

Embed Size (px)

Text of Understanding Software + Services: A Perspective David Chappell Chappell & Associates...

Title of Presentation

Understanding Software + Services:A PerspectiveDavid ChappellChappell & Associateswww.davidchappell.com1Introducing Software + ServicesA Closer Look at ServicesApplication Platforms in an S+S WorldAgenda11/11/2007 11:17 PMIntroducing Software + Services3Software + ServicesThe basicsEnterprises today primarily use software that they run themselvesCommonly known as on-premises software

Software as a service (SaaS) is becoming a more important part of enterprise ITEnterprises are moving toward a mixed world of software + services (S+S)

S+S = On-premises software + software as a service

EnterpriseServer SoftwareDesktop SoftwareOn-premises SoftwareService ProviderServer SoftwareServices

InternetIllustrating S+SMicrosoft ExchangeAn S+S exampleEnterprise YEnterprise ZMicrosoftExchange Hosted ServicesEnterprise X

InternetService ProviderExchange ServerExchangeServerExchangeServerOutlookOutlookOutlookMicrosoft Dynamics CRMAnother S+S example Enterprise YEnterprise ZEnterprise XDynamics CRMOutlook/ BrowserOn premisesPartner HostedCRM Live

Service ProviderDynamics CRMMicrosoftDynamics CRMOutlook/ BrowserOutlook/BrowserS+S and SOAAn AsideHow S+S relates to SOA depends on what you think SOA isSome possibilities:SOA refers only to services provided inside an organizations firewallIt encompasses just the on-premises software part of S+SSOA refers to services provided both inside an organization and by its business partnersIt encompasses the on-premises software part of S+S and some of the SaaS aspectsSOA refers to all services wherever theyre providedSOA and S+S encompass the same thingsLiving in an S+S WorldEnterprises will use a mix of on-premises software and servicesThat mix will vary across organizations

Much that is currently done on-premises might be moved to servicesMail and CRM are early examples9A Closer Look at Services10Evaluating ServicesPotential benefitsLower costsNo up-front license to buyUsage-based pricing is commonFaster deploymentLess financial riskNo large up-front investment requiredCan often try before you buyHigher reliabilityAt least for some organizationsEasier upgrades11Evaluating ServicesPotential challenges (1)TrustCan this service provider be trusted?DataHow safe is it?Regulatory and compliance issuesCan the provider ensure compliance with any relevant regulations? IntegrationHow can a SaaS application be connected with applications in the enterprise?12Evaluating ServicesPotential challenges (2)CustomizationHow much is possible?IdentityIs identity federation supported?ManagementHow can a SaaS application be monitored?Supporting usersWho runs the help desk?

13Kinds of ServicesBusiness vs. consumerConsumer services:Often ad-supportedMay not be perfectly reliableBusiness services:Paid for directlyProbably have a service-level agreement (SLA)

Microsoft divides these into two families:Live services target consumersOnline services target businesses14Kinds of ServicesA business vs. consumer example: Google AppsProvide email, calendaring, document creation, etc.

Available in two editions:StandardFree (ad-supported)Premier$50 per user per year99.9% uptime guarantee for emailSupports identity integration with enterprisesProvides a help desk

15Kinds of ServicesSingle-tenant vs. multi-tenantSingle-tenant application:A service provider offers a unique instance of an application for each organization that uses itPros: Allows better isolationCons: Can be more expensive because the service provider cant share as much

Multi-tenant application:A service provider offers a shared instance of an application for all organizations that use itPros: Can be cheaperCons: Allows less isolation

Service ProviderComputerSingle-Tenant Application ComputerSingle-Tenant Application ComputerSingle-Tenant Application

InternetEnterprise Y Enterprise Z Enterprise X Illustrating Single-Tenancy17Service ProviderComputerMulti-Tenant Application

InternetEnterprise Y Enterprise Z Enterprise X Illustrating Multi-Tenancy18The ISV Decision Creating an application as on-premises softwareThe application must be tested in all of the environments in which it will runPerhaps on multiple operating systemsThe application must be installed at each customer Updating the application requires changing installed code at each customers sitePerhaps multiple copies of that code at each siteThe applications performance and reliability depend in part on the environment in which the customer runs itIts out of the ISVs controlThe ISV DecisionCreating an application as SaaSThe application will run in only one environmentAnd so need be tested only for that environmentThe application can be immediately available to any customer with Internet access anywhere in the worldFor browser-accessible applications, no installation at customer sites is requiredUpdating the application requires changing only one copy of the code The service provider controls the environment in which the application runsThe ISV might do this itselfIt might rely on a specialized service provider to do this20Salesforce.comAn example SaaS ISVSalesforce.com is the poster child for SaaS ISVsIt provides CRM as a SaaS application

The company has:More than 30,000 customersMore than $600 million in annual revenueAlthough just over $5 million in profit21Enterprises and SaaSWhy shouldnt enterprises also create custom SaaS applications?Many of the benefits an ISV gets from building a SaaS application also apply to the enterpriseSomeone else is responsible for running the applicationThe enterprise can pay the service provider for extra capacity only when neededSuch as during the Christmas rush

Both ISVs and enterprises can benefit from a platform created specifically to support SaaS applications22Application Platforms in an S+S World23

Service ProviderEnterpriseApplicationApplicationSaaSPlatformApplicationOn-premises PlatformApplicationApplication Platforms for S+SOn-premises and SaaS24A SaaS platform runs custom applications on servers in the cloudApplication

SaaSPlatformService ProviderBrowser or Other ClientEnterpriseHTTP, SOAP, OtherIllustrating a SaaS Platform25An application that only offers programmable services isnt the same thing as a SaaS platformAlthough SaaS platforms commonly allow access in this wayProgrammableServiceService ProviderService ProviderOn-premises PlatformEnterpriseCustom ApplicationWeb Services

ProgrammableServiceExposing Programmable ServicesAn aside26Supporting ApplicationsWhat an application platform can provide ComputingOperating systemApplication services StorageFile systemDBMS

IntegrationConnectivity, workflow, etc.Supporting ApplicationsOn-premises platform technology examples ComputingOperating system: Windows, LinuxApplication services: .NET Framework, Java EE app server StorageFile system: Windows NTFS, Linux file systemDBMS: SQL Server, Oracle

IntegrationConnectivity, workflow, etc.: BizTalk Server, WebSphere Process ServerSupporting ApplicationsSaaS platform technology examples ComputingOperating system: Amazons Elastic Compute Cloud (EC2)Application services: Salesforce.coms Force.com, Microsofts Dynamics CRM platform

StorageFile system: Amazons Simple Storage Service (S3)DBMS: ?

IntegrationConnectivity, workflow, etc.: Microsofts BizTalk Services29Amazons EC2Operating systems in the cloudProvides customer-specific Linux instances running in virtual machines

Each customer is charged based on the compute resources it usesCurrently provides no SLA

Relies on Amazon S3 for storageSalesforce.coms Force.comApplication services in the cloudAimed at creating data-oriented business applications Supports multi-tenant applications

Provides Apex, its own programming language,

Also provides AppExchangeA directory for finding, test-driving, and subscribing to SaaS applications built on Salesforce.coms platformIts an example ISV partner model for SaaS

Dynamics CRM Live PlatformApplication services in the cloudAimed at creating data-oriented business applications

Allows defining logic using:C#/VBWindows Workflow Foundation

Lets applications be deployed wherever Dynamics CRM is runningOn-premises, partner-hosted, or Microsoft-hosted (CRM Live)

Looking Ahead: Microsofts OsloOn-premises and SaaS application servicesOslo is a group of Microsoft investments across a number of areasModelingServicesMoreIt will provide a common platform for on-premises and SaaS applicationsThis will allow:Using the same developer skills and tools for creating on-premises and SaaS applicationsMoving applications from enterprise to service provider (and back)Amazons S3A file system in the cloudS3 allows storing Objects in BucketsMuch like storing files in directoriesExample RESTful operations:GET Object: returns the contents of this objectGET Bucket: returns a list of objects in this bucketGET Service: returns a list of all of your bucketsPUT Object: creates a new objectPUT Bucket: creates a new bucketDELETE Object: deletes an objectDELETE Bucket: deletes a bucketAmazon offers an SLA for S334Microsofts BizTalk ServicesIntegration in the cloudProvides:ConnectivityIn a firewall-friendly fashionIdentityWorkflow (soon)Microsoft sometimes calls BizTalk Services an Internet Service Bus (ISB)Its not yet a commercial productBut it will be35EnterpriseApplicationBizTalk ServerApplicationMessagingIllustrating BizTalk ServerIntegration in the enterpriseWorkflow

36BizTalk ServicesService ProviderEnterpriseWorkflow


InternetApplicationApplicationApplicationConnectivityIllustrating BizTalk ServicesIntegration in the cloud37On-premises SoftwareSoftware as a ServicePlatformApplicationsMicrosoft(.NET Framework, SQL Server, BizTalk Server)IBM(WebSphere, DB2)Oracle(Fusion, DBMS)Oracle(App