Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sky High With Azure


Published on

Join us for a deep dive into Windows Azure. We’ll start with a developer-focused overview of this brave new platform and the cloud computing services that can be used either together or independently to build amazing applications. As the day unfolds, we’ll explore data storage, SQL Azure™, and the basics of deployment with Windows Azure. Register today for these free, live sessions in your local area.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Sky High With Azure

  1. 1. Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform<br />Clint Edmonson<br />Architect Evangelist<br />Microsoft<br /><br />
  2. 2. Sessions<br />Session 1 – Introduction to Windows Azure<br />Session 2 – Azure Data Storage Options<br />Session 3 – Construction to Deployment<br />
  3. 3. Session 1:Introduction to Windows Azure<br />
  4. 4. Agenda<br />Understanding Windows Azure<br />Core Services<br />Getting Started<br />Roles<br />Developing Azure Applications<br />
  5. 5. Agenda<br />Understanding Windows Azure<br />Core Services<br />Getting Started<br />Roles<br />Developing Azure Applications<br />
  6. 6. What is Cloud Computing?<br /><ul><li> A New Style of Computing</li></ul> Utility Model with Consumption Based Pricing<br /><ul><li> Hosting, Storage, Database, Other Services
  7. 7. Software as a Service (SaaS)
  8. 8. On-Demand Scale - Mammoth Capacity
  9. 9. High Availability and Reliability
  10. 10. Self-Service Management
  11. 11. Real and Here to Stay</li></ul> Additive to the Enterprise, Not Replacing<br />
  12. 12. Why Are We Here?Because Cloud Computing is Huge<br />For Microsoft:<br /><ul><li>1 billion: Windows Live ID authentications each day
  13. 13. 3 to 4 billion: the # of emails filtered daily from >6 million mail boxes by Forefront
  14. 14. 2 billion: the # of queries each month on Bing
  15. 15. 450 million:Hotmail users (now 15 years old)
  16. 16. 100 million:users that get Windows Update worldwide, (now 12 years old)
  17. 17. 20 million:Xbox Live users (now 9 years old)
  18. 18. +400,000: square footage of our new datacenters</li></ul>For You:<br />A new paradigm in computing<br />
  19. 19. Platform Continuum<br />On-Premises<br />Servers<br />Hosted Servers<br />Cloud Platform<br /><ul><li>Bring your own machines, connectivity, software, etc.
  20. 20. Complete control
  21. 21. Complete responsibility
  22. 22. Static capabilities
  23. 23. Upfront capital costs for the infrastructure
  24. 24. Renting machines, connectivity, software
  25. 25. Less control
  26. 26. Fewer responsibilities
  27. 27. Lower capital costs
  28. 28. More flexible
  29. 29. Pay for fixed capacity, even if idle
  30. 30. Shared, multi-tenant infrastructure
  31. 31. Virtualized & dynamic
  32. 32. Scalable & available
  33. 33. Abstracted from the infrastructure
  34. 34. Higher-level services
  35. 35. Pay as you go</li></li></ul><li>IaaS, PaaS and IaaS<br />Infrastructure as a Service<br />Platform as a Service<br />Software as a Service<br />SaaS<br />ApplicationsPackaged Software<br />PaaS<br />PlatformOS & Application Stack<br />PlatformOS & Application Stack<br />IaaS<br />InfrastructureServers · Storage · Network<br />InfrastructureServers · Storage · Network<br />InfrastructureServers · Storage · Network<br />
  36. 36. Enterprise to Cloud<br />Corporate &Departmental Applications<br />Consumer to CloudPublicly Accessible<br />Web Sites, e-Stores & ISV SaaS Applications<br />Cloud Computing Examples<br />Hub Between Multiple Companies<br />Enterprise to Enterprise<br />Company A<br />Company B<br />Company<br />
  37. 37. Driving Forces<br />ISVs & SaaS Applications<br />Mid-Market Enterprise<br />Enterprise Application Migration<br />Start-ups & Experimental Initiatives<br />Cloud Seen as a Fast Lane to Get to Market Faster<br />Seasonal Businesses<br />Under Pressure to Dramatically Reduce I.T. Costs<br />Cloud Seen as a Competitive Edge<br />
  38. 38. When is the Cloud Compelling?<br />
  39. 39. Microsoft Data Centers<br />Vision<br />Go Inside<br />Energy Efficient<br />Containers<br />Dublin<br />Chicago<br />Amsterdam<br />San Antonio<br />Hong Kong<br />Singapore<br />
  40. 40. Windows Azure<br />Fabric – Service Management Infrastructure<br />Hosting – Applications, Web Services, Workers<br />Storage – Blobs, Queues, Tables, X Drives<br />Frictionless Upgrades<br />Compute<br />Storage<br />Management<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />
  41. 41. SQL Azure<br />Core Database Functionality, Subset of SQL Server 2008<br />Database available in limited sizes 1GB, 10GB<br />Management<br />SQL Data Sync<br />Management<br />Relational data<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />
  42. 42. Windows Azure AppFabric<br />Service Bus<br />Access Control Service<br />Management<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />
  43. 43. Windows Azure Cloud Fabric<br />Multiple virtual instances<br />Easy provisioning of applications<br />Detect failures<br />Spin up new instances to replace the failed ones<br />How many instances and what role they will play<br />Load balances and DNS<br />Elasticity of the service… scaling up/down number of instances<br />
  44. 44. Windows Azure DevFabricLocal Developer Simulation of AppFabric<br />Simulated “Cloud Experience” for Development<br />Routes cloud requests to local machine<br />Simulates data storage with local SQL server database<br />Azure SQL simulated with local SQL Server database<br />
  45. 45. Windows Azure Roles<br />Web Role<br />A web role is used for web application programming in ASP.NET or PHP<br />Worker Role<br />A worker role is used for performing work on behalf of the web role.<br />Worker Roles are used to improve scalability by increasing parallelism and asynchronicity<br />Often used for background work and batch processing <br />
  46. 46. Demo<br />Hello Azure<br />
  47. 47. Windows Azure Role Details<br />Web Roles<br />Define a single HTTP endpoint and a single HTTPS endpoint for external clients<br />Worker Roles<br />Define internal endpoints for HTTP, TCP <br />May receive work from Windows Azure Storage Queues<br />Web and Worker Roles<br />Can make outbound HTTP/S or .NET Framework class library socket connections to Internet accessible resources<br />Can access Windows Azure Storage services via REST APIs or the Windows Azure Storage Client Library.<br />
  48. 48. Service Management<br />Automated Service ManagementProvisioning, Patching, Upgrades<br />Fabric<br />Self ManagementDeploy, Promote, Scale, Upgrade<br />Management Portal<br />Programmatic ManagementProgrammatic deployments upgrades, etc. API for doing what the portal does<br />Management API<br />
  49. 49. Demo<br />Live Windows Azure Application In The Cloud<br />
  50. 50. Application Concerns—Hardware<br />Server Instances<br />Plan for peak usage scenarios<br />Plan for redundancy to reduce down time<br />Make up-front capital expenditures<br />Servers<br />Networking / Load Balancers<br />Software Licensing<br />Hardware Diagnostics & Failure Recovery<br />Detection of failures<br />Repair or replacement<br />Backup parts on-hand<br />
  51. 51. Azure Solution– Hardware<br />Hardware Acquisition<br />No up-front capital expenditures<br />Windows Azure provides redundancy<br />Windows Azure scales to meet peak usage<br />Hardware Diagnostics & Failure Recovery<br />Windows Azure detects hardware failures<br />Windows Azure dynamically repairs itself<br />
  52. 52. Azure Solution – Azure Network Security<br />Network Security<br />Network Topology & Connectivity <br />Created as needed from configuration<br />Firewall Rules & Maintenance<br />Provided and configurable<br />De-Militarization Zone (DMZ)<br />Provided<br />Institutional Resistance to Change<br />Moves many security concerns to the cloud<br />
  53. 53. Developer Experience<br />Developer Experience<br />Use existing skills and tools<br />Leverage Existing Skills in .NET, SQL Server, WCF<br />Use Familiar tools – Visual Studio, SSMS<br />RESTful HTTP cloud services, supports Java, PHP, Python<br />Cloud apps can be developed locally / offline<br />SDK Cloud Simulator – Dev Fabric, Dev Storage<br />Extensive training kit with TONs of samples<br />
  54. 54. Getting Started with Windows AzureThe Windows Azure Platform Portal<br />Provision<br />Deploy<br />Promote<br />Stop/Start<br />Scale<br />Upgrade<br />Delete<br />
  55. 55. Getting Started With Windows AzureThe Windows Azure SDK & Training Kit<br /><br />
  56. 56. Windows Azure SDK Features<br />C# and VB Visual Studio project templates<br />Windows Azure Cloud Service solution with multiple roles.<br />Tools to manage and configure roles<br />Local Development Fabric<br />Local Development Storage services<br />Local Cloud Service debugging support<br />Cloud Service package and deployment builder<br />No SDK Required for SQL Azure<br />
  57. 57. Conclusion<br />You are now Windows Azure savvy…<br />You’ve seen Windows Azure in action…<br />You’ve learned about the platform and its components and core services<br />You understand instance roles<br />You know the tools you will need to begin<br />You’re excited to use this new technology<br />And you can hardly wait for session 2 on data…<br />
  58. 58. Q & A<br />
  59. 59. Resources – Windows Azure Platform<br />Windows Azure Developer Platform<br />Channel 9 videos<br />Windows Azure Platform Training Kit<br />Microsoft PDC 2009<br />Windows Azure SDK<br />
  60. 60. Session 2:Azure Data Storage Options<br />
  61. 61. Agenda<br />Windows Azure Platform Data Storage Options<br />Getting Started with Azure Data Storage <br />Getting Started with SQL Azure Data Storage<br />
  62. 62. Azure Platform Data Storage Options<br /><ul><li>Windows Azure Data Storage
  63. 63. Blobs
  64. 64. Unstructured data storage
  65. 65. Tables
  66. 66. Semi-structured or tabular data storage
  67. 67. Queues
  68. 68. Buffered delivery data storage
  69. 69. Drives
  70. 70. Durable NTFS volumes that Windows Azure applications can use - beta launched week
  71. 71. SQL Azure
  72. 72. Relational data storage</li></li></ul><li>Getting Started with Windows Azure Data Storage<br />
  73. 73. Windows Azure Data Storage<br />
  74. 74. Account Name / Key<br />AccountName<br />A unique name identifying the Azure Data Storage<br />AccountKey<br />A blob of encrypted data used for authentication<br />
  75. 75. Windows Azure Data Storage - Blobs<br />Unstructured data storage<br />Partitioned by container<br />Unlimited containers<br />
  76. 76. Demo<br />Windows Azure Data Storage - Blobs<br />The GuestBook Application<br />
  77. 77. Azure Storage Explorer<br />“Azure Storage Explorer is a useful GUI tool for inspecting and altering the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.” <br /><br />
  78. 78. Examining Windows Azure Data Storage<br />
  79. 79. Windows Azure Data Storage – Tables (Terms Part 1)<br />Windows Azure Table provides scalable, available, and durable structured (or semi-structured) storage in the form of tables.<br />Table – contains a set of entities. <br />Entity (Row) – Entities are the basic data items stored in a table. <br />Property (Column) – This represents a single value in an entity. <br />PartitionKey– The first key property of every table. The system uses this key to automatically distribute the table’s entities over many storage nodes.<br />
  80. 80. Windows Azure Data Storage – Tables (Terms Part 2)<br />RowKey– A second key property for the table. This is the unique ID of the entity within the partition it belongs to. <br />Timestamp – Every entity has a version maintained by the system.<br />Partition – A set of entities in a table with the same partition key value.<br />Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey<br />
  81. 81. Windows Azure Data Storage - Tables<br />The tables are scalable to billions of entities and terabytes of data, and may be partitioned across thousands of servers.<br />The tables support ACID transactions over single entities and rich queries over the entire table.<br />Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services. <br />
  82. 82. Demo<br />Windows Azure Data Storage - Tables<br />The GuestBook Application<br />
  83. 83. Windows Azure Data Storage - Queues<br />Buffered delivery data storage<br />Read at least once<br />Delete to remove message, otherwise is returned to queue<br />Partitioned by Queue Name<br />
  84. 84. Demo<br />Windows Azure Data Storage - Queues<br />The GuestBook Application<br />
  85. 85. Windows Azure Data Storage – Drives<br />Beta just announced this week<br />Implemented as a page blob containing an NTFS volume VHD<br />Fixed size from 16 MB to 1 TB<br />APIs<br />Create Drive, Initialize, Get Mounted Drives<br />Mount, Unmount, Snapshot<br />Read, Write<br />Your VMs can mount up to 16 drives<br />
  86. 86. SQL Azure Features<br />Supported<br />Tables, Indexes, Views<br />Stored Procedures<br />Triggers<br />Constraints<br />Table Variables<br />Temp Tables (#Name)<br />Not Supported<br />Physical Server Access <br />Catalog DDL<br />Common Language Runtime<br />Service Broker<br />Reporting Services<br />Analysis Services<br />Distributed Transactions and Queries<br />
  87. 87. SQL Azure<br />Initial Services<br />Database – Core SQL Server database capabilities <br />Future Services<br />Data Sync – Enables the sync framework<br />Additional SQL Server capabilities available as a service: Business Intelligence and Reporting<br />New services: Reference Data and Secure Data Hub<br />
  88. 88. SQL AzureDeployment<br />Web Portal<br />(API)<br />DB Script<br />SQL Azure<br />TDS<br />
  89. 89. SQL AzureAccessing databases<br />Web Portal<br />(API)<br />Your App<br />SQL Azure<br />TDS<br />Change Connection String<br />
  90. 90. Database Replicas<br />Single Database<br />Multiple Replicas<br />Replica 1<br />Single Primary<br />Replica 2<br />DB<br />Replica 3<br />
  91. 91. SQL AzureDatabase Monitoring & Recovery<br />Web Portal<br />(API)<br />!<br />Your App<br />SQL Azure<br />TDS<br />
  92. 92. SQL Azure Server Creation<br />
  93. 93. SQL Azure Firewall Maintenance<br /><ul><li>Simple rules
  94. 94. Easy one-screen portal maintenance</li></li></ul><li>SQL Azure Database Connection String<br />An administrative user is created with the server<br />User has system administrator permissions likesa”<br />; Database=FabrikamAzureDB;User ID=SaPaulM;Password=myPassword;Trusted_Connection=False;Encrypt=True;<br />
  95. 95. Demo<br />SQL Azure Database Management<br />
  96. 96. Database Management using SQL Management Studio<br />
  97. 97. Database Migrations<br />Scripts<br />Transfer Schema<br />Bulk Copy Program (BCP)<br />Transfer Data<br />SSIS (SQL Server Integration Service)<br />Transfer Schema and Data<br />
  98. 98. Database Migrations (Cont.)<br />The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to migrate your data.”<br /><br />
  99. 99. SQL Azure and Windows Azure Table Comparison<br />SQL Azure Tables<br />Windows Azure Tables<br />Fully structured<br />Strongly typed<br />Relational (RDMS)<br />Highly scalable<br />Semi-structured<br />Loosely typed<br />Non-Relational (Not RDMS)<br />Massively scalable<br />
  100. 100. Q & A<br />
  101. 101. Resources<br />Azure Portal<br /><br />Tools<br />SQL Azure Migration Wizard<br /><br />Azure Storage Explorer <br /><br />Windows Azure Management Tool (MMC)<br /><br />Windows Azure Forums<br /><br />
  102. 102. ResourcesWindows Azure Data Storage<br /><ul><li>Haridas, Jai. “Windows Azure Tables and Queues Deep Dive”. Microsoft PDC. 2009.
  103. 103. Calder, Brad. “Windows Azure Blob Deep Dive”. Microsoft PDC. 2009.</li></li></ul><li>Resources – White Papers<br />Windows Azure Table – Programming Table Storage<br /><br />Windows Azure Blob – Programming Blob Storage<br /><br />Windows Azure Queue – Programming Queue Storage<br /><br />
  104. 104. Session 3:From Construction through Deployment<br />
  105. 105. Agenda<br />Build Web Application<br />Migrate Web Application to Windows Azure<br />Deploy to the Cloud<br />Migrate Data to SQL Server<br />Migrate SQL Database to SQL Azure<br />Deploy SQL Azure Database<br />Migrate Web Application to the Cloud<br />
  106. 106. Objective<br />Understand the process of building and deploying web applications and databases to Windows Azure and SQL Azure.<br />
  107. 107. Part 1 - Developing and Running Application From the Local Dev Fabric<br />Development Workstation<br />The Cloud<br />Dev Fabric<br />Web App<br />
  108. 108. Demo<br />Part 1 - Developing and Running Application From the Local Dev Fabric<br />
  109. 109. Part 2 - Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging<br />Development Workstation<br />Cloud Fabric<br />Production<br />Dev Fabric<br />Web App<br />Web App<br />Staging<br />
  110. 110. Demo<br />Part 2 – Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging Area<br />
  111. 111. Maintenance OS<br />1<br /> Guest Partition<br /> Host Partition<br /> Guest Partition<br /> Guest Partition<br />Service 1<br />Bits<br />Service 2<br />Bits<br />Service 3<br />Bits<br />6<br />Web<br />VHD<br />Worker<br />VHD<br />Worker<br />VHD<br />5<br />Host Differencing<br />VHD<br />Guest Differencing<br />VHD<br />Guest Differencing<br />VHD<br />Guest Differencing<br />VHD<br />4<br />Enterprise base<br />VHD<br />Server Core<br />VHD<br />Server Core base VHD<br />2<br />7<br />3<br />Hypervisor<br />Physical Server Hardware<br />CPU, memory, disk, and network<br />
  112. 112. Part 3 - Deploy A Web ApplicationFrom Windows Azure Staging to Production<br />Cloud Fabric<br />Production<br />Staging<br />Web App<br />Web App<br />
  113. 113. Demo<br />Part 3 – Deploy Our Windows Azure Application From The Windows Azure Staging Area into Production<br />
  114. 114. Part 4 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric<br />Development Workstation<br />The Cloud<br />Dev Fabric<br />Web App<br />SQL Database<br />
  115. 115. Demo<br />Part 4 – Developing and Running Application With SQL Server From the Local Dev Fabric<br />
  116. 116. Part 5 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric<br />Cloud Fabric<br />Development Workstation<br />Production<br />Dev Fabric<br />Web App<br />Staging<br />SQL Database<br />SQL Database<br />SQL Azure<br />
  117. 117. Demo<br />Part 5 - Developing and Running ApplicationWith SQL Azure From the Local Dev Fabric<br />
  118. 118. Part 5 - Developing and Running ApplicationWith Windows Azure and SQL Azure<br />Cloud Fabric<br />Development Workstation<br />Production<br />Web App<br />Dev Fabric<br />Web App<br />Web App<br />Staging<br />SQL Database<br />Web App<br />SQL Database<br />SQL Azure<br />
  119. 119. Part 7 - Revising Application Configuration<br />Cloud Fabric<br />Development Workstation<br />Production<br />Config<br />Web App<br />Dev Fabric<br />Web App<br />Web App<br />Staging<br />Web App<br />SQL Database<br />SQL Azure<br />SQL Database<br />
  120. 120. Pricing<br />The moment you’ve all been waiting for!<br />
  121. 121. Pay for computing and storage<br />Elastic, scalable, secure, & highly available automated service platform<br />Highly available, scalable, and self managed distributed database service<br />$9.99/month(up to 1 GB DB/month) <br />Compute<br />Web Edition<br />Per service hour<br />Per database/month <br />$0.12/hour<br />+ Variable Instance Sizes <br />Windows Azure platform AppFabric Service Bus & Access Control<br />Scalable, automated, highly available services for secure connectivity<br />Business Edition <br />Storage <br />Access Control<br />Service Bus<br />$99.99/month(up to 10 GB DB/month)<br />$0.015/10k Message Operations<br />Per GB stored & transactions<br />Per database/month <br />$0.015/10k Message Operations<br />Per Message Operation<br />Per Message Operation<br />$0.15 GB/month<br />$0.01/10K transactions <br />
  122. 122. Pay per “processor”<br />Windows Azure Instance Sizes<br />Variable instance sizes to handle complex workloads of any size <br />X Large<br />Large <br />Medium<br />Small<br />$0.96 <br />$0.48 <br />$0.24 <br />$0.12 <br />Per service hour<br />Per service hour<br />Per service hour<br />Per service hour<br />Unit of Compute Defined <br />Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) <br />X-Large<br />Large <br />Medium<br />Small<br />8 x 1.6Ghz<br />4 x 1.6Ghz <br />2 x 1.6Ghz <br />1 x 1.6Ghz <br />(high IO)<br />(high IO) <br />(high IO)<br />(moderate IO) <br />14 GB memory<br />7.0 GB memory<br />3.5 GB memory <br />1.75 GB memory <br />2000 GB <br />(instance storage) <br />1000 GB storage<br />(instance storage)<br />500 GB storage<br />(instance storage) <br />250 GB storage<br />(instance storage) <br />
  123. 123. Windows Azure Platform Data Transfer <br />Pay for data transfer in & out<br />Priced per GB transferred/month (prices shown in USD) <br />North America Region <br />Asia Pacific Region<br />Europe Region<br />$0.10 GB Ingress<br />$0.15 GB Egress <br />$0.10 GB Ingress<br />$0.15 GB Egress <br />$0.30 GB Ingress<br />$0.45 GB Egress <br />N. Europe <br />Sub-region <br />N. Central – US <br />Sub-region <br />E. Asia<br />Sub-region <br />W. Europe <br />Sub-region <br />S. Central - US <br />Sub-region<br />S.E. Asia<br />Sub-region <br />No Charge For Off Peak Ingress Promotion (ends 6/30/10)<br />On-board to Windows Azure platform at no charge <br />Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones below <br />Europe <br />WET = UTC<br />North America<br /> PST = UTC-8 <br />Asia Pacific<br />SST = UTC+8<br />
  124. 124. Q & A<br />
  125. 125. Resources - Deployments<br />Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009.<br />
  126. 126. More Information On Stuff We Wanted To Talk About But Didn’t Have Time For…<br />AppFabric<br />Smith, Justin. “REST Services Security Using the Access Control Service”. Microsoft PDC. 2009<br />Diagnostics<br />Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009.<br />