1. Building, Deploying, and Managing Windows Azure Applications (Adapted from Jim Nakashima’s session in PDC2010) Wely Lau Microsoft MVP, Windows Azure Solutions Architect, NCS Pte Ltd Email : wely@ncs.com.sg Blog: http://wely-lau.net/
6. demo Creating and Managing Windows Azure Services and SQL Azure Databases
7. Creating and Managing Services & Databases Windows Azure Tools for Microsoft Visual Studio Free Add-in for Visual Studio 2010 Updating content without stopping debugging IntelliTrace on F5 local debugging (32-bit) Improved F5 performance Redesigned Portal Improved workflows – fewer clicks and less waiting Management console SSMS, sqlcmd, Data Tier Application and other SQL Server tools for SQL Azure New release New release
9. Deploying to the Cloud Create a new deployment: Visual Studio Windows Azure Portal Command line and Powershell Built using the Service Management REST API VIP is assigned during deployment
10. Updating a Deployment in the Cloud Update the service configuration file Developer web deploy to a single instance Upgrade a role or all roles Reuse existing instances Deploy and VIP Swap or “DNS Swap” Delete and Deploy OS update
11. Update Considerations VIP swap Easier to undo Requires 2 identical environments Cannot update endpoints Upgrade Reuses existing VMs (Preserves VM state i.e. local cache data) Can update a single role Cannot change the service definition Not as good for the front end Requires compatibility between existing and new deployment
12. Update Considerations “DNS Swap”: Requires your own domain name Updating the domain record is not immediate New VIP Delete/recreate: Down time between deployments New VIP
13. Hosted Web Core VS Full IIS Hosted Web Core (HWC) Web Role did not actually run full IIS. It used a component called Hosted Web Core, the core engine for serving up web pages that can be hosted in a different process. Learn more: http://blogs.msdn.com/b/windowsazure/archive/2010/12/02/new-full-iis-capabilities-differences-from-hosted-web-core.aspx
14. Multiple IIS Sites and Virtual Applications Upcoming release uses full IIS and not Hosted Web Core Add multiple IIS sites and Virtual applications per Web Role in the service definition file New release
15. Multiple IIS Sites and Virtual Applications Upcoming release uses full IIS and not Hosted Web Core Add multiple IIS sites and Virtual applications per Web Role in the service definition file Manual debugger attach and browser launch New release
16. Adding an IIS Site and Virtual Application to a Web Role ServiceDefinition.csdef <WebRole name="WebRole1"> <Sites> <Site name="Web"> <VirtualApplication name="mail" physicalDirectory="C:sersnakesktopcratchebSite"/> <Bindings> <Binding name="HttpIn" endpointName="HttpIn" /> </Bindings> </Site> <Site name="PDC" physicalDirectory="C:sersnakesktopcratchecondWebSite"> <Bindings> <Binding name="HttpIn" endpointName="HttpIn" hostHeader=“pdctest" /> </Bindings> </Site> </Sites>
18. How can you see into the cloud? New release Remote Desktop IntelliTrace Windows Azure Diagnostics SQL Distributed Management Views Windows Azure Storage Viewers Most SQL Server Tools
20. Remote Desktop Enable as a deployment option in Visual Studio Use the Portal to: Deploy an exported certificate Connect to an instance Advanced options are available by editing the Service Definition and Service Configuration files Designate one role as the remote forwarder
21. Windows Azure Diagnostics Facility that collects diagnostic data from your instances and copies it to a storage account IIS logs, trace logs, IIS failed request logs, Windows Event logs, Performance counters and crash dumps Transfer the diagnostic data to a storage account Data is collected locally to each instance Transfer On Demand or at automatic scheduled intervals Configure diagnostics and transfers programmatically from within the role or remotely through a .NET API Windows Azure Monitoring, Logging, and Management APIs
22. What’s New in Diagnostics Enabled as an option and not programmatically Decoupled from the role process – i.e. starts before and will not exit with the role process Can collect data if the role failed to start or if the role is restarting Same configuration and API for VM roles
23. SQL Distributed Management Views Interesting data can be retrieved using dynamic management views. SQL Azure supports a subset Returns information regarding your current logical database only Common scenarios: Calculate database size Monitoring connections (active user and internal tasks) Monitoring Query Performance Monitoring SQL Azure Using Dynamic Management Views
24. Recap Setting up the cloud Deploying to the cloud Viewing into the cloud
25. Resources Cloudy in Seattle blog: http://blogs.msdn.com/jnak Samples Windows Azure Code Samples Windows Azure Service Management CmdLets Related videos: Windows Azure Monitoring, Logging, and Management APIs Using Microsoft Visual Studio 2010 to Build Application that run on Windows Azure
26. Wely Lau Microsoft MVP, Windows Azure Solutions Architect, NCS Pte Ltd Email : wely@ncs.com.sg Blog: http://wely-lau.net/ Thank you!
Editor's Notes
What is Full IIS?Windows Azure's Web Role has always allowed you to deploy web sites and services. However many people may not have realised that the Web Role did not actually run the full Internet Information Services (IIS). Instead, it used a component called Hosted Web Core (HWC), which as its name suggests is the core engine for serving up web pages that can be hosted in a different process. For most simple scenarios it doesn't really matter if you're running in HWC or IIS. However there are a number of useful capabilities that only exist in IIS, including support for multiple sites or virtual applications and activation of WCF services over non-HTTP transports through Windows Activation Services.One of the many announcements we made at PDC 2010 is that Windows Azure Web Roles will support Full IIS. This functionality is now publicly available and included inWindows Azure SDK v1.3. To tell the Windows Azure SDK that you want to run under Full IIS rather than HWC, all you need to do is add a valid <Sites> section to your ServiceDefinition.csdef file. Visual Studio creates this section by default when you create a new Cloud Service Project, so you don't even need to think about it!