400 likes | 508 Vues
This event on March 9 in Tallinn by Sergejus Barinovas, a Windows Azure MVP, delves into the essentials of shifting applications to the cloud. Covering the basics, Azure services, monitoring, and hybrid models, it offers a hands-on approach to understanding cloud deployment. Discover the architecture and tools involved in migrating to the cloud, with practical demonstrations to facilitate learning and scaling. Join the session for insightful discussions on implementing cloud solutions and adapting your current technologies for cloud environment.
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