moving applications to the cloud

40
Powered by MVP Independent Experts. Real World Answers. 2011 vasario 18, Vilnius

Upload: sergejus-barinovas

Post on 15-Jan-2015

3.825 views

Category:

Technology


5 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Moving applications to the cloud

Powered by MVPIndependent Experts. Real World Answers.

2011 vasario 18, Vilnius

Page 2: Moving applications to the cloud

Moving Applications to the Cloud…

Sergejus BarinovasArchitect, Windows Azure MVP

Page 3: Moving applications to the cloud

Q: Why this topic?

A: This is the most uncovered topic so far…

Page 4: Moving applications to the cloud

Back to BasicsQ: What is Cloud?

A: Elastic compute resource on demand

A: This is not a technology, this is a THINKING

Page 5: Moving applications to the cloud

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

Page 6: Moving applications to the cloud

Windows Azure is a PaaS Offering

Software-as-a-Service

consume

SaaSPlatform-as-a-Service

build

PaaSInfrastructure-as-a-

Service

host

IaaS

Page 7: Moving applications to the cloud

Windows Azure Compute

...in less than 5 minutes

Page 8: Moving applications to the cloud

Windows Azure Compute Primer

Web Role

Load

Bala

nce

r Web RoleWeb Role (IIS)Port 80

Web RoleWorker Role 1

Worker Role 2Port 1234

Port

80

Port

12

34

Internet Services

SQL Azure

Azure Storage

Fabric Controller

MonitoringProvisioningRecovering from failure

Page 9: Moving applications to the cloud

Windows Azure Compute

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

Web RoleWorker Role

Page 10: Moving applications to the cloud

Windows Azure Compute

Role is an executable

HTTP(S) and TCP

<your process here>

Web RoleWorker Role

Role is hosted on IIS

HTTP(S)

ASP.NET

Fast CGI + PHP

Page 11: Moving applications to the cloud

Windows Azure Portal

demo

Page 12: Moving applications to the cloud

Oops!

We need some way to diagnose the issue…

Page 13: Moving applications to the cloud

Windows Azure Monitoring

Windows Azure Diagnostics API

System Center Operation Manager (SCOM) Windows Azure Management Pack

Remote Desktop Connectionto Role Instance

Page 14: Moving applications to the cloud

RDP to Role Instance

demo

Page 15: Moving applications to the cloud

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> <Import moduleName="RemoteAccess" /> <Import moduleName="RemoteForwarder" /> </Imports> </WorkerRole> <WorkerRole name="TargetRole"> <ConfigurationSettings> <Setting name="DiagnosticsConnectionString" /> </ConfigurationSettings> <Imports> <Import moduleName="RemoteAccess" /> </Imports> </WorkerRole></ServiceDefinition>

Page 16: Moving applications to the cloud

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>

Page 17: Moving applications to the cloud

But I Can’t Use SQL Azure!

Let’s say for security reasons…

Page 18: Moving applications to the cloud

Hybrid Windows Azure Model

Your applications can be

Entirely On-Premises

Entirely in the Cloud

Both in the Cloud and On-Premises

Page 19: Moving applications to the cloud

Hybrid Windows Azure Model

Cloud On-premises

Windows Azure Connect

Page 20: Moving applications to the cloud

Windows Azure Connect

demo

Page 21: Moving applications to the cloud

Windows Azure Connect

Secure connectivity

Super simple setup

Active Directory support

Page 22: Moving applications to the cloud

But I Need Customizations!

Configure Windows, Install Applications, etc…

Page 23: Moving applications to the cloud

Admin Mode & Startup Tasks

Execute BAT and PowerShell scripts

Configure Windows Server and IIS

Install additional software

Update registry keys

Page 24: Moving applications to the cloud

“PING in the Cloud”

demo

Page 25: Moving applications to the cloud

Admin Mode & Startup Tasks

<WebRole name="WorkerRole1"> <Startup> <Task commandline="relative\path\ToSetupExecutable" executionContext="limited|elevated" taskType="simple|foreground|background"/> </Startup></WebRole>

Page 26: Moving applications to the cloud

Let’s Have Some FUN!

And give away some prizes for…

Page 27: Moving applications to the cloud

Yell “I LOVE Windows Azure”

I told you my talks are a little bit crazy…

Page 28: Moving applications to the cloud

OK, Let’s Continue…

Page 29: Moving applications to the cloud

But <your excuse here>

… and Startup Tasks can’t help you

Page 30: Moving applications to the cloud

VM Role

Worker Role – role is an executable

Web Role – role is hosted on IIS

VM Role – role is the virtual machine

Admin Web / Worker

RoleVM Role

Web / Worker Role

Abstraction Control

Page 31: Moving applications to the cloud

VM Role In a Nutshell

CloudOn-Premises

Blob StorageBoot

VHD

Customize VHD

Save Diff.VHD

Base.VHD

Page 32: Moving applications to the cloud

VM Role

demo

Page 33: Moving applications to the cloud

VM Role

<ServiceDefinition name="MyVMRoleService" xmlns="…"> <VirtualMachineRole name="MachineRole" vmsize="Medium"> <Imports> </Imports> </VirtualMachineRole></ServiceDefinition>

Page 34: Moving applications to the cloud

VM Role

<ServiceConfiguration serviceName="MyVMRoleService" xmlns="…"> <Role name="MachineRole"> <OsImage href="20101020BaseVM.vhd" /> <Instances count="2" /> <ConfigurationSettings> </ConfigurationSettings> <Certificates> <Certificatename="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="195FD938F86D8785FF53C660BCBD283819E0271A" thumbprintAlgorithm="sha1" /> </Certificates> </Role></ServiceConfiguration>

Page 35: Moving applications to the cloud

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)

Page 36: Moving applications to the cloud

VM Role

It’s NOT an Infrastructure as a Service!

Windows Azure does automate many management tasks

Page 37: Moving applications to the cloud

Recap: Moving Apps to the Cloud

It’s really easier than you thought, isn’t it?

Page 38: Moving applications to the cloud

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

Page 39: Moving applications to the cloud

Thank You!

Sergejus Barinovashttp://sergejus.blogas.lt@sergejusb

Page 40: Moving applications to the cloud