The Azure Services Platform: A Perspective

Size: px
Start display at page:

Download "The Azure Services Platform: A Perspective"

Transcription

1 The Azure Services Platform: A Perspective Lisbon, November 17, 2008 David Chappell Chappell & Associates

2 Agenda Cloud Platforms: The Big Picture The Azure Services Platform Windows Azure.NET Services SQL Services Live Services Platforms Today

3 Cloud Platforms: The Big Picture

4 What is Cloud Computing? Today, applications commonly run: On-premises, i.e., within an organization At a hoster Cloud computing adds another option Cloud services are provided by an outside organization Examples: Microsoft, Google, Amazon How those services are used can sometimes have advantages over on-premises or hosted computing

5 Categorizing Cloud Services A simple taxonomy Software as a Service (SaaS) The application runs in the cloud Example: Salesforce.com Attached services The application runs on-premises, with extra functions provided in the cloud Example: Exchange Hosted Services Cloud platforms Provide cloud-based support for applications running in the cloud or on-premises Examples: Microsoft Azure Services Platform, Amazon Web Services

6 Categorizing Cloud Services An Illustration Software as a Service (SaaS) Attached Services Cloud Platforms Cloud Extra Functions Platform Onpremises Browser/ Client Users Users Developers

7 Evaluating SaaS s Potential benefits Less financial risk No large up-front investment required Can often try before you buy Lower costs (initially, at least) No license to buy; pricing is usage-based Fixed capital expenses become variable operating expenses Faster deployment Higher reliability (sometimes) Easier upgrades

8 Evaluating SaaS s Potential challenges (1) Trust Can this service provider be trusted? Will they protect my data? Regulatory and compliance issues Can the provider ensure compliance with any relevant regulations? Customization How much is possible?

9 Evaluating SaaS s Potential challenges (2) Integration How can a SaaS application be connected with applications in the enterprise? Identity Is identity federation supported? Management How can a SaaS application be monitored? Supporting users Who runs the help desk?

10 The Role of Cloud Platforms SaaS applications must run on some cloud platform Why should each SaaS vendor have to build its own platform? Enterprise applications can also take advantage of cloud platforms A variety of cloud platforms are appearing One example is the Azure Services Platform

11 The Azure Services Platform

12 The Azure Services Plaform An illustration.net Services s Windows Azure SQL Services Live Services s Windows Server Windows Vista/XP Windows Mobile Others

13 Windows Azure Windows in the cloud Compute Storage Config Fabric.NET Services s SQL Services Windows Azure Live Services s Windows Server Windows Vista/XP Windows Mobile Others

14 .NET Services Infrastructure in the cloud Access Control? Service Bus Workflow.NET Services s SQL Services Windows Azure Live Services s Windows Server Windows Vista/XP Windows Mobile Others

15 SQL Services Database services in the cloud SQL Data Services Others (Future).NET Services s SQL Services Windows Azure Live Services s Windows Server Windows Vista/XP Windows Mobile Others

16 Live Services And the Live Framework Live Services Live Operating Environment Data Sync.NET Services Live Operating Environment s SQL Services Windows Azure Live Services s Windows Server Windows Vista/XP Windows Mobile Others

17 The Azure Services Platform: Windows Azure

18 Windows Azure Basics The goal of Windows Azure is to provide a platform that is scalable and available Windows Azure can potentially provide various kinds of Windows-based environments The November 2008 Community Technology Preview (CTP) supports only.net applications More will appear before general availability Such as support for unmanaged code

19 Windows Azure Compute Service A closer look Web Role Worker Role HTTP Load Balancer IIS ASP.NET, WCF, etc. main() { } Agent Agent Windows Azure Fabric Compute Storage Fabric VM

20 Windows Azure Compute Service Points of interest The VMs are provided by a cloud-optimized hypervisor They run 64-bit Windows Server 2008 Each VM has a one-to-one relationship with a processor core For developers: It s mostly standard.net A few things require accessing the Windows Azure Agent, e.g., logging A desktop replica of Windows Azure in the cloud is provided for development

21 Windows Azure Storage Service A closer look HTTP Blobs Tables Queues Compute Storage Fabric

22 Windows Azure Storage Points of interest Storage types: Blobs: a simple hierarchy of binary data Tables: hierarchical storage (not relational tables) Queues: allow communication among web and worker role instances Access: Data is exposed via a RESTful interface With a query language based on the LINQ C# syntax Data can be accessed by: Windows Azure applications Other on-premises or cloud applications

23 Windows Azure Storage A closer look at tables Table Table Table... Entity Entity Entity... Storage Accounts Property Property Property Name Type Value

24 Using Queues The suggested application model To scale, add more of either 1) Receive work Web Role ASP.NET, WCF, etc. Worker Role main() { } 4) Do work 2) Put work in queue 3) Get work from queue Queue

25 Using Windows Azure Some examples A start-up might create a new Web application on Windows Azure They can fail fast or scale fast An ISV might create a SaaS version of an existing.net application on Windows Azure It s.net, so porting the code is doable An enterprise might build a new application on Windows Azure It s.net, so developers are plentiful

26 Alternative Platforms Amazon Elastic Compute Cloud (EC2) Provides VMs that can run Linux or Windows EC2 VM Windows Azure CTP VM Your Your Storage Your Linux or Windows Windows Server 2008 Windows Azure Storage Windows Azure Fabric

27 Alternative Platforms Google AppEngine Supports Python Web applications Provides non-relational storage Google AppEngine Windows Azure CTP Web GQL Web Role Worker Role Python Runtime AppEngine Storage Windows Server 2008 Windows Azure Storage Windows Azure Fabric

28 Alternative Platforms Salesforce.com Force.com A data-driven platform for enterprise business applications Uses Apex, a Salesforce.com-defined language Provides non-relational storage Enterprise SOQL Force.com Runtime Force.com Storage

29 Pricing An example: Amazon EC2 Linux VM Varies based on VM memory and processing power $0.10/hour to $0.80/hour Windows VM $0.125/hour to $1.20/hour With Authentication Services: $0.25/hour to $2.00/hour Required for more than 5 Windows accounts With SQL Server Standard Edition: $1.10/hour to $2.40/hour With authentication services: $1.35/hour to $3.20/hour

30 Pricing More examples Google AppEngine: Not yet announced Salesforce.com Force.com: Enterprises: $25 per user per month Public internet: $1,000/month for 1 million page views $3,000/month for 5 million page views Microsoft Windows Azure: Not yet announced Microsoft says it will be usage-based and competitive Might vary with your service level agreement (SLA)

31 Evaluating Cloud App Platforms Potential benefits Pay only for the computing resources you use No financial commitment Can quickly grow on demand And handle spikes in load Can provide a specialized platform designed for scalability and availability

32 Evaluating Cloud App Platforms Potential challenges Vendor lock-in A cloud platform vendor can shut down your app if you don t pay whatever they demand May require learning a new programming model With a limited developer ecosystem Choosing a safe platform Which ones will survive?

33 Categorizing the Options A simple taxonomy Hosting Physical machines run by a service provider Example: Many VMs in the cloud Virtual machines run by a service provider Example: EC2 Cloud-specific platforms Software run by a service provider that s designed to support highly scalable and available applications Example: Windows Azure

34 Categorizing the Options Comparing some aspects Hosting VMs in the Cloud Cloud-Specific Platforms Customer commits to resources New resources deployed immediately Support for high scalability and availability Can run onpremises apps unchanged Yes No No No Yes Yes No No Yes Yes Yes No

35 The Azure Services Platform:.NET Services

36 The Access Control Service The problem: Different organizations identify users with tokens containing different claims s can be faced with a confusing mess The solution: The Access Control Service implements a security token service (STS) in the cloud It accepts one token and issues another The claims in the outgoing token can differ from those in the incoming token An administrator can define rules for how this claims transformation is done

37 Access Control Access Control Service Rules STS? 3) Return new token 1) Present token 2) STS creates new token according to rules 4) Present new token 5) Use new token to determine what this user can do User Client Access Control Service Bus Workflow

38 The Service Bus The problem: Exposing internal applications on the Internet isn t easy Network address translation (NAT) and firewalls get in the way The solution: Service Bus provides a cloud-based intermediary between clients and internal applications It also provides a service registry that clients can use to find the services they need

39 Service Bus 2) Discover endpoints 3) Access application Service Bus Registry Endpoints 1) Register endpoints Organization X Organization Y Access Control Service Bus Workflow

40 The Workflow Service The problem: Where should workflow logic that coordinates cross-organizational composite apps run? The solution: The Workflow Service runs WF-based workflows in the cloud There are some limits on what WF activities can be used No Code activities, for example

41 Workflow Workflow Service HTTP Service Bus Access Control Service Bus Workflow

42 Using.NET Services Some examples An app that s accessed over the Internet from different organizations might rely on Access Control to rationalize the identity information it receives And to do access control An enterprise might expose an internal application to its trading partners via Service Bus A group of trading partners might use Workflow to automate their cross-organizational business process

43 The Azure Services Platform: SQL Services

44 SQL Services Today: SQL Data Services Formerly known as SQL Server Data Services (SSDS) Data sync Using the Sync Framework In the future: Reporting Analysis Extract/Transform/Load (ETL) services More

45 SQL Data Services HTTP/ SOAP Container Container Container... Entity Entity Entity... Authorities Property Property Property Data Center Name Type Value SQL Data Services

46 An Aside SQL Data Services and Windows Azure storage The way SDS structures data is similar to tables in Windows Azure storage Although there are differences, too Yet the two have different goals Windows Azure storage: Support Windows Azure applications SQL Data Services: Provide a full range of database services in the cloud It s built on SQL Server

47 Querying SQL Data Services SDS data can be accessed via: SOAP REST Optionally, using an ADO.NET Data Services client SDS provides a query language based on the LINQ C# syntax Available operations include ORDER BY and JOIN

48 Using SQL Services Some examples An application might archive older data to SQL Data Services For lower-cost availability An organization might make data available to both in-house and partner apps through SQL Data Services Such as a company with a far-flung dealer network A Web application might divide its data between SQL Data Services and on-premises storage Storing only proprietary data inside the firewall

49 Competitors Today's most visible alternatives Amazon Simple Storage Services (S3) Provides blob storage Primarily competes with Windows Azure storage blobs Although SDS can also store blobs Amazon SimpleDB Provides hierarchical structured storage Competes with Windows Azure storage tables and with SQL Data Services

50 The Azure Services Platform: Live Services

51 What the Live Framework Allows Accessing Live Services data Creating a mesh of devices With Live Services data synchronized across them Creating mesh-enabled Web applications That can run in your browser or on your desktop

52 Live Services and the Live Framework Windows Live s Live Services Hotmail Messenger Contacts Users Devices s Live Framework Your s Calendar... Synchronization Identity Directory Live Operating Environment Other Live s Search Storage Communications and Presence Search Live Mesh Maps Geospatial...

53 Accessing Live Services Data An illustration Live Services Users Devices Your s s Synchronization Identity Directory Storage Live Framework Live Operating Environment HTTP (AtomPub).NET Silverlight JavaScript Communications and Presence Java Search Geospatial Other

54 Accessing Live Services Data Points of interest s can use direct RESTful HTTP calls s can also use a Live Framework Toolkit Provides a language-specific API to Live Services data Microsoft provides toolkits for:.net Silverlight JavaScript Anyone else can create other toolkits

55 Creating a Mesh 1) Add system to user s mesh User Live Desktop Live Operating Environment 2) Download and install Windows Vista/XP Desktop Windows Mobile Device Windows Vista/XP Laptop Macintosh OS X Desktop

56 Using a Mesh Live Services Mesh Desktops/Devices Users Devices s Synchronization Identity Directory Storage Communications and Presence Search Geospatial Cloud Live Operating Environment HTTP Data Sync Live Operating Environment HTTP

57 Mesh-Enabled Web s They re rich Internet applications (RIAs) built using: Silverlight JavaScript Other RIA technologies A mesh-enabled Web application can run: In a browser via the Live Desktop On the desktop in a Live Services-provided host

58 Mesh-Enabled Web s Installing one on a mesh Mesh Live Services Desktops/Devices 2) Install application Mesh- Enabled Web Catalog Cloud Live Operating Environment 3) Synchronize application 1) Find application Live Operating Environment Mesh- Enabled Web Silverlight, others 4) Run application User

59 Using Live Services Some examples A Java application running on Linux might access Live Services data A.NET Framework application might rely on the mesh to synchronize data between the cloud and devices Letting the application work on a local copy of data when it s disconnected A mesh-enabled Web application could let people keep up to date with their friends Using Live Services data feeds and more

60 Industry Context A perspective Google Data APIs (GData) Allow AtomPub-based access to Google application data Google Gears Provides synchronized local/cloud data Adobe Integrated Runtime (AIR) Allows running Flash/Flex RIAs on the desktop

61 Platforms Today: A Summary

62 Defining an Platform A general model Development Tools Storage Integration Identity... Infrastructure Services Local Support Operating System s Foundation Users Services

63 The Microsoft Platform A server-oriented perspective Visual Studio File shares, SQL Server, SharePoint libraries BizTalk Server, MSMQ Active Directory....NET Framework SharePoint SQL Server Dynamics CRM platform Infrastructure Services Microsoft Dynamics Windows Foundation Other s Users Services

64 On-Premises and Cloud Platforms Cloud Cloud Foundation Cloud Infrastructure Services Cloud Services On-Premises On-Premises Foundation On-Premises Infrastructure Services On-Premises Services

65 Microsoft Cloud SQL Services, Windows Azure Storage, SharePoint Online Libraries.NET Services Workflow/ Service Bus Windows Live ID,.NET Services Access Control Cloud Infrastructure Services Windows Azure SharePoint Online Windows Azure Cloud Foundation CRM Online platform Live Services Live Search Virtual Earth Windows Live Photo Gallery Windows Live Contacts CRM Online Cloud Services.NET Framework On-Premises SharePoint Dynamics CRM platform File shares, SQL Server, SharePoint Libraries BizTalk Server, MSMQ Active Directory On-Premises Infrastructure Services SQL Server Windows Dynamics CRM On-Premises Foundation On-Premises Services

66 Amazon Cloud Simple DB, Simple Storage Service (S3) Simple Queue Service (SQS) Amazon Identity Cloud Infrastructure Services Elastic Compute Cloud (EC2) Cloud Foundation Cloud Services On-Premises On-Premises Infrastructure Services On-Premises Foundation On-Premises Services

67 Google Cloud Google Accounts AppEngine Google Data APIs Cloud Infrastructure Services Search Maps Picasa Contacts Cloud Foundation Cloud Services On-Premises On-Premises Infrastructure Services On-Premises Foundation On-Premises Services

68 Salesforce.com Cloud Salesforce.com Identity Services Cloud Infrastructure Services Force.com Cloud Foundation Salesforce.com Cloud Services On-Premises On-Premises Infrastructure Services On-Premises Foundation On-Premises Services

69 Oracle Cloud Cloud Infrastructure Services Oracle DBMS Elastic Compute Cloud (EC2) Cloud Foundation Oracle On Demand s Cloud Services Oracle WebLogic Server On-Premises Oracle Beehive Oracle DBMS Oracle DBMS Oracle ESB, BPEL Process Server, etc. Oracle Identity Management On-Premises Infrastructure Services Oracle s On-Premises Foundation On-Premises Services

70 IBM Cloud Cloud Infrastructure Services Cloud Foundation Cloud Services WebSphere Server On-Premises WebSphere Portal, Domino DB2 AIX, Z/OS, etc. DB2 WebSphere ESB, MQ, WebSphere Process Server Tivoli Identity Management On-Premises Infrastructure Services On-Premises Foundation On-Premises Services

71 Conclusions Cloud platforms are here Microsoft is placing a big bet with the Azure Services Platform A new world is unfolding Prepare to be part of it

72 References Introducing the Azure Services Platform: An Early Look at Windows Azure,.NET Services, SQL Services, and Live Services A Short Introduction to Cloud Platforms: An Enterprise- Oriented View Chappell.pdf

73 About the Speaker David Chappell is Principal of Chappell & Associates ( in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for dozens of events and conferences on five continents, and his seminars have been attended by tens of thousands of IT decision makers, architects, and developers in forty countries. His books have been translated into ten languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin- Madison.