180 likes | 311 Views
Moving Applications to the Cloud with VM Role and Web/Worker Role. Name Title Microsoft Corporation. Agenda. Motivation & Overview Remote Desktop / Re-image / Reboot Admin Mode / Service Modeling Enhancements VM Role Q&A. Motivation & Overview.
E N D
Moving Applications to the Cloud with VM Role and Web/Worker Role Name Title Microsoft Corporation
Agenda Motivation & Overview Remote Desktop / Re-image / Reboot Admin Mode / Service Modeling Enhancements VM Role Q&A
Motivation & Overview Get more control & flexibility of the Windows Azure environment Developers IT Pros Easier migration of existing Windows applications to Windows Azure • Use these capabilities within Windows Azure service model for lower management costs and improved agility • Automated service management • Best practices for the cloud
Anatomy of a Windows Azure Service A Windows Azure service consists of: An isolation boundary A set of component roles, each with endpoints Numbered, multiple instances of each role A Windows Azure application behaves correctly when any role instance fails All of this is specified in a service model Web Role Worker Role VM Role
Comparison of Role Types Web Role The role is hosted on IIS • Worker Role • The role is an executable(you can create your own web server, host a database, …) • VM Role • The role is the VM • Use Windows services, scheduled tasks, etc. • You configure and maintain the OS Abstraction (i.e. Less IT & Less Plumbing Code) Control
Remote Desktop ROLE 1 ROLE 2 IN_0 IN_0 LB PORT 3389 IN_1 IN_1 IN_2 Remote Forwarder Internal Port 3389
Remote Desktop Configuration • <?xmlversion="1.0"encoding="utf-8"?> • <ServiceDefinition name="RemoteAccess" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> • <WorkerRole name="GatewayRole"> • <ConfigurationSettings> • <Setting name="DiagnosticsConnectionString" /> • </ConfigurationSettings> • <Imports> • <Import moduleName="RemoteAccess" /> • <Import moduleName="RemoteForwarder" /> • </Imports> • </WorkerRole> • <WorkerRole name="TargetRole"> • <ConfigurationSettings> • <Setting name="DiagnosticsConnectionString" /> • </ConfigurationSettings> • <Imports> • <Import moduleName="RemoteAccess" /> • </Imports> • </WorkerRole> • </ServiceDefinition>
Remote Desktop Configuration • <Rolename="WorkerRole1"> • <Instancescount="1"/> • <ConfigurationSettings> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled"value="true"/> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername"value="myuser"/> • <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" • value="[base64]" /> • <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration"value="2010-06-16T13:04:02.9666425-07:00"/> • </ConfigurationSettings> • <Certificates> • <Certificatename="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordCertificate" • thumbprint="c0c23e1cdd7bfb20c14dce97b37ea67bd9f24918" thumbprintAlgorithm="sha1" /> • </Certificates> • </Role>
VM Role – Overview Ability to upload your own customized WS08R2 Enterprise images Developers have full control over the OS image Continue to benefit from automated service management, including service model enhancements described on subsequent slides Operators can reboot, re-image and Remote Desktop
VM Role Lifecycle • Build VM Image • Convert product DVD to a VHD, or use existing VHD • Prepare the VHD (Install Integration Components/SysPrep) Create Service • Create a service model with the above image Upload Image • Store VHD in Windows Azure blob storage Deploy Service • Include in service model. Specify instance count • Package as cspkg, upload cskpg Maintain Service • Remote Desktop • Reboot / Reimage Upgrade Service • Repeat above steps, with a new OS image
VM Role Lifecycle • Identical/similar deployment instances using • common uploaded OS image (base.VHD + diff.VHD) Base.VHD Blob Storage & Additional Software & Windows Azure Integration Components: Agent Runtime Interface (topo, config, shutdown notification, …) Remote Desktop configurator Diagnostics Windows Azure Drives driver Windows Azure Connect & Generalize (Recommended) Boot VHD Customize VHD • Save Diff.VHD On-Premises Cloud
Creating a Service – Service Definition • <ServiceDefinition name="MyVMRoleService" xmlns="…"> • <VirtualMachineRolename="MachineRole"vmsize="Medium"> • <Imports> • <ImportmoduleName="RemoteAccess" /> • <ImportmoduleName="RemoteForwarder" /> • <ImportmoduleName="Diagnostics" /> • </Imports> • </VirtualMachineRole> • </ServiceDefinition>
Creating a Service – Service Configuration • <ServiceConfiguration serviceName="MyVMRoleService" xmlns="…"> • <Role name="MachineRole"> • <OsImagehref="20101020BaseVM.vhd"/> • <Instancescount="2"/> • <ConfigurationSettings> • <Settingname="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString“ • value="DefaultEndpointsProtocol=http;AccountName=mohittest;AccountKey=JEBzeqFeP1g=="/> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled"value="true"/> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername"value="" /> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" • value="" /> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" • value="2012-07-23T23:59:59.0000000-07:00"/> • <Settingname="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled"value="true"/> • </ConfigurationSettings> • <Certificates> • <Certificatename="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption"thumbprint="195FD938F86D8785FF53C660BCBD283819E0271A"thumbprintAlgorithm="sha1"/> • </Certificates> • </Role> • </ServiceConfiguration>
VM Role demo
VM Role – Common Questions Will any WS08 R2-based application work? No, VM Role inherits some Web/worker restrictions: SLA requires at least two identical/similar instances No durability of OS image on hardware failure One public IP per service (unless using Windows Azure Virtual Network) Does Windows Azure take care of *everything*? No, with VM Role, the customer creates & maintains the OS. Windows Azure does not automatically understand the health of the applications running in our VM. But, since you deploy services instead of individual VM’s, Windows Azure does automate many management tasks.
VM Role – Common Questions How will it be priced? It will be priced the same as Web and Worker roles. Customers will be charged at an hourly rate depending on the compute instance size. How does licensing in the cloud work? Windows: Included in the CPU-hour price Licensing status of uploaded image is not considered Applications: Per the licensing terms of the application