Heard of elastic computing? Cloud-bursting? Off-line rendering? Join us in this session where we walk through the key cloud scenarios every developer should be familiar with and when and where each should be used. We’ll discuss how the architecture of each of these scenarios is realized using the Windows Azure cloud platform
5. Windows Azure Platform
(on-premise)
Client Layer http://aka.ms/TryAzure
On- On-
Office Games premises premises
Add-in PC Tablet Phone Browser Console Service Database
Integration
Layer
Traffic Virtual Access
CDN Manager Networks Connect EAI / EDI Service Bus Control Data Sync
Applicatio
n Layer
Media
Services Compute Web Sites PaaS IaaS Hadoop
Layer
Data
Stream
Storage Drive Blobs Tables Queues Caching SQL Azure Insight Reporting Database
6.
7.
8.
9.
10.
11. Windows Azure
(on-premise)
Client Layer
On- On-
Office Game premises premises
Add-in PC Tablet Phone Browser Console Service Database
Integration
Layer
Traffic Access
CDN Manager Connect Service Bus Control Data Sync
Applicatio
n Layer
Media
Services Compute Web Role Worker Role VM Role Hadoop
Layer
Data
Storage Drive Blobs Tables Queues Caching SQL Azure Reporting Database
12. Windows Azure
(on-premise)
Client Layer
On- On-
Office Games premises premises
Add-in PC Tablet Phone Browser Console Service Database
Integration
Layer
Traffic Access
CDN Manager „Brooklyn“ Connect EAI / EDI Service Bus Control Data Sync
Applicatio
n Layer
Media
Services Compute Web Sites PaaS Persitent VM Hadoop
Layer
Data
Stream
Storage Drive Blobs Tables Queues Caching SQL Azure Insight Reporting Database
13. Consumer Portal
Client
Layer
Browser
Integration
Layer
Access
Control CDN
Applicatio
n Layer
Web Role
Layer
Data
Caching Database Blobs
14. Enterprise LOBs
Client
Layer
On- On- On-
premises Partner premises premises
Integration Browser STS Services Services Database
Layer
Access
Control Service Bus Data Sync
Applicatio
n Layer
Web Role
Layer
Data
Reporting Database
15. Software as a Service
Client
Layer
3rd 3rd
Party Party
Browser Identity/STS Services
Integration
Layer
Access
Control
Applicatio
n Layer
Web Role Worker Role
Layer
Data
Blobs Caching Database(s)
16. Mobile Computing
Client
Layer
3rd 3rd
Party Party
Services Phone Identity/STS
Integration
Layer
Access
Control
Applicatio
n Layer
Worker Role Web Role
Layer
Data
Queues Database
17. Social Web / Big Media
Client
Layer
3rd
Party
Identity/STS Browser
Integration
Layer
Access Traffic
Control Manager CDN
Applicatio
n Layer
Web Role
Layer
Data
Caching Database Tables Blobs
18. High Performance Computing
Client
Layer
Browser Visual Studio
Integration
Layer
Applicatio
n Layer
Web Role Worker Role
Layer
Data
Database Blobs Tables Queues Caching
19. Big Data
On-
Client
Layer
premises Office
Service Add-in Browser
Integration
Layer
Applicatio
n Layer
Hadoop
Layer
Data
Database Reporting
1:00 – 1:15 Introduction to Windows Azure1:15 - 1:30 Lab – Activating Your Azure Benefits1:30 – 1:45 Walkthrough of the Azure SDK & Training Kit1:45 – 2:30 Lab – Deploying Applications in Azure (Ex. 1 & 3)2:30 – 2:45 Break2:15 – 3:00 Data Storage in the Cloud3:00 – 4:00 Lab – Introduction to SQL Azure4:00 – 4:30 Debugging & Troubleshooting4:45 – 5:00 Next Steps…
Speaking Points:There is a lot of talk in the industry about different terms like Platform as a Service, Infrastructure as a Service, and Software as a Service.Since PDC08 when we first announced the Windows Azure our focus has been on delivering a platform as a service offering where you can build applications. Where the platform abstracts you from the complexities of building and running applications. We fundamentally believe that the future path forward for development is by providing a platform. In fact, as you’ll see in a few minutes, we believe that there are a number of new capabilities that should be delivered as services to the platform.Notes:There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services.The industry has defined three categories of services:IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another. SaaS offerings needn’t be developed upon PaaS offerings although solutions built on PaaS offerings are often delivered as SaaS. PaaS offerings also needn’t expose IaaS and there’s more to PaaS than just running platforms on IaaS. ----Slide Objectives:Explain the three established terms in the industry for cloud servicesSpeaking Points:With this in mind, it’s important to understand how to talk about our Cloud Services offerings.There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services.The industry has defined three categories of services:IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another. SaaS offerings needn’t be developed upon PaaS offerings although solutions built on PaaS offerings are often delivered as SaaS. PaaS offerings also needn’t expose IaaS and there’s more to PaaS than just running platforms on IaaS.
Slide Objectives:Explain the differences and relationship between IaaS, PaaS, and SaaS in more detail.Speaking Points:Here’s another way to look at the cloud services taxonomy and how this taxonomy maps to the components in an IT infrastructure. Packaged SoftwareWith packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications. IaaSWith Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosters – in fact most of them have moved to having a virtualized offering. Very few actually provide an OSThe customer is still responsible for managing the OS through the Applications. For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines. This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2). Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’. The only requirement was a credit card to pay for the services.PaaSWith Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor. The Windows Azure best fits in this category today. In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS.PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services. With PaaS, the developer can, almost immediately, begin creating the business logic for an application. Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly.SaaSFinally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.
Speaking Points:3 core services: Compute, Storage, DatabaseLet’s take a look at the platform starting with the core services.Compute:Scalable environment for running codeEnables .NET, C++, PHP, Ruby, Python, …Automated service managementStorage:Scalable and highly available cloud storageBlobs, Tables, Queues, DrivesREST APIs and several client librariesDatabase:SQL Relational DatabaseFamiliar programming model & tools--Speaking Points:I suspect most if not all of you in this room are familiar with the Windows Azure today.Today the platform consists of a set of foundational services SQL Azure relational databaseAppFabric provides services that can be used by any apps – hosted in Windows Azure, on-premises, or hosted in another environment. Questions:How many of you are building applications for Windows Azure?How many are using SQL Azure?How many are using the Access Control service today? The Service Bus?Notes:Windows Azure StoryWe are building an open platform to run your applications in the cloud. Your apps are .NET, Java, PHP, etc. We love everyone.We are going to help you migrate your existing apps to the cloud. The cloud platform is the future. Enables scale, self-service, lowers friction, etc. We provide the best cloud platform for building new apps. (aka n-tier, web services, etc.)
Slide ObjectiveUnderstand at a high level how the Windows Azure Platform maps into the high scale archetype Speaker NotesKey points here are that all external connections come through a load balancer THIS INCLUDES STORAGE.If you are familiar with the previous model, you will notice that two new features are diagrammed here as well, namely inter-role communication (notice there is no load balancer) and TCP ports directly to Worker Roles (or Web Roles). We will still use the storage to communicate async and reliably via queues for a lot of options. However, inter-role communication fills in when you need direct synchronous comm.A worker role can expose an endpoint to the loadbalancer (an input endpoint). That is not shown here.The load balancers are a key to Windows Azure.
Speaking Points:PerformanceDirects the user to the “best”/”closest” deploymentExample: Direct the user to the “best” deployment between US South and West EuropeFailoverOne deployment is primaryTraffic is redirected to another deployment if the primary goes downExample: All traffic is directed to US North; if it goes down, send all traffic to US SouthNotes:Traffic Manager monitors hosted services by executing periodic HTTP GET requests to an endpoint that you specify when creating a policy. In the simplest case, this endpoint can be the URL to a file served by the application. Traffic Manager considers the service to be available if its monitoring endpoint responds with an HTTP status code of 200 OK within 5 seconds.The Health Monitor Timeout provides an estimate of how long it takes Traffic Manager to become aware of the change.When a hosted service is disabled, its monitoring endpoint stops sending responses to simulate a failure. Traffic Manager performs a check of this endpoint at 30-second intervals and if it fails to receive a response to three consecutive polls, it considers the service as unavailable. Thus, it could take as much as 120 seconds for the service to failover.After you disable a service, a timer on the page starts showing the elapsed time since the status of the service changed, providing an estimate of how long it takes the Traffic Manager to become aware of the failure.Disabling a hosted service in a Traffic Manager policy can be useful for temporarily removing a malfunctioning service or during maintenance tasks.Example: all users from US -> US North, all users from Asia -> US North, all users from Europe ‑> West EuropeRatioSends traffic to different deployments based on fixed ratio (N/M)Example: Direct 20% of user traffic to US South and 80% to US North.
Slide ObjectiveUnderstand that Microsoft has a long history in running data centres and online applications. Bing, Live, Hotmail etc….Understand the huge amount of innovation going on at the data center levelSpeaking Points:Microsoft is one of the largest operators of datacenters in the worldYears of ExperienceLarge scale trustworthy environmentsDriving for cost and environmental efficientlyWindows Azure runs in 3 regions and 6 datacenters todayData center innovation is driving improved reliability and efficiencyPUE = Power Usage Effectiveness = Total Facility power/IT Systems Power = Indication of efficiency of DCUnder 1.8 is very good, modern cloud DCs approaching 1.2Multi-billion dollar datacenter investment700,000+ square foot Chicago and the 300,000+ square foot Dublin, Ireland data centersMicrosoft cloud services provide the reliability and security you expect for your business: 99.9% uptime SLA, 24/7 support. Microsoft understands the needs of businesses with respect to security, data privacy, compliance and risk management, and identity and access control. Microsoft datacenters are ISO 27001:2005 accredited, with SAS 70 Type I and Type II attestations.Notes:http://www.globalfoundationservices.com/http://blogs.msdn.com/the_power_of_software/archive/2008/06/20/microsoft-s-pue-experience-years-of-experience-reams-of-data.aspxhttp://blogs.msdn.com/the_power_of_software/archive/2008/06/27/part-2-why-is-energy-efficiency-important.aspx
Slide Objectives:Provide overview and detail on pricingDiscuss localization of pricingSpeaking Points:Windows Azure is charged per compute hour.Pricing is localized for global marketsDifferent VM sizes have a different number of CPUs and therefore are a multiple the single CPU rateCompute time, measured in service hours: Windows Azure compute hours are charged only for when your application is deployed.remove the compute instances that are not being used to minimize compute hour billing. Partial compute hours are billed as full hours.Storage, measured in GB: Storage is metered in units of average daily amount of data stored (in GB) over a monthly period. Data transfers measured in GB (transmissions to and from the Windows Azure datacenter).Data transfers within a sub region are free. Transactions, measured as application requests to the REST serviceSQL Azure is priced on a per database per month basisAppFabric Service Bus is based on a per connection modelAppFabric Access control is based on a per transaction modelAppFabric Service Bus connections can be provisioned individually on a “pay-as-you-go” basis or in a pack of 5, 25, 100 or 500 connections. For individually provisioned connections, you will be charged based on the maximum number of connections you use for each day. For connection packs, you will be charged daily for a pro rata amount of the connections in that pack (i.e., the number of connections in the pack divided by the number of days in the month). You can only update the connections you provision as a pack once every seven days. You can modify the number of connections you provision individually at any time.For AppFabric Access Control transactions, customers will be charged the actual number of transactions utilized for the billing period (i.e., not in discrete blocks of 100,000 transactions), plus data transfers in or out.Notes:http://www.microsoft.com/windowsazure/pricing/http://blogs.msdn.com/b/netservices/archive/2010/01/04/announcing-windows-azure-platform-commercial-offer-availability-and-updated-appfabric-pricing.aspx http://www.microsoft.com/windowsazure/pricing/
Slide Objectives:Explain that there are different VM instance sizes available within Windows AzureSpeaking Points:---Speaking Points:One of the key areas of feedback has been to reduce the cost and size of Windows Azure instances. At PDC we will announce..Notes:(*) 20GB with a limitation on VHD size if they are deploying VMRole on XSmall: the VHD can only be up to 15GB.each tenant can support 20 instances just like regular subscriptions with Small VM. We do not scale based on core counts.There is no SLA on the network bandwidth for each VM size as this resource is shared among all the VM. That said, we need to provide guidance for customer so they could design their applications correctly. From the engineering side, this is what we mean by Low, Moderate and High. • Low currently means 0-15Mbps with short burst up to 25-50Mbps (Megabit/s). These are sufficient for some web sites with low traffic. • Moderate means 0-100Mbps with short burst up to 200Mbps (100Mbps is the norm). This is what we currently reserve for the Small VM.• High means 200-800 Mbps. If you divide this into 3 spectrums for Medium, Large and XL. Then Medium is in the low end, Large hovers around the middle zone and of course XL takes the high-end spot.These rates should be used as guidance. Nothing can beat a test run to see what the application requires but using these bandwidth ranges, hopefully it reduces the guess work for the customers
Slide Objectives:Explain the SLAs for the Windows Azure PlatformSpeaking Points:
Speaking Points:At WPC two weeks ago we announced the new Windows Azure marketplace for applicationsApp Qualifications:Windows Azure SaaS applicationApp must pass Windows Azure Usage CheckApp is commercially available (not sample code etc.)Documentation & Support for the app is provided by ISVISV has Signed Windows Azure Marketplace Publisher Agreement Pricing & PayoutCreate offer variantsDefine offerings based on number of users, feature set, etc.Set the price of the applicationApplication TrialsOne month free, Automatic ConversionBilling handled by the Marketplace80/20 revenue splitPayment every quarter, 45 days after quarter endsMicrosoft will contact you for accounting detailsPublishers choose where to accept payments fromCurrently 8 markets: US, Australia, Austria, Canada, France, Germany, Italy, Spain and the United Kingdom Marketplace sends a purchase messageIncludes clientID, ClientSecret, OfferID- Client ID: is a name or code that will identify your application within the marketplace, be sure to remember or take note of this value since you will use it in a future step of this lab.- Name: is the friendly name of the application.- Client Secret: provided by default, is the secret that will be used, together with the Client ID, to integrate your application with the Marketplace, be sure to take note of this value as well.- Redirect URI: is the URI where the marketplace will post the Purchase message, you will get further information on this in a future step.