Azure Umbraco workshop
Upcoming SlideShare
Loading in...5
×
 

Azure Umbraco workshop

on

  • 4,542 views

Second edition of this popular interactive workshop, this time we focussed on the new “Windows Azure Accelerator for Umbraco” CodePlex project....

Second edition of this popular interactive workshop, this time we focussed on the new “Windows Azure Accelerator for Umbraco” CodePlex project.

Topics

Web & Worker Role
Virtual Machine sizes & performance
Storage Types: Blobs, Tables, Azure SQL, queues
No local persistant storage
Network Load Balancing (round robin)
Scale out to multiple instances
Multiples websites in one Azure account
Azure Content Delivery Network
Swap between development & production environments
Typical monthly costs to host Umbraco site
Q&A

Statistics

Views

Total Views
4,542
Views on SlideShare
4,541
Embed Views
1

Actions

Likes
1
Downloads
77
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • When a request is made using the Windows Azure Blob service URL, the blob is read directly from the Windows Azure Blob service. When a request is made using the Windows Azure CDN URL, the request is redirected to the CDN endpoint closest to the location from which the request was made to provide access to the blob. If the blob is not found at that endpoint, then it is retrieved from the Blob service and cached at the endpoint, where a time-to-live (TTL) setting is maintained for the cached blob. The TTL specifies that the blob should be cached for that amount of time in the CDN until it is refreshed by the Blob service. The CDN attempts to refresh the blob from Windows Azure Blob service only once the TTL has elapsed. The default TTL is 72 hours. At PDC 2009, we will allow you to specify the standard HTTP Cache-Control header for your Windows Azure blobs. If this value is specified for a blob, then the TTL period will be set to the value specified in Cache-Control header.
  • How does itwork?1: It createsone or more webroleinstancesanddeploys a synchronizationwindows service on these machines2: The deploy tool uploads the complete Umbracoinstallationwithall the files (images, css, aspx, web.config, …) to the blob. 3: The synchronization scripts keep the local file system in syncwith the blob storage (every second). If a user is addingsomethingto the umbracocms, thiswillbewrittento the local filesystem of the currentwebrole. One second later itwillbepushedto the blob store andone second later itwillbesyncedto the otherwebroles.
  • in web.config word een session state db geconfiged door de accelerator en de database word automatisch aangemaakt in de sql azure

Azure Umbraco workshop Azure Umbraco workshop Presentation Transcript

  • 24 June, 2011
    Azure + Umbraco workshop
  • 24 June, 2011
    Azure + Umbraco workshop
    Who are we?
    Kurt Claeys
    Microsoft EMEA
    Technology Solution Professional Windows Azure
    kclaeys@microsoft.com
    http://twitter.com/kurtclaeys
    Wim De Coninck
    Orbit One, Development Team Lead
    wimdc@orbitone.com
    http://twitter.com/wimdc
    Olivier Mangelschots
    Orbit One, Managing Director
    olivier@orbitone.com
    http://twitter.com/omangels
    2
  • 24 June, 2011
    Azure + Umbraco workshop
    Free workshop
    Sponsored by Microsoft Azure
    In collaboration with
    Belgian Umbraco User Group (BUUG.be)
    Hosted by Orbit One
    3
  • We are:
    Team of 18
    Microsoft 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 workshop
    24 June, 2011
    4
  • 24 June, 2011
    Azure + Umbraco workshop
    Umbracocertification training + exams
    Here in Ghent at OneOffice
    Level 1:
    When: 7 – 8 November 2011
    Target audience: Designers / Webdevelopers
    Level 2:
    When: 9 – 10 November 2011
    Target audience: .NET Developers
    5
  • Azure + Umbraco workshop
    24 June, 2011
    We will make everything available:
    Slides
    Binaries/source code
    Documentation
    Check www.buug.be
    Downloads
    6
  • 24 June, 2011
    Azure + Umbraco workshop
    Agenda
    9:30 – 10:00 Introduction
    10:00 – 11:00 Technical dive into Azure (part 1)
    Break
    11:15 – 12:00 Technical dive into Azure (part 1)
    12:00 – 12:45 Umbraco CMS and Azure
    Lunch
    13:30 Azure Development Program13:45 – 16:30 Hands-on workshop
    We are a small group, let’s make it interactive!
    7
  • 24 June, 2011
    Azure + Umbraco workshop
    Is your laptop prepped?
    This afternoon, you need:
    Visual Studio 2010
    Windows Azure SDK + Tools for Visual Studio (March 2011) version 1.4
    SQL Server 2008 Express R2
    RegisteredAzure Account
    Links on http://www.buug.be/en/events
    8
  • Technical dive into Azure
    Azure + Umbraco workshop
    24 June, 2011
    9
  • Who is familiar with?
    Load balancer (NLB)
    Round robin
    Sticky sessions
    24 June, 2011
    Azure + Umbraco workshop
    10
  • Concept: Network load balancing (NLB)
    24 June, 2011
    Azure + Umbraco workshop
    11
  • SOFTWARE
    PLATFORM
    INFRASTRUCTURE
    AS A SERVICE
    AS A SERVICE
    AS A SERVICE
    Journey to the Cloud
  • Windows Azure
    CLAEYS Kurt
    Technology Solution Professional
    Microsoft EMEA
  • Cloud ?
    What is cloud computing ?
    Offering infrastructure, platform and software as a service over the internet to a global market.
    Move on-premises management of non functional IT assets to a providor.
    Difference from traditional hostings
    Sold on demand “pay as you grow”
    Elastic scalability
    Service is fully managed by the providor
    End user centric (IW or developer)
    Strong focus on integration (cloud-cloud or cloud-on-premises)
  • Todays challenges
    percent of IT budgets is spent maintaining datacenter operations
    percent of datacenter capacity is idle on average
    Infrastructure Complexity
    Infrastructure Utilization
    70
    85
  • Positioning AZURE
    infrastructure as a service (hardware)
    Servers available in the cloud
    platform as a service (developer)
    Delivery of a OS for custom, cloud enabled apps
    Support for service hosting and interoperability
    Relational data storage in the cloud
    software as a service (end users) = BPOS
    Exchange online
    Sharepoint online
    Dynamics CRM online
    SAAS
    IAAS
    PAAS
  • Positioning AZURE
    infrastructure as a service (hardware)
    Servers available in the cloud
    platform as a service (developer)
    Delivery of a OS for custom, cloud enabled apps
    Support for service hosting and interoperability
    Relational data storage in the cloud
    software as a service (end users) = BPOS
    Exchange online
    Sharepoint online
    Dynamics CRM online
    SAAS
    IAAS
    PAAS
  • IT as Service
    Private
    (On-Premise)
    Infrastructure
    (as a Service)
    Platform
    (as a Service)
    You manage
    Applications
    Applications
    Applications
    You manage
    Runtimes
    Runtimes
    Runtimes
    Security & Integration
    Security & Integration
    Security & Integration
    Managed by vendor
    You manage
    Databases
    Databases
    Databases
    Servers
    Servers
    Servers
    Managed by vendor
    Virtualization
    Virtualization
    Virtualization
    Server HW
    Server HW
    Server HW
    Storage
    Storage
    Storage
    Networking
    Networking
    Networking
  • Cloud Computing Taxonomy
    The Windows Azure platform fits here
    IaaS
    Traditional IT
    SaaS
    PaaS
    You manage
    Applications
    Applications
    Applications
    Applications
    Data
    Data
    Data
    Data
    You manage
    Runtime
    Runtime
    Runtime
    Runtime
    Managed by vendor
    Middleware
    Middleware
    Middleware
    Middleware
    You manage
    Managed by vendor
    O/S
    O/S
    O/S
    O/S
    Managed by vendor
    Virtualization
    Virtualization
    Virtualization
    Virtualization
    Servers
    Servers
    Servers
    Servers
    Storage
    Storage
    Storage
    Storage
    Networking
    Networking
    Networking
    Networking
  • Classic IT Capacity problem.
    Allocated IT-capacities
    Load Forecast
    “Under-supply“ of capacities
    “Waste“ of capacities
    Fixed cost of IT-capacities
    IT CAPACITY
    Barrier for
    innovations
    ActualLoad
    TIME
  • Upfront investments
  • Capacity in a cloud model
    Load Forecast
    Allocated IT capacities
    No “under-supply“
    IT CAPACITY
    Reduction of “over-supply“
    Possible reduction of IT-capacities in case of reduced load
    Reduction of initial investments
    ActualLoad
    TIME
  • Rates
    Compute
    Per service hour of 1 CPU = 0,12 U$
    Storage
    Per GB/month =0,15 U$
    Transactions
    Per 10K = 0,01 U$
    SQL Azure
    10 GB/month = 99,99 U$
    Access Control Transactions
    10K = 0,01 U$
    Service Bus Connections
    1 connection/month = 3,99 U$
    Data Transfer egress
    Per GB = 0,15 U$
    Data Transfer ingress
    Per GB = FREE
  • Monthly Bill
  • Azure Pricing
  • “Growing Fast“
    “On and Off “
    Inactivity
    Period
    Compute
    Compute
    Average Usage
    Usage
    Average
    Time
    Time
    On & off workloads (e.g. batch job)
    Over provisioned capacity is wasted
    Time to market can be cumbersome
    Successful services needs to grow/scale
    Keeping up w/ growth is big IT challenge
    Complex lead time for deployment
    “Unpredictable Bursting“
    “Predictable Bursting“
    Compute
    Compute
    Average Usage
    Average Usage
    Time
    Time
    Unexpected/unplanned peak in demand
    Sudden spike impacts performance
    Can’t over provision for extreme cases
    Services with micro seasonality trends
    Peaks due to periodic increased demand
    IT complexity and wasted capacity
  • The Windows Azure platform is a flexible cloud–computing platform that lets you focus on solving business problems and addressing customer needs.
  • Virtual Network
    Storage
    Compute
    Access Control
    Service Bus
    Caching
    Reporting
    Database
    Data Sync
  • Datacenters
    Quincy, WA
    Chicago, IL
    San Antonio, TX
    Dublin, Ireland
    Generation 4 DCs
  • Azure Fabric Controller
    Service Definition
    The Fabric Controller communicates with every server within the Fabric.
    Interacts with a “Fabric Agent” on each machine
    Monitors every VM, application and instance
    Service Management is performed by the Fabric Controller
    Performs load balancing, check pointing and recovery
    Fabric Controller
    Fabric
    X







    X


    X

  • Traditional Architecture
    DB
    Web UITier
    Browser
    Business Logic Tier
    Request
    Request
  • Browser
    Browser
    DB
    Browser
    Business Logic Tier
    Web UITier
    Browser

    Browser
  • Browser
    Browser
    DB
    Browser
    Web UITier
    Business Logic Tier
    Browser
    “Server Busy”

    Browser
  • Browser
    Browser
    N L B
    Web Role
    DB
    Browser
    Business Logic Tier
    Web Role
    Browser
    Web Role

    Browser
  • Browser
    Browser
    N L B
    Web Role
    N L B
    WorkerRole
    DB
    Browser
    Web Role
    WorkerRole
    Browser
    Web Role
    WorkerRole

    Browser
  • Browser
    Browser
    N L B
    Web Role
    N L B
    WorkerRole
    DB
    Browser
    Web Role
    WorkerRole
    Browser
    Web Role
    WorkerRole

    Browser
    Azure
  • Azure Architecture
    Windows Azure Service
    SQL Data
    Your Service
    Worker Service
    NL B
    Worker
    Role
    SQL
    Internet
    SQL
    Your Storage
    SQL
    Queues
    NL B
    Web Site
    (ASPX, ASMX, WCF)
    Web Site
    (ASPX, ASMX, WCF)
    Web Role
    (ASPX, WCF)
    Tables
    Blobs
  • Azure Network Load Balancer
    webrole
    NLB
    Instance 1
    Instance 2
    Instance 3
  • Azure Network Load Balancer
    webrole
    NLB
    Instance 1
    Instance 2
    Instance 3
  • Azure Network Load Balancer
    webrole
    NLB
    Instance 1
    Instance 2
    “round robin”
    no sticky sessions !
    Instance 3
  • Azure Roles
    Running apps in a virtual machine
    A virtual machine can have 1,2,4 or 8 cores
    We can have multiple instances of the VM running
    Two types
    Web Role = internet facing, IIS, request/response, ASP.NET or WCF
    Worker Role = background processing, endless loop, internal endpoints, can host WCF services
  • Azure Roles
    • 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 Service
    Storage
    Service
    X number of Webroles
    external endpoint 1
    (port80)
    blobs
    webrole 1
    tables
    Instance 1
    Instance 2
    Instance 3
    queues
    external
    endpoint 2
    (port X)
    webrole 2
    SQL Azure DB
    Instance 1
    internal endpoint
    internal endpoint
    internal endpoint
    Performance Metrics
    Instance 1
    Instance 2
    Instance 3
    workerrole1
    Application Log Files
    X number of Workerroles
    Event Logs
    certificate
    IIS Logs
    Crashdumps
    Service configuration, maintainable after deploy
    Service definition, defined at deployment
  • Configuring Virtual Machines Size
  • Configuring the service
    Service configuration, maintainable after deploy
    Number of instances
    ConnectionString to Storage
    Thumbprints of certificates
    Custom setting
    Service definition, defined at deployment
    Size of VM
    Local storage capacity
    Endpoint
    External
    Internal
  • Azure VMRole
    Ability to upload your own customized WS2008R2 Enterprise images
    Full control over the OS image, install whatever you want on it.
    You can remote desktop into the OS
    Target scenarios
    Need to use apps/libraries with no unattended setup
    32 bits apps
    Change registry settings
    Scale out !
    Instances are behind loadbalancer, one public IP per service
    No durability of OS image on hardware failure
    With VM Role, the customer creates & maintains the OS
    Paying model = Paying model of current web/workerrole
    Uses differencing disks to upload deltas to image
  • Web/WorkerRole vs VMRole
    All three are virtual images running in the datacenter under control of the Azure fabric controller behind the loadbalancer.
    Web/Worker Role
    The virtual image is already there, ... you upload your app, ... Azure places this app on the image and runs the image.
    VM Role
    You upload the complete virtual image with all apps installed, ... Azure runs the image
    Visual Studio
    virtual image
    virtual image
    virtual image
    app
    app
    app
    Azure
    Azure
    app
    development environment
    development environment
    Hyper-V
  • VMRole lifecycle
    Create a .vhd in Hyper-V manager, install W2008 R2 as OS
    Install whatever roles, features and apps you want on it.
    Turn of automatics updates
    Install Windows Azure VM Role Integration Components
    Run sysprep.exe and bring it down
    Upload the .vhd to Azure (needs a certificate)
    Deploy a service configuration (Visual Studio, Managament Portal or Management API PS commandlets)
  • Azure Virtual Network
    Aka as “Azure Connect”
    Secure network connectivity between on-premises and cloud, supports standard IP protocols
    Automatic setup of secure IP-level network
    Example use cases:
    Enterprise app migrated to Windows Azure that requires access to on-premise SQL Server
    Windows 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 agent
    DNS name resolution
  • Azure Virtual Network
    Network policy managed through portal
    Web/Worker
    VM Role
    Azure Connect Gateway
    Azure Connect Gateway
    IPV6 address
    IPV6 address
    On Premise
    Machine
    SQL Server
    IPV6 address
    Azure Connect Gateway
  • Azure Storage
    Non SQL data
    Unlimited storage
    4 types
    Tables: no fixed schema, no relations
    Blobs: large objects, have metadata attributes, MIME type aware
    Queues: assync communication to workerrole
    Drives: NTFS volume mounted to roles
    Accessible through a HTTP/REST API
  • Windows Azure Storage Account
    User creates a globally unique storage account name.
    Account
    Blob
    Table
    Queue
    Storagekeepsbeingavailable, even whenapplication is not running !
  • Libraries
    Microsoft.WindowsAzure.*
    Found in Windows Azure SDK
    System.Data.ServicesSystem.Data.Services.Client
    .NET 3.5
    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.StorageClient;
    using System.Data.Services.Common;
  • Azure Tables
    s
    Tables store entities.
    Entity schema can vary in the same table.
    Can Not :
    Create foreign key relationships between tables.
    Perform server side joins between tables.
    Create custom indexes on the tables.
    No server side Count(), for example.
  • Azure Storage Tables
    partition key
    Tables are partitioned to support load balancing across storage nodes
    unique
    row key
    timestamp
    table
    field1
    field2
    field3
  • Table Partioning
    Data
    Row key
    Partition key
    A
    123
    foo
    bar
    etc
    A
    123
    foo
    bar
    etc
    A
    124
    foo
    bar
    etc
    A
    124
    foo
    bar
    etc
    B
    123
    foo
    bar
    etc
    B
    123
    foo
    bar
    etc
    Partition “B”
    Partition “A”
    Storage node 1
    Storage node 2
  • Azure Storage Blobs
    Large data
    Can be made private or public
    Can have metadata attributes and MIME types
    Can be cached by a Azure Content Delivery Network (CDN)
    Time based access to blobs with shared access signatures
    Two Types
    Block Blobs : max 200GB, Usefor 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
  • Blob addressing
    Blob
    Container
    Accounts
    Pic001.jpg
    SomeContainer
    Pic002.jpg
    MyAccount
    Mov001.wmv
    AnotherContainer
    Mov002.wmv
    http://<AccountName>.blob.core.windows.net/<ContainerName>/<BlobName>
  • Azure Storage Blobs accessibility
    blob
    private
    (Azure service or on premises)
    need storage credentials
    no storage credentials
    public
    (browser, REST)
    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
  • 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
  • Azure Storage Queues
    Message in – Message out
    To support the assync processing model
    Topologies :
    Cloud-Cloud (web – worker)
    Cloud-OnPremises
    OnPremises-Cloud
    OnPremises-OnPremises through the cloud
    8K per message
    HTTP/REST based
  • Azure Storage Queues
    Message Creator
    Message
    Reader
    Msg 1
    Msg 2
    Msg 3
    Msg 4
  • Azure Storage Queues
    get message
    Msg 1
    process message
    Msg 1
    Msg 2
    Msg 3
    Msg 4
    delete message
  • Azure Storage Queues
    get message
    Msg 1
    process message
    Msg 2
    Msg 3
    Msg 4
    When not deleted within a timeout, the message is added to the queue again !
    Msg 1
    delete message
  • Drives
    Azure Web orWorkerRole
    AzureStorage
    blob
    using (StreamReadersr = File.OpenText(@”F:file.txt”))
    F:
    Mounted , results in driveletter
    uploaddownload
    Attach VHD
    On-Premises
    blob
    using (StreamReadersr = File.OpenText(@”F:file.txt”))
    F:
  • Azure Content Delivery Network
    user
    Azure Datacenter
    Service
    (webrole, workerrole)
    requests blob
    Blob storage
    CDN Node
    Is blob cached here ?
    blob
  • Azure Content Delivery Network
    user
    Azure Datacenter
    Service
    (webrole, workerrole)
    another request
    Blob storage
    CDN Node
    blob
  • SQL Azure
    Relational DB in the Cloud
    Based on SQL 2008 R2
    Accessible from every ADO.NET client
    SQL 2008 R2 Management Studio
    High-availability and fault tolerance
    No physical administration is required
    Use existing knowledge in T-SQL development
    Scale databases up or down based on business needs (between 1GB and 50GB)
  • SQL Azure
    admin
    SQL Azure Server
    My DB
    (1 GB)
    My DB
    (50 GB)
    Master DB
    users and roles
    users and roles
    logins
    firewall
    internal
    restricted IP ranges
    Azure Services
    (webrole,workerrole)
    Anybody
    code “near”
    code “far”
  • SQL Azure
    admin
    SQL Azure Server
    My DB
    (50 GB)
    My DB
    (1 GB)
    Master DB
    stored on 3 replicas
    stored on 3 replicas
    stored on 3 replicas
    firewall
    internal
    restricted IP ranges
    Azure Services
    (webrole,workerrole)
    Anybody
    code “near”
    code “far”
  • 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
  • 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
    commited
    OK
    OK
    replicas
  • AppFabric Caching
    A distributed, in-memory cache, implemented as a cloud service. 
    The same capabilities available in Windows Server AppFabricCaching.
    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 roles
    ASP.NET page caching
    Speed up access to static data
  • AppFabric Caching
    Role Instance 1
    Role Instance 2
    On Premise app
    Read/Write data
    Read/Write data
    Read/Write data
    Caching
  • AppFabric Access Control
    identity providers
    Azure ACS
    rules
    Facebook ID
    Claims
    authorization
    Redirect login
    ADFS2
    WebApp
  • Short break
    Azure + Umbraco workshop
    24 June, 2011
    Feel at home – help yourself!Coffee, tea, Coca-Cola, Fanta, Juice, Ice tea, ...
    Session continues at 11:30
    77
  • CMS systems on Azure
    Azure + Umbraco workshop
    24 June, 2011
    78
  • CMS in Azure, why?
    Paul Sterling paul@umbraco.com (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
    24 June, 2011
    Azure + Umbraco workshop
    79
  • How much does it cost?
    Simulation (approximate cost)
    1GB Azure SQL
    10GB Blob storage (1000000 read/write transactions/day)
    50GB download traffic, 10GB upload traffic
    One webinstance: €77,01/month (promo offer €52,71)
    Two instances: €140,91/month (promo offer €94,78)
    Two instances + one staging: €204,81/month (promo offer €136,85)
    Conclusion
    Hosting websites on Azure = starting at €635/year
    Use Azure Pricing calculator!
    http://www.microsoft.com/windowsazure/pricing-calculator/
    Differencesbetweeninstances
    http://www.microsoft.com/windowsazure/compute/
    24 June, 2011
    Azure + Umbraco workshop
    80
  • Website CMS in Azure
    Azure is great for
    High traffic websites
    Sites where you need to quickly scale-up/down
    Global sites (visits many geo locations)
    Load balancing, stronger SLA’s
    Azure is not ideal for
    Very low cost hosting projects
    Projects with lots of legacy code/dependencies
    24 June, 2011
    Azure + Umbraco workshop
    81
  • Umbraco in Azure
    82
    Azure + Umbraco workshop
    24 June, 2011
  • Umbraco v4.5+ in Azure: Challenges
    What did we learn this morning?
    What are the challengesto host a CMS in Azure?
    Group talk
    24 June, 2011
    Azure + Umbraco workshop
    83
  • 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, permissions
    Logs (errors, actions in admin)
    File storage:
    Page templates: .Master
    Scripts/styles: XSLT, CSS, JS, ... + design elements used in templates
    User controls: ASCX/DLLs + Umbraco binaries
    Media: GIF, JPG, PDF, Videos, ...
    Config: web.config + /config/ xml files
    24 June, 2011
    Azure + Umbraco workshop
    84
  • Umbraco XML cache
    XML file (/app_data/umbraco.config)
    Stored on local file system
    Contains all published nodes
    Purpose
    Fast app warm-up time (<1 sec)
    Less SQL queries – SQL is not used public site
    Automatically updated
    Every time you publish using Umbracobackend
    XML dump of in-memory cache
    http://forum.umbraco.org/yaf_postst4161_Umbraco-caching-explained.aspx
    24 June, 2011
    Azure + Umbraco workshop
    85
  • Challenges
    Multiple instances of the web-role
    Round-robin load-balancing
    Sessions need to be stored centrally
    Storage
    No local storage (unsafe)
    No “shared drive” over multiple machines
    CDN – Content Delivery Network
    Only possible when files are stored on Azure Blobs
    Custom code
    Needstoworkwithin the boundries of Azure
    24 June, 2011
    Azure + Umbraco workshop
    86
  • 24 June, 2011
    Azure + Umbraco workshop
    Solutions to host Umbraco v4.5+ on Windows Azure
    Simple web-role (manual creation)
    CodePlex accelerator (by Slalom Consulting)
    Sync Scripts (by Kurt & O1)
    CodePlex accelerator (by Microsoft)
    87
  • 24 June, 2011
    Azure + Umbraco workshop
    Compare solutions
    88
  • 24 June, 2011
    Azure + Umbraco workshop
    CodePlexAccelerator by Slalom Consulting
    89
  • 24 June, 2011
    Azure + Umbraco workshop
    CodePlexAccelerator by Slalom Consulting
    CodePlex project http://azureaccelerators.codeplex.com
    By Slalom Consulting (Seattle)
    Uses old Azure API implementation
    Only 1 webrole is supported
    Less control storage transactions (mounted drive)
    90
  • 24 June, 2011
    Azure + Umbraco workshop
    Synchronization scripts
    91
  • 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 hostheaders
    Triggered at VM boot (startup.exe)
    Thanks to Kurt Claeys!
    24 June, 2011
    Azure + Umbraco workshop
    92
  • CodePlex Accelerator by Microsofthttp://waacceleratorumbraco.codeplex.com
    24 June, 2011
    Azure + Umbraco workshop
    93
  • CodePlex Accelerator by Microsofthttp://waacceleratorumbraco.codeplex.com
    How does the Accelerator work?
    Creates 1 or more web-role instances (VMs)
    deploys a sync IIS process on these machines
    Deploy tool uploadscomplete Umbraco installation to Blob Storage
    Includes all the files: images, css, aspx, web.config, …
    Created SQL Azure database for session stage
    Auto configuration of web.config
    Scripts keeps local file system in sync with the blob storage
    Every second
    Bi-directional
    Uuser adds file trough Umbraco cms, is stored on local filesystem of the current web-role
    One second later, file is pushed to Azure Blob Storage
    One second later, file is pulled to the other web-roles
    24 June, 2011
    Azure + Umbraco workshop
    94
  • How to update files of your site?
    CloudBerry Explorer for Azure Blob Storage (Free!)
    FTP like access toAzureBlob
    http://cloudberrylab.com
    Alternative free tool:
    ClumsyLeafCloudXplorer
    http://clumsyleaf.com/products/cloudxplorer
    Warning: Does notcreate empty folders
    24 June, 2011
    Azure + Umbraco workshop
    95
  • CloudBerry Explorer
    24 June, 2011
    Azure + Umbraco workshop
    96
  • Future: Umbraco v5
    CTP Released last week (available on CodePlex)
    http://umbraco.codeplex.com
    Betaexpected Q4 2011
    RTM somewhere end 2011 - beginning 2012
    Paul Sterling paul@umbraco.com (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.
    24 June, 2011
    Azure + Umbraco workshop
    97
  • Umbraco v4.7+ in Azure, too early?
    No!
    No needtowaitfor v5
    Umbraco v4.7 + Microsoft accelerator is great!
    24 June, 2011
    Azure + Umbraco workshop
    98
  • Lunch
    Azure + Umbraco workshop
    24 June, 2011
    There are sandwiches and fresh soup
    Workshop starts at 13:15
    99
  • 24 June, 2011
    Azure + Umbraco workshop
    Azure Development Program
    Pay €1.500 to Microsoft and get
    1 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 Concept
    Full refund of €1.500!
    Visibility on Microsoft sites
    First 50 live Benelux projects get a price
    Windows Phone 7, ...
    Interested? Contact Tom Crombez
    v-tocrom@microsoft.com
    http://yourbusinessyourfame.cloudapp.net
    100
  • 24 June, 2011
    Azure + Umbraco workshop
    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
    101
  • 24 June, 2011
    Azure + Umbraco workshop
    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
    102
  • Hands-on
    Azure + Umbraco workshop
    24 June, 2011
    103
  • 24 June, 2011
    Azure + Umbraco workshop
    Nowit’syour turn!
    Prepare the storage account
    Run the setup script
    Prepare the Accelerator fordeployment
    Prepare the hosted service
    Prepare the SQL Azure service
    ConfigureUmbracowith the script
    Upload the site
    Follow the step-by-step guide
    We are hereto help!
    104