87
www.orbitone.com Orbit One BVBA Raas van Gaverestraat 83 B-9000 GENT, BELGIUM Website www.orbitone.com E-mail [email protected] Tel. +32 9 330 15 00 VAT BE 456.457.353 Bank 442-7059001-50 (KBC) 10 March, 2011 Azure + Umbraco workshop

Azure and Umbraco CMS

Embed Size (px)

DESCRIPTION

Workshop on 10 March 2011, giving by Kurt Claeys (Microsoft), Mel Gerats and Olivier Mangelschots (Orbit One).Topics:Technical dive into AzureUmbraco CMS and AzureAzure Development ProgramHands-on workshop

Citation preview

Page 1: Azure and Umbraco CMS

www.orbitone.com

Orbit One BVBARaas van Gaverestraat 83B-9000 GENT, BELGIUM Website www.orbitone.com

E-mail [email protected] Tel. +32 9 330 15 00VAT BE 456.457.353Bank 442-7059001-50 (KBC)

10 March, 2011Azure + Umbraco workshop

Page 2: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop2

Who are we?

Kurt ClaeysMicrosoft EMEATechnology Solution Professional Windows [email protected] http://twitter.com/kurtclaeys

Mel GeratsOrbit One, Lead [email protected]

Olivier MangelschotsOrbit One, Managing [email protected]

Page 3: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop3

Free workshop

Sponsored by Microsoft Azure

In collaboration with Belgian Umbraco User Group (BUUG.be)

Hosted by Orbit One

Page 4: Azure and Umbraco CMS

We are:Team of 18Microsoft Gold Partner

We build:Websites, Intranet, Portals, custom solutions

We love:.NET, SharePoint, Dynamics CRM, Umbraco, Lync, New World of Work

Orbit OneInternet Solutions

Azure + Umbraco workshop10 March, 2011

4

Page 5: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop5

Who are you?

Damiaan Peeters (Comm-IT.be)Tom Crombez (Microsoft.com)Christophe Heureux (JWTDialogue.com)David Desloovere (Natcheurope.com)Anthony Candaele (Webmove.be)Dirk De Grave (netaddICTs.be)David Verberckmoes (Promex.be)Voicu Matei (OrbitOne.com)Thomas Stock (OrbitOne.com)Lieven Meys (OrbitOne.com)Kevin De Smet (OrbitOne.com) Welcome!

Page 6: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop6

Don’t miss: Umbraco BE Festival

Friday 18 March 9:00 – 18:00deSingel Antwerp

Free entrance, register on BUUG.be International speakersSponsored by:

Page 7: Azure and Umbraco CMS

7 Azure + Umbraco workshop10 March, 2011

We will make everything available:SlidesBinaries/source codeDocumentation

Check www.buug.be

Downloads

Page 8: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop8

Agenda

9:30 – 11:00 Technical dive into AzureBreak

11:30 – 12:30 Umbraco CMS and AzureLunch

13:30 Azure Development Program

13:45 – 16:30 Hands-on workshop

We are a small group, let’s make it interactive!

Page 10: Azure and Umbraco CMS

Technical dive into Azure

10 Azure + Umbraco workshop10 March, 2011

Page 11: Azure and Umbraco CMS

Who is familiar with?

Load balancer (NLB)Round robinSticky sessions

10 March, 2011Azure + Umbraco workshop11

Page 12: Azure and Umbraco CMS

Azure + Umbraco workshop12

Concept: Network load balancing (NLB)

10 March, 2011

Page 13: Azure and Umbraco CMS

Journey to the Cloud

SOFTWAREA S A S E R V I C E

PLATFORMA S A S E R V I C E

INFRASTRUCTUREA S A S E R V I C E

Page 14: Azure and Umbraco CMS

The Windows Azure platform is a flexible cloud–computing platform that lets you focus on solving business problems and addressing

customer needs.

Page 15: Azure and Umbraco CMS

Cloud Computing TaxonomyThe Windows Azure platform fits here

Traditional IT

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

You m

anage

IaaS

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Managed b

y v

endor

You m

anage

You m

anage PaaS

Managed b

y v

endorStorage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

SaaS

Managed b

y v

endor

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Page 16: Azure and Umbraco CMS

Usage

Com

pu

te

Time

Average

Inactivity

Period

“On and Off “

On & off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome

Com

pu

te

Time

“Unpredictable Bursting“

Average Usage

Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases

Average Usage

Com

pu

te

Time

“Growing Fast“

Successful services needs to grow/scale Keeping up w/ growth is big IT challenge Complex lead time for deployment

Com

pu

te

Time

Average Usage

“Predictable Bursting“

Services with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity

Cloud Scenarios

Page 17: Azure and Umbraco CMS

online tax declaration, deadline is july 15th

internet based lottery game grows faster than expected

Azure Examples

Page 18: Azure and Umbraco CMS

Azure Datacenters

Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs

Page 19: Azure and Umbraco CMS

Azure Fabric Controller

The Fabric Controller communicates with every server within the Fabric. Interacts with a “Fabric Agent” on each machineMonitors every VM, application and instanceService Management is performed by the Fabric Controller Performs load balancing, check pointing and recovery

Fabric Controller

Fabric

X

X

X

Service Definition

Page 20: Azure and Umbraco CMS

Virtual NetworkCompute Storage

Data Sync

Database Reporting

CachingService Bus

Access Control

Page 21: Azure and Umbraco CMS

Internet

Windows Azure Service

Your Service

Web Site(ASPX, ASMX,

WCF)

Web Site(ASPX, ASMX,

WCF)Web Role

(ASPX, WCF)

Worker Service

Worker Role

Your StorageTables Blobs

Queues

NL B

Azure Architecture

SQL Data

SQL

SQL

SQL

Page 22: Azure and Umbraco CMS

Azure Network Load Balancer

webrole

Instance 1

Instance 2

Instance 3

NLB

Page 23: Azure and Umbraco CMS

Azure Network Load Balancer

webrole

Instance 1

Instance 2

Instance 3

NLB

Page 24: Azure and Umbraco CMS

Azure Network Load Balancer

webrole

Instance 1

Instance 2

Instance 3

NLB

“round robin”no sticky sessions !

Page 25: Azure and Umbraco CMS

Azure Roles

Running apps in a virtual machineA virtual machine can have 1,2,4 or 8 coresWe can have multiple instances of the VM runningThree types

Web Role = internet facing, IIS, request/response, ASP.NET or WCFWorker Role = background processing, endless loop, internal endpoints, can host WCF servicesVM Role = custom OS (W2008R2)

Page 26: Azure and Umbraco CMS

• WebRole– Hosting ASP.NET pages and/or WCF Services.– Handles incoming HTTP/HTTPS requests.– Public, Internet faced.– Has access to Storage Services.

• WorkerRole– Code running in background, processing jobs.– ‘Hidden’ processing power.– Similar to a batch job or Windows service.– Handles messages from a queue.– Has access to Storage Services.

Azure Roles

Page 27: Azure and Umbraco CMS

Storage

blobs

tables

queues

SQL Azure DB

Service

X number of Webroles

webrole 1

Instance 1 Instance 2 Instance 3

X number of Workerroles

workerrole1

internal endpoint internal endpoint internal endpoint

Instance 1 Instance 2 Instance 3

certificate

Performance Metrics

Application Log Files

Event Logs

IIS Logs

Crashdumps

Service configuration, maintainable after deploy

Service definition, defined at deployment

webrole 2

Azure Service

Instance 1

external endpoint 1 (port80)external endpoint 2 (port X)

Page 28: Azure and Umbraco CMS

Configuring Virtual Machines Size

VM Size CPU Cores Memory

Disk Space for Local Storage Resources

Small 1 1.7 GB 250 GB

Medium 2 3.5 GB 500 GB

Large 4 7 GB 1000 GB

ExtraLarge 8 14 GB 2000 GB

Page 29: Azure and Umbraco CMS

Configuring the service

Service configuration, maintainable after deployNumber of instancesConnectionString to StorageThumbprints of certificatesCustom setting

Service definition, defined at deploymentSize of VMLocal storage capacityEndpoint

ExternalInternal

Page 30: Azure and Umbraco CMS

Scaling (custom scaling engine)

AppApp

running on 2 instances

performance metrics

Local DB

Scaling engine

defines on metrics and polling intervalsinterprete metrics

Configuration

changes the configuration

App

3

Page 31: Azure and Umbraco CMS

Azure VMRole

Ability to upload your own customized WS2008R2 Enterprise imagesFull control over the OS image, install whatever you want on it.You can remote desktop into the OSTarget scenarios

Need to use apps/libraries with no unattended setup32 bits appsChange registry settings

Scale out !Instances are behind loadbalancer, one public IP per serviceNo durability of OS image on hardware failure

With VM Role, the customer creates & maintains the OSPaying model = Paying model of current web/workerroleUses differencing disks to upload deltas to image

Page 32: Azure and Umbraco CMS

Web/WorkerRole vs VMRoleAll three are virtual images running in the datacenter under control of the Azure fabric controller behind the loadbalancer.

Web/Worker RoleThe virtual image is already there, ... you upload your app, ... Azure places this app on the image and runs the image.

VM RoleYou upload the complete virtual image with all apps installed, ... Azure runs the image

virtual image

appapp

virtual image

app

virtual image

app

development environment Azure

development environment Azure

Hyper-V

Visual Studio

Page 33: Azure and Umbraco CMS

Azure Storage

Non SQL dataUnlimited storage4 types

Tables: no fixed schema, no relationsBlobs: large objects, have metadata attributes, MIME type awareQueues: assync communication to workerroleDrives: NTFS volume mounted to roles

Accessible through a HTTP/REST API

Page 34: Azure and Umbraco CMS

Windows Azure Storage Account

User creates a globally unique storage account name.

Account

Blob Table Queue

Storage keeps being available, even when application is not running !

Page 35: Azure and Umbraco CMS

Libraries

Microsoft.WindowsAzure.*

System.Data.ServicesSystem.Data.Services.Client

Found in Windows Azure SDK

.NET 3.5

using Microsoft.WindowsAzure;using Microsoft.WindowsAzure.StorageClient;using System.Data.Services.Common;

Page 36: Azure and Umbraco CMS

PAAS

Azure Storage Tables

table

partition key

row key

timestamp

field1

field2

field3

Tables are partitioned to support load balancing across storage nodes unique

Page 37: Azure and Umbraco CMS

Table Partioning

A 123 foo bar etcA 124 foo bar etcB 123 foo bar etc

Partition key Row key Data

A 123 foo bar etcA 124 foo bar etc

Partition “A”

Storage node 1

B 123 foo bar etc

Partition “B”

Storage node 2

PAAS

Page 38: Azure and Umbraco CMS

Azure Storage Blobs

Large dataCan be made private or publicCan have metadata attributes and MIME typesCan be cached by a Azure Content Delivery Network (CDN)Time based access to blobs with shared access signaturesTwo Types

Block Blobs : max 200GB, Use for data which is streamed back to a worker or client Page Blobs : max 1TB, Use for data accessed frequently by random reads and writes.

Azure Drives are also blobs

PAAS

Page 39: Azure and Umbraco CMS

Blob addressing

BlobContainerAccounts

MyAccount

SomeContainer

AnotherContainer

Pic001.jpg

Pic002.jpg

Mov001.wmv

Mov002.wmv

http://<AccountName>.blob.core.windows.net/<ContainerName>/<BlobName>

Page 40: Azure and Umbraco CMS

PAAS

Azure Storage Blobs accessibility

blob

private(Azure service or on

premises)

need storage credentials

public(browser, REST)

no storage credentials

time based with shared access signature

GET http://myaccount.blob.core.windows.net/pictures/profile.jpg? st=2009-02-09&se=2009-02-10 &sr=c&sp=r&si=YWJjZGVmZw%3d%3d&sig= dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN%2fRnbI%3d

Page 41: Azure and Umbraco CMS

Shared Access Signatures

• Limit blobs in public container to be readable only if url contains shared access signature.

• Share access signature can be made valid for a timerange only.

http://<accountname>.blob.core.windows.net/<containername>/<blobname>?se=2010-04-04T11%3A38%3A31Z&sr=b&sp=r&sig=D73BRVuRBV9nXp9rsw35b5rkLadi6YEZ4Ti1S8eeAQQ%3D

Page 42: Azure and Umbraco CMS

Azure Storage Drives

NTFS volume as .vhd, mounted to local OS

data

WIN7/WS2008

On premises Azure

data

Web/WorkerRole

Blob Storage

PAAS

Page 43: Azure and Umbraco CMS

Azure Storage Drives

WIN7/WS2008

On premises Azure

data

Web/WorkerRole

Blob Storage

mounts to driveletterlegacy IO code works

dataUpload as blobdat

a

unmounted

PAAS

Page 44: Azure and Umbraco CMS

Azure Content Delivery Network

Azure Datacenter

Service (webrole, workerrole)

Blob storage

user

CDN Node

requests blob

Is blob cached here ?blob

PAAS

Page 45: Azure and Umbraco CMS

Azure Content Delivery Network

Azure Datacenter

Service (webrole, workerrole)

Blob storage

user

CDN Node

another request

blob

PAAS

Page 46: Azure and Umbraco CMS

Azure Content Delivery Network

Azure datacentersDublinAmsterdam

Current CDN nodesAmsterdamDublinLondon Paris StockholmVienna Zurich

PAASOnly EU datacenters listed here

Page 47: Azure and Umbraco CMS

AppFabric Caching

A distributed, in-memory cache, implemented as a cloud service.  The same capabilities available in Windows Server AppFabric Caching.You can programmatically interact with the cache.Out-of-the-box ASP.NET providers for both session state and page output caching.Scenarios :

Statefull, multi-instance Azuer rolesASP.NET page cachingSpeed up access to static data

Page 48: Azure and Umbraco CMS

AppFabric Caching

Role Instance 1 Role Instance 2 On Premise app

Caching

Read/Write data Read/Write data Read/Write data

Page 49: Azure and Umbraco CMS

Azure Virtual Network

Aka as “Azure Connect”Secure network connectivity between on-premises and cloud, supports standard IP protocolsAutomatic setup of secure IP-level networkExample use cases:

Enterprise app migrated to Windows Azure that requires access to on-premise SQL ServerWindows Azure app domain-joined to corporate Active Directory Remote administration and trouble-shooting of Windows Azure Roles

Enable local computers for connectivity by installing WA Connect agentDNS name resolution

Page 50: Azure and Umbraco CMS

Azure Virtual Network

Web/Worker VM Role

On PremiseMachine

Azure Connect Gateway

Azure Connect Gateway Azure Connect Gateway

Network policy managed through

portal

SQL Server

IPV6 address IPV6 address

IPV6 address

Page 51: Azure and Umbraco CMS

AppFabric Access Control

Azure ACS

WebApp

Facebook ID

ADFS2

identity providers

Claims

Redirect loginauthorization

rules

Page 52: Azure and Umbraco CMS

Azure Upgrades Swap Staging / Production

Get-HostedServices -subscriptionId <YOUR_SUBSCRIPTION_ID> -certificate (get-item cert:\CurrentUser\MY\<YOUR_CERTIFICATE_THUMPRINT>) | where {$_.ServiceName –eq “<YOUR_SERVICE_NAME>”} | Get-Deployment staging | Move-Deployment | Get-OperationStatus –WaitToComplete

PAAS

Page 53: Azure and Umbraco CMS

Azure Upgrades Rolling Upgrades

V1 instance 1

V1 instance 2

V1 instance 3

V1 instance 4

Upgrade domain 1 Upgrade domain 2

V1 instance 1

V1 instance 2

V1 instance 3

V1 instance 4

Upgrade domain 1 Upgrade domain 2

V2 instance 1

V2 instance 2

V1 instance 3

V1 instance 4

Upgrade domain 1 Upgrade domain 2

V2 instance 1

V2 instance 2

V1 instance 3

V1 instance 4

Upgrade domain 1 Upgrade domain 2

V2 instance 1

V2 instance 2

V2 instance 3

V2 instance 4

Upgrade domain 1 Upgrade domain 2

1. fabric controller brings down 1st upgrade domain

2. upgrade

3. fabric controller brings next upgrade domain

4. upgrade

Page 54: Azure and Umbraco CMS

SQL Azure

Relational DB in the CloudBased on SQL 2008 R2Accessible from every ADO.NET clientSQL 2008 R2 Management Studio High-availability and fault toleranceNo physical administration is required Use existing knowledge in T-SQL development Scale databases up or down based on business needs (between 1GB and 50GB)

PAAS

Page 55: Azure and Umbraco CMS

SQL Azure

SQL Azure Server

Master DB

My DB(1 GB)

My DB(50 GB)

admin

logins users and roles users and roles

firewall

Azure Services(webrole,workerrole)

Anybody

internal restricted IP ranges

code “near” code “far”PAAS

Page 56: Azure and Umbraco CMS

SQL Azure

SQL Azure Server

Master DB

My DB(1 GB)

My DB(50 GB)

admin

firewall

Azure Services(webrole,workerrole)

Anybody

internal restricted IP ranges

code “near” code “far”

stored on 3 replicas stored on 3 replicas stored on 3 replicas

PAAS

Page 57: Azure and Umbraco CMS

PAAS

SQL Azure quorum commit

Quorum based commit scheme where data is written to the primary and one secondary replica before we consider the transaction committed.

DB

transaction

write write

replicas

Page 58: Azure and Umbraco CMS

PAAS

SQL Azure quorum commit

Quorum based commit scheme where data is written to the primary and one secondary replica before we consider the transaction committed.

DB

transaction

replicas OK OK

commited

Page 59: Azure and Umbraco CMS

Journey to the Cloud

all in.We’r e

Page 60: Azure and Umbraco CMS

Short break

60 Azure + Umbraco workshop10 March, 2011

Feel at home – help yourself!Coffee, tea, Coca-Cola, Fanta, Juice, Ice tea, ...

Session continues at 11:30

Page 61: Azure and Umbraco CMS

CMS systems on Azure

61 Azure + Umbraco workshop10 March, 2011

Page 62: Azure and Umbraco CMS

Azure + Umbraco workshop62

CMS in Azure, why?

Paul Sterling [email protected] (Technical Lead)Azure solving the future issues of

•highly-scaled•widely distributed•very dynamic WCMS solutions

NOT a replacement for traditional hosting, but a new option

10 March, 2011

Page 63: Azure and Umbraco CMS

Azure + Umbraco workshop63

How much does it cost?

Simulation (approximate cost)1GB Azure SQL 10GB Blob storage (475000 read/write transactions/day)50GB download traffic, 5GB upload traffic

One webinstance: €86/month Two instances: €148/month Two instances + one staging: €210/month

ConclusionHosting websites on Azure = starting at €1.000€/year

Use Azure Pricing Excel to calculate!Demo?

10 March, 2011

Page 64: Azure and Umbraco CMS

Azure + Umbraco workshop64

WCMS in Azure

Azure is great forHigh traffic websitesSites where you need to quickly scale-up/downGlobal sites (visits many geo locations)Load balancing, stronger SLA’s

Azure is not ideal forLow cost hosting projectsProjects with lots of legacy code/dependencies

10 March, 2011

Page 65: Azure and Umbraco CMS

65

Umbraco in Azure

Azure + Umbraco workshop10 March, 2011

Page 66: Azure and Umbraco CMS

Azure + Umbraco workshop66

Umbraco v4.5+ in Azure: Challenges

What did we learn this morning?Group talk

10 March, 2011

Page 67: Azure and Umbraco CMS

67

Where does Umbraco store info?

SQL database: Page templates (no binaries, only references in DB)Page content (meta-data, texts, navigation nodes)Media/documents (no binaries, only reference in DB)Users & members, permissionsLogs (errors, actions in admin)

File storage: Page templates: .MasterScripts/styles: XSLT, CSS, JS, ... + design elements used in templatesUser controls: ASCX/DLLs + Umbraco binariesMedia: GIF, JPG, PDF, Videos, ...Config: web.config + /config/ xml files

10 March, 2011Azure + Umbraco workshop

Page 68: Azure and Umbraco CMS

68

Umbraco XML cache

XML file (/app_data/umbraco.config)Stored on local file systemContains all published nodes

PurposeFast app warm-up time (<1 sec)Less SQL queries – SQL is not used public site

Automatically updatedEvery time you publish using Umbraco backendXML dump of in-memory cache

http://forum.umbraco.org/yaf_postst4161_Umbraco-caching-explained.aspx

10 March, 2011Azure + Umbraco workshop

Page 69: Azure and Umbraco CMS

69

Challenges

Multiple instances of the web-roleRound-robin load-balancingSessions need to be stored centrally

StorageNo local storage (unsafe)No “shared drive” over multiple machines

CDNOnly possible when files are stored on Azure Blobs

Custom code

10 March, 2011Azure + Umbraco workshop

Page 70: Azure and Umbraco CMS

7010 March, 2011Azure + Umbraco workshop

Solutions for Umbraco v4.5+

1. Simple web-role

2. Accelerator

3. Sync Scripts (by Kurt & O1)Since yesterday

Page 71: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop71

Compare solutions

Simple webrole Accelerator Sync Scripts

Data persistence ×no backups!

√ √

Storage used Local on webrole

Azure BlobNTFS Mounted

Local synced with Azure Blob

Multiple instances (Azure SLA)

× ×challenging

×challenging

Initial setup Easy ComplexOld Azure APIs

Easy

Updates 20 min (downtime)New VS deploy

10 min (downtime)Upload VHD

<1 minFTP type access

>1 site per webrole (multi-tenant)

√Using Visual Studio

× √Using config scripts

Page 72: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop72

Accelerator (CodePlex)

Page 73: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop73

Accelerator (CodePlex)

CodePlex project http://azureaccelerators.codeplex.com By Slalom Consulting (Seattle)

Uses old Azure API implementationOnly 1 webrole is supportedLess control storage transactions (mounted drive)

Page 74: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop74

Synchronization scripts

Page 75: Azure and Umbraco CMS

Azure + Umbraco workshop75

Synchronisation scripts

Current implementation (free Download)One-way sync, copies from Azure Blob to local storage (full sync)IIS configuration, app Pool, Website, binding of hostheadersTriggered at VM boot (startup.exe)

Future (CodePlex project)ConstantSync from Blob > VM

•Triggered by a service call (avoid polling/storagetransactions)Bidirectional synchronisation

•Also from VM to Blob Storage

Thanks to Kurt Claeys!

10 March, 2011

Page 76: Azure and Umbraco CMS

Azure + Umbraco workshop76

FTP like access to Azure Blob

CloudBerry Explorer for Azure Blob Storagehttp://cloudberrylab.com

Free!

10 March, 2011

Page 77: Azure and Umbraco CMS

Azure + Umbraco workshop77

CloudBerry Explorer

10 March, 2011

Page 78: Azure and Umbraco CMS

Azure + Umbraco workshop78

Future: Umbraco v5

Beta expected Q2 2011 (April/May)RTM somewhere end 2011

Paul Sterling [email protected] (Technical Lead)With regard to Umbraco v5; the support for Azure will be native in the sense that the architecture takes into account the de-coupled scenarios possible in cloud-based computing - where your data store may be a database, a flat store, or a blob store - and the runtime may be in a single instance or in 1,000's of volatile instances.

If you are looking to leverage Azure for your solutions in the future, keep an eye on v5 as much of the architecture has been finalized and a usable code base is not too far off.

10 March, 2011

Page 79: Azure and Umbraco CMS

Azure + Umbraco workshop79

Umbraco v4.5+ in Azure, too early?

Yes, for most scenariosOnly one instance, quite complex

But it’s great to:Experiment with AzureBe ready for the future

10 March, 2011

Page 80: Azure and Umbraco CMS

Lunch

80 Azure + Umbraco workshop10 March, 2011

There are sandwiches and fresh soup

Workshop starts at 13:15

Page 81: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop81

Azure Development Program

Pay €1.500 to Microsoft and get1 half day business workshop (Why Azure, pricing, ...)4 half days technical assistance

When your project goes live (before 15 May)Can also be Proof of ConceptFull refund of €1.500!Visibility on Microsoft sites

First 50 live Benelux projects get a priceWindows Phone 7, ...

Interested? Contact Tom [email protected]://yourbusinessyourfame.cloudapp.net

Page 82: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop82

Cloud Essentialshttp://www.microsoftcloudpartner.com

Windows Azure 750 hours of an extra small compute instance 25 hours of a small compute instance 3GB of storage 250,000 storage transactions

SQL Azure 1 Web Edition database (1 GB)

Windows Azure platform AppFabric 100,000 Access Control transactions 2 Service Bus connections

Data Transfers (worldwide) 3 GB in 6 GB out

Page 83: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop83

MSDN Premium Subscription Benefithttp://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=nl-BE&offer=MS-AZR-0005P

Windows Azure 750 hours of a small compute instance 10 GB of storage 1,000,000 storage transactions

SQL Azure 3 Web Edition databases (up to 1 GB relational database each)

Windows Azure platform AppFabric 1,000,000 Access Control transactions 1 pack of 5 Service Bus connections***

Data Transfers North America and Europe (per region)

•7 GBs in •14 GBs out

Page 84: Azure and Umbraco CMS

Hands-on

84 Azure + Umbraco workshop10 March, 2011

Page 85: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop85

Hands-on: web role + SQL

1. Install clean Umbraco site local laptop (using Web platform installer)

2. Provision Azure SQL storage3. Migrate locale SQL db to Azure SQL (using migration wizard)4. Create Visual Studio package of Umbraco site

(using CodePlex solution)5. Provision WebRole on Azure6. Publish solution to Azure Webrole (using Visual Studio)7. Test your site on http://mysite.cloudapp.net

It works, but we have no backups.

Page 86: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop86

Hands-on part 2: add Blob storage

1. Provision Azure Storage account2. Download 3rd party tool

http://cloudberrylab.com

3. Upload of local Umbraco files to Azure Blob (using Cloudberry)

4. Deploy Generic webrole with startup tasks (using VS) Configure IIS site (host header) Configure Storage Account (container, account name, password)

Page 87: Azure and Umbraco CMS

10 March, 2011Azure + Umbraco workshop87

Hands-on workshop

Follow the installation guidehttp://umbracoonazure.codeplex.com/

We are here to help!