DotNetNuke on Azure Cloud Servers


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

DotNetNuke on Azure Cloud Servers

  1. 1. DotNetNuke on Azure Cloud Servers Bruce Chapman iFinity Software1 Company Confidential
  2. 2. Introduction to Azure and DotNetNuke2 Company Confidential 2
  3. 3. Microsoft Azure  Azure is a hosted web application platform from Microsoft  Allows running of applications, storage of data and hosting of databases in the cloud  On-demand compute, storage, networking and content delivery capabilities3 Company Confidential
  4. 4. Why use Azure? TRADITIONAL HOSTING AZURE • Owned or Rented/Fixed costs • Pay as you go • Security, Patches and updates • Secure data, handled by MS • Large periods of idle • Only use what you need • Upload and install software • Create deployments • Lead time in expanding capacity • Capacity on demand • Scalability to be designed • Scalability built in4 Company Confidential
  5. 5. Tools for using Azure • Microsoft Azure Management Portal • Online tool, uses Silverlight for rich interface • Create/drop storage, Sql Servers, Deployments • Cloudberry Explorer for Azure • Provides access for upload/download from Azure • Visual Studio Tools • Azure connection • Remote Desktop access • Local Azure development environment Obtain via the Azure SDK5 Company Confidential
  6. 6. Creating an Azure Account  Links to Windows Live account  Offers through MSDN, Bizspark, others for free trial period  Anyone can easily create an account in a few minutes  An empty account costs nothing.6 Company Confidential
  7. 7. Creating a DotNetNuke site on Azure7 Company Confidential 7
  8. 8. DotNetNuke on Azure  Windows Azure – essentially a Windows VM running IIS, which will execute the DNN code  Sql Azure – a special version of Sql Server designed to work in a cloud  Azure Storage – cloud disk space, which stores the DNN Code8 Company Confidential
  9. 9. Azure vs Traditional Hosting9 Company Confidential
  10. 10. Azure vs Traditional Hosting10 Company Confidential
  11. 11. Azure vs Traditional Hosting11 Company Confidential
  12. 12. Azure vs Traditional Hosting12 Company Confidential
  13. 13. Azure / DNN Architecture  Web Role – contains the Windows Azure components – can think of as separate VM instances with IIS loaded  Azure Storage – contains the .vhd – virtual hard drive • Same type of concept as .vhd files within Windows Virtual Machines  Worker Role – connect up the IIS instance with the .vhd file • Providing the storage for the DotNetNuke code • Important to store the code in a read/write storage • Uses SMB (Server Message Block aka Shared Folders) functionality to load .vhd as virtual local drive  Sql Azure Server / Database • Stores the DotNetNuke Database13 Company Confidential
  14. 14. DotNetNuke Azure Accelerator  Created by David Rodríguez  Good tutorial by Joe Brinkman on blog  Accepted way to create a DNN Azure installation  Wizard to create database, upload package and configure Azure ready for deployment into a Web role  Requires pre-configuration of Azure Sql Server, Azure Hosted Service and Azure Storage.  Uploads package, configuration, DotNetNuke install and creates database ready for DNN scripts  Codeplex : • Company Confidential
  15. 15. DotNetNuke Azure Accelerator  Step 1 : Create Storage in Azure15 Company Confidential
  16. 16. DotNetNuke Azure Accelerator  Step 2 : Create Hosted Service16 Company Confidential
  17. 17. DotNetNuke Azure Accelerator  Step 3 : Create Sql Azure Server17 Company Confidential
  18. 18. DotNetNuke Azure Accelerator  Step 4 : Create containers in storage18 Company Confidential
  19. 19. DotNetNuke Azure Accelerator  Step 5 : Run wizard19 Company Confidential
  20. 20. DotNetNuke Azure Accelerator  Step 6 : Check results of wizard20 Company Confidential
  21. 21. DotNetNuke Azure Accelerator  Step 7 : Create Production Deployment21 Company Confidential
  22. 22. DotNetNuke Azure Accelerator  Step 8 : Starting up the deployments22 Company Confidential
  23. 23. DotNetNuke Azure Accelerator  Step 9 : Load DNN and run install wizard23 Company Confidential
  24. 24. Azure Accelerator - Limitations  Many modules not yet compatible with Azure  Principally the issue is Sql Azure. • Sql Scripts need to be modified  Multiple worker role not yet fully developed – currently can only have one worker role.24 Company Confidential
  25. 25. Azure Accelerator – Future Developments  Automation of certificate issue for RDP access  Download DNN contents from codeplex instead static within package  Introduce high availability to the SMB server through blob leases, so that more web roles can access a VHD at once  Multiple host instances per deployment  Admin site for controlling Sql Azure25 Company Confidential
  26. 26. Connecting to .vhd via SMB  Same process used to connect roles => Azure storage can connect Azure Storage to local computer (SMB)  Process can be used to map a shared drive to your computer  This gives direct explorer access to the file system of the site, which makes it easy to upload files, access web.config and other file-system related tasks26 Company Confidential
  27. 27. Connecting to Server using RDP  Possible to connect via RDP with a certificate27 Company Confidential
  28. 28. Connecting to server using RDP28 Company Confidential
  29. 29. Upgrading DotNetNuke install on Azure  DotNetNuke upgrade process requires extracting upgrade zip file over the top of an existing installation  DotNetNuke itself handles the upgrade of database components and any new modules  The trick is getting the upgrade package unzipped onto the .vhd in Azure Storage  Two easy ways of doing this: 1. Using Azure Connect to connect via mapped drive and copy across contents 2. Using RDP to download direct from Codeplex and extract  Requires changing default IE settings to allow download from, but is fast (3mb/sec)29 Company Confidential
  30. 30. Upgrading DotNetNuke Install on Azure  Once files are extracted, process is exactly the same30 Company Confidential
  31. 31. Other uses for Azure with DotNetNuke31 Company Confidential 31
  32. 32. Azure Traffic Manager  Load balancing service  Choice of 3 Load Balancing Methods 1. Performance – can use geographically located services to give better performance. ‘Closest’ is determined by stored values of test traffic. 2. Failover – use primary service for all traffic, but switch to backups in case of primary service failure. Can have secondary, tertiary, etc backups 3. Round Robin – equally distribute hosted services in the same datacenter, or across different regions. Does not send traffic to services it thinks are down32 Company Confidential
  33. 33. Azure Features33 Company Confidential 33
  34. 34. Other DotNetNuke Azure uses  DotNetNuke 6.x – Folder Providers  Folder providers allow content to be stored separately to the application server • DotNetNuke Professional includes Azure folder provider • Intelequia DNN Folder Providers – 3rd party extension by author of DNN Azure Accelerator  Storage of content outside of DNN server allows pay-as- you-go for storage, high availability and flexibility34 Company Confidential
  35. 35. Other DotNetNuke Azure uses  Backup storage for Existing sites  Store Database and File system backups offsite using Azure storage  Using the Azure CDN to deliver cross-domain references for better performance • Use for CSS, JPG, JavaScript files • High performance and multiple download locations • Ideal for handling high-demand scenarios35 Company Confidential
  36. 36. Azure Pricing  Cloud pricing is confusing, difficult to get accurate figure36 Company Confidential
  37. 37. Azure Pricing  Current pricing for Azure computing hours Compute Instance I/O Cost Per CPU Memory Instance Size Storage Performance Hour 1.0 768 Extra Small 20 GB Low $0.04 GHz MB 1.6 1.75 225 GB Moderate $0.12 Small GHz GB 2 x 1.6 Medium 3.5 GB 490 GB High $0.24 GHz 4 x 1.6 1,000 Large 7 GB High $0.48 GHz GB 8 x 1.6 2,040 Extra Large 14 GB High $0.96 GHz GB37 Company Confidential
  38. 38. Azure Pricing - Storage Storage Commitment Prices Price Discount < 1 TB $0.140 GB 0% 1 – 50 TB/month $0.125 GB 10.7% 51 – 500 TB/month $0.112 GB 20% 501 – 1,000 TB/month $0.103 GB 26.4% 1,001 TB - 5 PB/month $0.085 GB 39.3% For prices > 5 PB please call Call Call38 Company Confidential
  39. 39. Azure Pricing Calculator Sliders adjust requirements Prices and offers are updated from choices39 Company Confidential
  40. 40. Billing Process  Introductory Emails for 13 weeks  Pricing needs to include • Compute Hours/Instances • Sql Azure • Storage & Transactions • Data Transfer  Offers/Specials possible  All billing is online http://mocp.microsoftonline.com40 Company Confidential
  41. 41. Conclusions  DotNetNuke is Azure ready  Ideally investigate for new projects or large overhauls of existing projects  Module (core + 3rd party) support is lagging, but easy to solve without developer if necessary  There is still more to learn and perfect, but is already a viable way of delivering DNN sites41 Company Confidential
  42. 42. Questions / Feedback Forms Thanks to Joe Brinkman and David Rodríguez42 Company Confidential 42