Building Solutions with Windows Azure Dan Kasun Sr. Director, US Public Sector Developer & Platform Evangelism Microsoft Corporation dankas@microsoft.com http://www.dankasun.com Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN is it best to consider Windows Azure? 5 WHERE do I get more information? Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN is it best to consider Windows Azure? 5 WHERE do I get more information? It’s an Operating System Simple In theAnswer? Could. Introducing Windows Azure Web applications WEB & CLOUDS Third party cloud Developer Experience Use existing skills and tools Compute Storage Management Relational data Management ON-PREMISES Connectivity Access control Windows Azure Compute – Applications, Web Services, Workers Storage – Blobs, Queues, Tables Management – Fabric, Staging & Production Compute Storage Management Manageme nt Relational data Management Connectivity Access control SQL Azure Core Database Functionality, Subset of SQL Server Database available in limited sizes 1GB, 10GB Management SQL Data Sync Compute Storage Management Relational data Management Connectivity Access control AppFabric Service Bus Access Control Service Management Compute Storage Management Relational data Management Connectivity Access control Developer Experience Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports PHP, Python Eclipse integration Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage Developer Experience Use existing skills and tools Windows Azure Platform Consumption Prices Pay as you go and grow Elastic, scalable, secure, & highly available automated service platform Highly available, scalable, and self managed distributed database service Compute Storage Web Edition Business Edition Per service hour Per GB stored & transactions Per database/month Per database/month $0.12/hour + Variable Instance Sizes $0.15 GB/month $0.01/10K transactions $9.99/month (up to 1 GB DB/month) $99.99/month (up to 10 GB DB/month) Windows Azure platform AppFabric Service Bus & Access Control Scalable, automated, highly available services for secure connectivity Access Control Per Message Operation $0.015/10k Message Operations Prices shown in USD only Service Bus Per Message Operation $0.015/10k Message Operations International prices are available Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN is it best to consider Windows Azure? 5 WHERE do I get more information? Windows Azure Benefits Get Your Costs Under Control Increase Agility Faster Time to Market Less I.T. Outsource ITHeadache Headaches Focus Focus onon Your Business not Business Infrastructure Lower TCO Predictable, controllable cost model Convert CapEx to OpEx Eliminate idle IT capacity Efficient use of IT dollars Bypass procurement process Fast deployment No competing with other projects Instant scale Agile IT enables an agile business Outsource scalability, HA, reliability, SLA No need to anticipate future capacity One-click promotion Automated patching and updating Reduced complexity IT becomes invisible and democratize d Competitive edge through innovation Reduce risk Freedom to experiment Freedom to experiment Competitive Differentiators • Automated service management • Leverage existing skills and developer tools • Breadth of Microsoft’s cloud offerings—many services beyond hosting and storage • S+S strategy—cloud and enterprise software offerings • Cloud-enterprise integration at security, data, communication, or network level • Marketplace for data and applications Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN is it best to consider Windows Azure? 5 WHERE do I get more information? Main Components Cloud Fabric Web Roles Worker Roles Storage (Including SQL Azure) Dev Fabric App Fabric (Access Control, Service Bus) Windows Azure Cloud Fabric Multiple virtual instances Easy provision of applications Detect failures Spin up new instances to replace the failed ones How many instances and what role they will play Load balances and DNS Elasticity of the service… scaling up/down number of instances Windows Azure Roles Windows Azure Roles Web Role for web application programming in ASP.NET or PHP Worker Role for performing work on behalf of the web role may be written in .NET, Ruby, Java to improve scalability by increasing parallelism and asynchronicity used for background work Developer Experience Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports PHP, Python Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage The Windows Azure SDK Windows Azure SDK Features C# and VB Visual Studio project templates Windows Azure Cloud Service solution with multiple roles. Tools to manage and configure roles Local Development Fabric Local Development Storage services Local Cloud Service debugging support Cloud Service package and deployment builder Note: No SDK Required for SQL Azure Storage Blobs, Drives, Tables, Queues Designed for the cloud 3 replicas Guaranteed consistency Accessible directly from the internet via REST API .NET Client library supported Does not require compute Storage account drives unique URL, e.g.: https://<youraccount>.blob.core.windows.net Service Lifecycle Create service package Binaries + Content + Service Metadata Deploy via web portal or Service Management API Add & remove capacity via web portal or API Deployed across fault domains Upgrade with zero downtime Management Experience Provision Deploy Promote Stop/Start Scale Upgrade Delete Design Considerations Scale and availability are the design points Storage isn’t a relational database Stateless Stateless front ends, store state in storage Use queues to decouple components Instrument your application (Trace) Once you are on - stay on Think about patching & updates Step by Step Development Guide 1. Set up a Windows Azure account Configure account and storage 2. Get a developer tool, like Visual Studio 20008 or 2010 3. Download and install the SDK and add-in Note, the dev fabric requires SQLExpress 4. Build and test application locally 5. Configure Windows Azure Storage Through code when your app starts Using a storage management tool (links at end) 6. Package application for deployment 7. Deploy app into staging or production 8. Start the application 9. Much rejoicing! Demo Building Our First Cloud Application With Microsoft Windows Azure Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN should I consider Windows Azure? 5 WHERE do I get more information? Comput e Comput e Workload Patterns Optimal For Cloud Inactivity Period Average Usage Usage Average Time Time On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to market can be cumbersome “Predictable Bursting“ Comput e Comput e “Unpredictable Bursting“ Successful services needs to grow/scale Keeping up w/ growth is big IT challenge Complex lead time for deployment Average Usage Average Usage Time Time Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity Common Scenarios Scenario Example Hosting of consumer web sites • Online store • Social networking site • Health portal Hosting corporate/department apps • HR benefits employee portal • Business intelligence dashboard ISV Multi-tenant SaaS applications • Sales force automation • Project management portal B2B hubs for apps/data sharing • Supply chain management • Industry exchange Data archiving & content repositories • Online digital library • Video archive Where the Cloud is Compelling Characteristic Example Apps that need massive scale Social networking site Apps that need high reliability 911 call center Apps with variable load Online tax preparation Apps with unpredictable lifetime Hurricane relief site Apps requiring parallel processing Genome sequencing Apps that must scale fast or fail fast Start-up online service Not good fit for in-house data center Frequently updated app Apps needing external storage Online video archive TCO Analyzer Tool Quickly determine “quantitative” value of using Windows Azure Platform services TCO of development and running Windows Azure Platform vs. traditional delivery channels Estimation “of” and conversion “to” on-premise solution to Windows Azure Platform services http://www.microsoft.com/windowsazure/tco/ (TCO estimate over 3-year period) Real World TCO Analysis Public sector governance suite of applications & services Leading provider of B2B sales & marketing solutions to F100 Needs secure, scalable, elastic, & comprehensive platform Reduce IT complexity & shift resources to core businesses $74K $62K $540K $277K On Premises Azure On Premises Azure Agenda 1 WHAT is Windows Azure? 2 WHY would use Windows Azure? 3 HOW do I build a Windows Azure solution? 4 WHEN is it best to consider Windows Azure? 5 WHERE do I get more information? Getting Started SET UP AN ACCOUNT TODAY! http://www.microsoft.com/windowsazure/offers/ Intro offer is FREE (up to 25 hours) MSDN Subscribers should use the MSDN offers A credit card is required to set up the account Learn about Azure http://azure.com/partnerquickstart Training Kit: http://bit.ly/AzureTraining http://channel9.msdn.com/azure Download Azure SDKs and tools http://microsoft.com/windowsazure/tools/ Build with Azure Get involved with local community User Groups · Code Camps · Cloud Camps Promotions Introductory FREE Offer Development Accelerator No-cost developer starter offer. Provides no-cost allocation to run a cloud service. Accelerates cloud development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price. MSDN Premium • Available to all partner/customers • 6 mo subscription (38%-45% discount) • Available to MSDN Premium subscribers • Limit of one per customer • Offered as a unit (can order multiple) • 12-month term, 1 per subscription • Overage at Standard Consumption rates • Cancel first 30 days; or after first 6 mos • Overage at partner Consumption rates • Overage at Standard Consumption rates • Limited time to sign up (thru 6/30/10) Amount of No-Cost Service: CORE: $59.95/mo ($55.95 for partners) Amount of No-Cost Service: Windows Azure Compute 25 Hrs/mo Storage 0.5 GB/mo Bandwidth 0.5 GB/mo* Storage Transactions 10K/mo SQL Azure 1 Web Edition DB (1GB DB) 90 day trial Service Bus and Access Control Service Messages 100K/mo Amount Included in Base Compute 750 hrs/mo Storage 10 GB/mo Storage Transactions 1M/mo NET - Messages 1M/mo Data Transfers 7GB In / 14GB Out* EXTENDED: $109.95/mo ($104.45 for partners) Amount Included in Base Same as Core except also includes* 1 SQL Azure Business Edition DB (10 GB) Mobilize committed .NET developer base. Enable them to build, deploy, manage multiple cloud projects within MSDN subscription. Windows Azure Compute 750 hrs Storage 10 GB Storage Transaction 1M SQL Azure - 3 Web DB (1 GB) Service Bus and Access Control Service Messages 1 Million Data Transfer 7GB In/14GB Out* MSDN / BizSpark Offer Resources Partner Quickstart http://www.azure.com/partnerquickstart Channel 9 videos http://channel9.msdn.com/azure Microsoft Learning Plans http://microsoftlearningplans.com Windows Azure Training Kit & Whiteboard Videos http://www.azure.com Windows Azure Storage Tools Azure Storage Explorer (open source on CodePlex) http://azurestorageexplorer.codeplex.com/ Cerebrata Cloud Storage Studio http://www.cerebrata.com/Products/ CloudStorageStudio/Default.aspx Summary WHAT is Windows Azure? WHY would use Windows Azure? HOW do I build a Windows Azure solution? WHEN is it best to consider Windows Azure? WHERE do I get more information? Thanks and Q&A dankas@microsoft.com http://www.dankasun.com http://blogs.msdn.com/publicsector SET UP AN ACCOUNT TODAY! http://www.microsoft.com/windowsazure/offers/ Intro offer is FREE (up to 25 hours) MSDN Subscribers should use the MSDN offers A credit card is required to set up the account Training Kit: http://bit.ly/AzureTraining