Your SlideShare is downloading. ×

Azure Umbraco workshop

5,297

Published on

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

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,297
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
89
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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
  • Transcript

    • 1. 24 June, 2011
      Azure + Umbraco workshop
    • 2. 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
    • 3. 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
    • 4. 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
    • 5. 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
    • 6. Azure + Umbraco workshop
      24 June, 2011
      We will make everything available:
      Slides
      Binaries/source code
      Documentation
      Check www.buug.be
      Downloads
      6
    • 7. 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
    • 8. 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
    • 9. Technical dive into Azure
      Azure + Umbraco workshop
      24 June, 2011
      9
    • 10. Who is familiar with?
      Load balancer (NLB)
      Round robin
      Sticky sessions
      24 June, 2011
      Azure + Umbraco workshop
      10
    • 11. Concept: Network load balancing (NLB)
      24 June, 2011
      Azure + Umbraco workshop
      11
    • 12. SOFTWARE
      PLATFORM
      INFRASTRUCTURE
      AS A SERVICE
      AS A SERVICE
      AS A SERVICE
      Journey to the Cloud
    • 13. Windows Azure
      CLAEYS Kurt
      Technology Solution Professional
      Microsoft EMEA
    • 14. 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)
    • 15. 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
    • 16. 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
    • 17. 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
    • 18. 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
    • 19. 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
    • 20. 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
    • 21. Upfront investments
    • 22. 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
    • 23. 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
    • 24. Monthly Bill
    • 25. Azure Pricing
    • 26. “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
    • 27. The Windows Azure platform is a flexible cloud–computing platform that lets you focus on solving business problems and addressing customer needs.
    • 28.
    • 29. Virtual Network
      Storage
      Compute
      Access Control
      Service Bus
      Caching
      Reporting
      Database
      Data Sync
    • 30. Datacenters
      Quincy, WA
      Chicago, IL
      San Antonio, TX
      Dublin, Ireland
      Generation 4 DCs
    • 31. 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

    • 32. Traditional Architecture
      DB
      Web UITier
      Browser
      Business Logic Tier
      Request
      Request
    • 33. Browser
      Browser
      DB
      Browser
      Business Logic Tier
      Web UITier
      Browser

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

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

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

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

      Browser
      Azure
    • 38. 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
    • 39. Azure Network Load Balancer
      webrole
      NLB
      Instance 1
      Instance 2
      Instance 3
    • 40. Azure Network Load Balancer
      webrole
      NLB
      Instance 1
      Instance 2
      Instance 3
    • 41. Azure Network Load Balancer
      webrole
      NLB
      Instance 1
      Instance 2
      “round robin”
      no sticky sessions !
      Instance 3
    • 42. 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
    • 43. Azure Roles
      • WebRole
      • 44. Hosting ASP.NET pages and/or WCF Services.
      • 45. Handles incoming HTTP/HTTPS requests.
      • 46. Public, Internet faced.
      • 47. Has access to Storage Services.
      • 48. WorkerRole
      • 49. Code running in background, processing jobs.
      • 50. ‘Hidden’ processing power.
      • 51. Similar to a batch job or Windows service.
      • 52. Handles messages from a queue.
      • 53. 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
    • 54. Configuring Virtual Machines Size
    • 55. 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
    • 56. 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
    • 57. 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
    • 58. 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)
    • 59. 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
    • 60. 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
    • 61. 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
    • 62. Windows Azure Storage Account
      User creates a globally unique storage account name.
      Account
      Blob
      Table
      Queue
      Storagekeepsbeingavailable, even whenapplication is not running !
    • 63. 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;
    • 64. 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.
    • 65. Azure Storage Tables
      partition key
      Tables are partitioned to support load balancing across storage nodes
      unique
      row key
      timestamp
      table
      field1
      field2
      field3
    • 66. 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
    • 67. 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
    • 68. Blob addressing
      Blob
      Container
      Accounts
      Pic001.jpg
      SomeContainer
      Pic002.jpg
      MyAccount
      Mov001.wmv
      AnotherContainer
      Mov002.wmv
      http://<AccountName>.blob.core.windows.net/<ContainerName>/<BlobName>
    • 69. 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
    • 70. 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
    • 71. 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
    • 72. Azure Storage Queues
      Message Creator
      Message
      Reader
      Msg 1
      Msg 2
      Msg 3
      Msg 4
    • 73. Azure Storage Queues
      get message
      Msg 1
      process message
      Msg 1
      Msg 2
      Msg 3
      Msg 4
      delete message
    • 74. 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
    • 75. 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:
    • 76. Azure Content Delivery Network
      user
      Azure Datacenter
      Service
      (webrole, workerrole)
      requests blob
      Blob storage
      CDN Node
      Is blob cached here ?
      blob
    • 77. Azure Content Delivery Network
      user
      Azure Datacenter
      Service
      (webrole, workerrole)
      another request
      Blob storage
      CDN Node
      blob
    • 78. 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)
    • 79. 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”
    • 80. 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”
    • 81. 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
    • 82. 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
    • 83. 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
    • 84. AppFabric Caching
      Role Instance 1
      Role Instance 2
      On Premise app
      Read/Write data
      Read/Write data
      Read/Write data
      Caching
    • 85. AppFabric Access Control
      identity providers
      Azure ACS
      rules
      Facebook ID
      Claims
      authorization
      Redirect login
      ADFS2
      WebApp
    • 86. 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
    • 87. CMS systems on Azure
      Azure + Umbraco workshop
      24 June, 2011
      78
    • 88. 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
    • 89. 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
    • 90. 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
    • 91. Umbraco in Azure
      82
      Azure + Umbraco workshop
      24 June, 2011
    • 92. 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
    • 93. 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
    • 94. 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
    • 95. 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
    • 96. 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
    • 97. 24 June, 2011
      Azure + Umbraco workshop
      Compare solutions
      88
    • 98. 24 June, 2011
      Azure + Umbraco workshop
      CodePlexAccelerator by Slalom Consulting
      89
    • 99. 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
    • 100. 24 June, 2011
      Azure + Umbraco workshop
      Synchronization scripts
      91
    • 101. 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
    • 102. CodePlex Accelerator by Microsofthttp://waacceleratorumbraco.codeplex.com
      24 June, 2011
      Azure + Umbraco workshop
      93
    • 103. 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
    • 104. 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
    • 105. CloudBerry Explorer
      24 June, 2011
      Azure + Umbraco workshop
      96
    • 106. 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
    • 107. 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
    • 108. Lunch
      Azure + Umbraco workshop
      24 June, 2011
      There are sandwiches and fresh soup
      Workshop starts at 13:15
      99
    • 109. 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
    • 110. 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
    • 111. 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
    • 112. Hands-on
      Azure + Umbraco workshop
      24 June, 2011
      103
    • 113. 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

    ×