Moving applications to the cloud


Published on

101 on moving application to the Windows Azure Cloud using new features like Remote Desktop, Windows Azure Connect, Admin Mode and Startup Tasks, VM Role.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Task Types:Simple [Default] – System waits for the task to exit before any other tasks are launchedBackground – System does not wait for the task to exitForeground – Similar to background, except role is not restarted until all foreground tasks exit
  • Moving applications to the cloud

    1. 1. Powered by MVP<br />Independent Experts. Real World Answers.<br />2011 vasario18, Vilnius<br />
    2. 2. Moving Applications to the Cloud…<br />Sergejus Barinovas<br />Architect, Windows Azure MVP<br />
    3. 3. Q: Why this topic?<br />A: This is the most uncovered topic so far…<br />
    4. 4. Back to BasicsQ: What is Cloud?<br />A: Elastic compute resource on demand<br />A: This is not a technology, this is a THINKING<br />
    5. 5. Cloud as a way of THINKING<br />Existing technologies adopted in a new way<br />Utility model is welcomed by small companies and enterprises<br />Symbiosis of IT Professionals and Developers called DevOps<br />
    6. 6. Windows Azure is a PaaS Offering<br />IaaS<br />SaaS<br />PaaS<br />Infrastructure-as-a-Service<br />Platform-as-a-Service<br />Software-as-a-Service<br />consume<br />build<br />host<br />
    7. 7. Windows Azure Compute<br /> less than 5 minutes<br />
    8. 8. Windows Azure Compute Primer<br />Azure Storage<br />Web Role<br />Port80<br />Web Role<br />Web Role (IIS)<br />Port 80<br />Web Role<br />SQL Azure<br />LoadBalancer<br />Worker Role 1<br />Worker Role 2<br />Port 1234<br />Port1234<br />Internet Services<br />Monitoring<br />Provisioning<br />Recovering from failure<br />Fabric Controller<br />
    9. 9. Windows Azure Compute<br />Web Role<br />Worker Role<br />Windows Server x64 2008 / 2008 R2<br />.NET Framework 3.5 SP1 / 4.0<br />Native Code, PHP, Java, <your runtime here><br />Full Trust and Admin Mode<br />
    10. 10. Windows Azure Compute<br />Web Role<br />Worker Role<br />Role is an executable<br />HTTP(S) and TCP<br /><your process here><br />Role is hosted on IIS<br />HTTP(S)<br />ASP.NET<br />Fast CGI + PHP<br />
    11. 11. Windows Azure Portal<br />demo <br />
    12. 12. Oops!<br />We need some way to diagnose the issue…<br />
    13. 13. Windows Azure Monitoring<br />Windows Azure Diagnostics API<br />System Center Operation Manager (SCOM) Windows Azure Management Pack<br />Remote Desktop Connectionto Role Instance<br />
    14. 14. RDP to Role Instance<br />demo <br />
    15. 15. Remote Desktop Configuration<br /><?xml version="1.0" encoding="utf-8"?><br /><ServiceDefinition name="RemoteAccess" xmlns=""><br /> <WorkerRole name="GatewayRole"><br /> <ConfigurationSettings><br /> <Setting name="DiagnosticsConnectionString" /><br /></ConfigurationSettings><br /><Imports><br /><ImportmoduleName="RemoteAccess" /><br /><ImportmoduleName="RemoteForwarder" /><br /></Imports><br /></WorkerRole><br /><WorkerRole name="TargetRole"><br /> <ConfigurationSettings><br /> <Setting name="DiagnosticsConnectionString" /><br /> </ConfigurationSettings><br /><Imports><br /><ImportmoduleName="RemoteAccess" /><br /></Imports><br /></WorkerRole><br /></ServiceDefinition><br />
    16. 16. Remote Desktop Configuration<br /><Role name="WorkerRole1"><br /> <Instances count="1" /><br /> <ConfigurationSettings><br /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled“ value="true" /><br /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="myuser" /><br /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="[base64]" /><br /><Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2010-06-16T13:04:02.9666425-07:00" /><br /></ConfigurationSettings><br /><Certificates><br /><Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordCertificate" thumbprint="c0c23e1cdd7bfb20c14dce97b37ea67bd9f24918"thumbprintAlgorithm="sha1" /><br /></Certificates><br /></Role><br />
    17. 17. But I Can’t Use SQL Azure!<br />Let’s say for security reasons…<br />
    18. 18. Hybrid Windows Azure Model<br />Your applications can be<br />Entirely On-Premises<br />Entirely in the Cloud<br />Both in the Cloud and On-Premises<br />
    19. 19. Hybrid Windows Azure Model<br />Cloud<br />On-premises<br />Windows Azure Connect<br />
    20. 20. Windows Azure Connect<br />demo <br />
    21. 21. Windows Azure Connect<br />Secure connectivity<br />Super simple setup<br />Active Directory support<br />
    22. 22. But I Need Customizations!<br />Configure Windows, Install Applications, etc…<br />
    23. 23. Admin Mode & Startup Tasks<br />Execute BAT and PowerShell scripts<br />Configure Windows Server and IIS<br />Install additional software<br />Update registry keys<br />
    24. 24. “PING in the Cloud”<br />demo <br />
    25. 25. Admin Mode & Startup Tasks<br /><WebRolename="WorkerRole1"><br /> <Startup><br /> <Taskcommandline="relativepathToSetupExecutable"<br />executionContext="limited|elevated" <br />taskType="simple|foreground|background"/><br /> </Startup><br /></WebRole><br />
    26. 26. Let’s Have Some FUN!<br />And give away some prizes for…<br />
    27. 27. Yell “I LOVE Windows Azure”<br />I told you my talks are a little bit crazy…<br />
    28. 28. OK, Let’s Continue…<br />
    29. 29. But <your excuse here><br />… and Startup Tasks can’t help you<br />
    30. 30. VM Role<br />Worker Role – role is an executable<br />Web Role – role is hosted on IIS<br />VM Role – role is the virtual machine<br />Admin Web / Worker Role<br />VM Role<br />Web / Worker Role<br />Abstraction<br />Control<br />
    31. 31. VM Role In a Nutshell<br />Base.VHD<br />Blob Storage<br />Cloud<br />On-Premises<br />
    32. 32. VM Role<br />demo <br />
    33. 33. VM Role<br /><ServiceDefinitionname="MyVMRoleService"xmlns="…"><br /> <VirtualMachineRolename="MachineRole"vmsize="Medium"><br /> <Imports><br /> </Imports><br /> </VirtualMachineRole><br /></ServiceDefinition><br />
    34. 34. VM Role<br /><ServiceConfigurationserviceName="MyVMRoleService"xmlns="…"><br /> <Rolename="MachineRole"><br /> <OsImagehref="20101020BaseVM.vhd" /><br /><Instancescount="2" /><br /><ConfigurationSettings><br /></ConfigurationSettings><br /><Certificates><br /> <Certificatename="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption"thumbprint="195FD938F86D8785FF53C660BCBD283819E0271A"thumbprintAlgorithm="sha1" /><br /> </Certificates><br /> </Role><br /></ServiceConfiguration><br />
    35. 35. VM Role<br />Ability to upload customized Windows Server x64 2008 R2 Enterprise image<br />You are now responsible for patching and maintenance<br />OS image is not durable (yet)<br />
    36. 36. VM Role<br />It’s NOT an Infrastructure as a Service!<br />Windows Azure does automate many management tasks<br />
    37. 37. Recap: Moving Apps to the Cloud<br />It’s really easier than you thought, isn’t it?<br />
    38. 38. Moving Applications to the Cloud<br />Use Remote Desktop for easier diagnostics<br />Use Azure Connect to interconnect cloud and on-premise applications<br />Use Admin Mode and Startup Tasks to customize Windows and install software<br />Use VM Role to migrate legacy and native applications<br />
    39. 39. Thank You!<br />Sergejus Barinovas<br /><br />@sergejusb<br />