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