1.73k likes | 1.75k Views
Learn about cloud computing patterns, application types, services, pricing, and Microsoft Cloud Services categories. Explore implementation with Windows Azure.
E N D
Patterns for Cloud Computing Solution Architect Briefing zoli.herczeg.ro Taken from Simon Guests’ work at TechEd Berlin 2009
This is Jim Patterns for Cloud Computing
Jim’s Boss (the CIO) has asked him to “move their company to the cloud!” Patterns for Cloud Computing
He’s seen many great things on cloud computing/Windows Azure Patterns for Cloud Computing
…but he’s still a little confused Patterns for Cloud Computing
He still doesn’t quite understand what types of applications make sense in the cloud Patterns for Cloud Computing
He also wonders how other organizations are using the cloud Patterns for Cloud Computing
What patterns have other people learned – and can Jim re-use for his applications? Patterns for Cloud Computing
Validate what you may have heard and seen so far Provide you with 5 patterns for cloud-based applications Show you how to implement these patterns using Windows Azure
Application runs on-premises Application runs at a hoster Application runs using cloud platform Buy “Software as a Service” A hosted application that I buy from a vendor “Packaged” Application An application that I buy “off the shelf” and run myself Hosted “Packaged” An application that I buy “off the shelf” and then run at a hoster Build vs. Buy Hosted “Home Built” An application that I develop myself, but run at a hoster “Home Built” Application An application that I develop and run myself Cloud Platform An application that I develop myself, that I run in the cloud Build
Microsoft Cloud Services Categories of Services Application Services Software Services Platform Services Infrastructure Services
Pricing CONSUMPTION SUBSCRIPTION VOLUME LICENSING “Pay as you go and grow” Available at launch “Value for a commitment“ Select offers Announced “Coordinated purchasing” Planned for FY11 • Low barrier to entry and flexibility • Optimized for cloud elasticity • Discounts for commitment • Plans for payment predictability • Unified purchasing through EA • Introduction to volume discounts • Compute • $0.12 / CPU hour • Storage • $0.15 / GB / month • $0.01 / 10k txn / month • Bandwidth • $0.10 in / GB • $0.15 out / GB • Web Edition (1GB) • $9.99 / month • Business Edition (10GB) • $99.99 / month • Bandwidth • $0.10 in / GB • $0.15 out / GB • Service Bus • $0.15 / 100k messages • Access Control • $0.15 / 100k tokens • Bandwidth • $0.10 in / GB • $0.15 out / GB
Offers & Promotions • Introductory Free Offer • No-cost developer starter offer. Provides no-cost allocation to run a cloud service. • Available to all partner/customers • Limit of one per customer • Overage at Standard Consumption rates • NO-COST • Windows Azure • Compute 25 Hrs/month • Storage 0.5 GB/month • Bandwidth 0.5 GB/month • Storage Transactions 10K/month • SQL Azure • 1 Web Edition DB (1GB DB) 90 day trial • Service Bus and Access Control Service • Messages 100K/mo • Development Accelerator • Designed to accelerate cloud app development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price. • 6 month subscription (38%-45% discount) • Offered as a unit (can order multiple units) • Cancel first 30 days; anytime after first 6 months • Overage at Standard Consumption rates • CORE($59.95/month) • Amount Included in Base • Compute 750 hrs/mo • Storage 10 GB/mo • Storage Transactions 1M/mo • NET - Messages 1M/mo • Data Transfers 7 GB In / 14 GB Out • EXTENDED($109.95/month) • Amount Included in Base • Same as Core except also includes 1 SQL Azure Business Edition DB (10 GB) • MSDN Premium • Mobilize committed .NET developer base. Enable them to build, deploy, manage multiple cloud projects w/in MSDN subscription. • Available to MSDN Premium subscribers with limit of one per subscription (one per Windows Live ID) • 12-month term • Overage at partner Consumption rates • Limited time to sign up (thru 6/30/10) • After 6/30/10 quantities may be reduced • NO-COST • 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
Types of Clouds Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications You manage Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Managed by vendor Databases Databases Databases You manage Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
#1 - Using the Cloud for Scale Patterns for Cloud Computing
“Isn’t the cloud good for applications that need to scale dynamically?” Patterns for Cloud Computing
For example, tax applications Patterns for Cloud Computing
“How does this work?” Patterns for Cloud Computing
Let’s do some white boarding for Jim… Patterns for Cloud Computing
#1 - Using the Cloud for Scale • “Wow! What a great site!” Database • Request Web Tier B/L Tier Browser • Response
#1 - Using the Cloud for Scale Browser Browser Database Web Tier B/L Tier Browser • “Server Busy” Browser Browser
#1 - Using the Cloud for Scale Browser Browser Database Web Tier B/L Tier Browser • “Timeout” Browser Browser
#1 - Using the Cloud for Scale How would Jim do this today on premises? Browser Web Tier N L B Browser Database Web Tier B/L Tier Browser Browser Web Tier Browser
#1 - Using the Cloud for Scale How would Jim do this today on premises? Browser B/L Tier N L B Browser Database Web Tier Browser B/L Tier Browser B/L Tier Browser
#1 - Using the Cloud for Scale How would Jim do this today on premises? Browser Web Tier N L B B/L Tier N L B Browser Database Web Tier Browser B/L Tier Browser Web Tier B/L Tier Browser
#1 - Using the Cloud for Scale How would Jim do this today on premises? Browser • p1 p2 p3 Web Tier N L B B/L Tier N L B Browser Database Web Tier Browser B/L Tier Browser Web Tier B/L Tier Browser
#1 - Using the Cloud for Scale How would Jim do this today on premises? Browser • p1 p2 p3 Web Tier N L B B/L Tier N L B Browser Database Web Tier Browser B/L Tier Browser Web Tier B/L Tier Browser • “That took a lot of work - and money!”
#1 - Using the Cloud for Scale How would Jim do this today on premises? • p1 p2 p3 • “Not so great now…” Web Tier N L B B/L Tier N L B Database Web Tier Browser B/L Tier Web Tier B/L Tier • “That took a lot of work - and money!” • “Hmmm... Most of this stuff is sitting idle...”
#1 - Using the Cloud for Scale • Datacenter peak load • Idle time • Usage • Jan • Apr • Jul • Oct
#1 - Using the Cloud for Scale • “Wow! What a great site!” Azure Storage • Request Web Role Worker Role Browser • Response
#1 - Using the Cloud for Scale Browser Browser Azure Storage Web Role Worker Role Browser • “Server Busy” Browser Browser
#1 - Using the Cloud for Scale Browser Web Role N L B Browser AzureStorage Web Role Worker Role Browser Browser Web Role Browser • You don’t see this bit
#1 - Using the Cloud for Scale Browser Web Role N L B Worker Role N L B Browser AzureStorage Web Role Browser Worker Role Browser Web Role Worker Role Browser
OK, so changing config is easy... …but what else do I need to know?
#1 - Using the Cloud for Scale Browser Web Role N L B Worker Role N L B Browser AzureStorage Web Role Browser Worker Role Browser Web Role Worker Role Browser
#1 - Using the Cloud for Scale Browser Web Role N L B Worker Role N L B Browser AzureStorage Web Role Browser Worker Role Browser Web Role Worker Role Browser • Tight coupling between web and worker role is an anti-pattern
#1 - Using the Cloud for Scale 4. Process Web Role Worker Role 2. Respond to UI Req 1. Place on queue 3. Pickup from queue Queue
#1 - Using the Cloud for Scale 4. Process Web Role Worker Role 5. Add result to table Req Queue 6. Query table on refresh Table
#1 - Using the Cloud for Scale WMI_Win32_PerfFormattedData_ASPNET_ASPNETApplications /RequestsPerSecond Browser Web Role N L B Browser AzureStorage Web Role Worker Role Browser Browser Web Role Browser Log Management API or Email Worker Role
#1 - Using the Cloud for Scale Web Role Web Role Web Role Worker Role Req Req Req Queue Web Role Web Role • Monitor queue • length against user’s expectations Web Role