SlideShare a Scribd company logo
1 of 24
Download to read offline
Behind the Scenes
Moving DNN to the Cloud

Joe Brinkman
Co-Founder, Technical Fellow

@DNNCorp | @jbrinkman
The Beginning
What is DNN?

Largest and Most
Vibrant Open Source
Project In .NET

7.0M+ Downloads

1.0M+ Registered Members

700K+ Installs

150K+ Unique Modules/Apps
Created Per Year
What is DNN?

DNN Platform

+
1000s of Extensions
On-Premise Challenges

Extract Files

Download

Setup IIS

Setup SQL
Server
Run Install
Wizard

Ready to
Go!
Demo Environment

Benefits
• 1000s of Demos
every month
• Used multi-portal
feature
• 2 week demos

Challenges
• Limited functionality
– Admin only
• Limited scalability
• Custom database
maintenance scripts
Moving to the Cloud
Choosing a Cloud Partner
DNN On Azure (Early 2013)
Azure/DNN Challenges
Select DNN
from Gallery
Create
Azure
Account

Setup SQL
Azure

Run Install
Wizard

Ready to
Go!
Project Goals
Support two
Environments
• Great Trial experience
• DNN as a Service

Key Benefits

• Simplify onboarding
process
• Address key pain points
• Integrated Solution
Different challenges calls for different
solutions
Trials Environment

Benefits
•
•
•
•
•

Instant on
High Density
Fixed Costs
Fully scalable
Multiple Products
Different challenges calls for different
solutions*
Production Environment

Benefits
•
•
•
•

Dedicated
Highly Available
Fully scalable
Cloud Aware
Behind the Scenes
One System to Rule Them All
Billing
System
Company
Website

CRM
System

DNN
Cloud
Services
Marketing
Automation
System

Provisioning
System

Customer
Support
System
Architecture
External Systems

Web API

Enterprise Service Bus

External
Systems

Message Queues

Azure Websites
(high-density hosting over IaaS)

Azure Cloud
Services
(PaaS)
Provisioning System
DNN Cloud Services API

Provisioning Provider Abstraction Layer
Cloud Device

Compute
Compute
Compute

Database

Storage
Provisioning Devices

Cloud Services
Provisioning Provider

WA Management API

WA Storage API

SQL Azure API
Provisioning is Slow!
Azure Service
Provisioning
DNN
Provisioning
General
Housekeeping
Device Pools to the Rescue

M

M
M

m
m

M=m
m

…
Product A

Product B

Product C

Product Z
Key Takeaways
Moving to the cloud is easy…
Leveraging the cloud is much harder
Focus on the Customer
The cloud can be complex, but the customer doesn’t
need to know that
“ When you first start off trying to
solve a problem, the first solutions
you come up with are very
complex, and most people stop
there. But if you keep going, and
live with the problem and peel
more layers of the onion off, you
can often times arrive at some very
elegant and simple solutions. ”
Steve Jobs
Questions?

Contact Me:
Joe.brinkman@dnnsoftware.com
@jbrinkman
http://www.dnnsoftware.com

More Related Content

More from DNN

New Features in the Evoq CMS
New Features in the Evoq CMSNew Features in the Evoq CMS
New Features in the Evoq CMSDNN
 
How to Make the Most of Google Analytics on Your Evoq Site
How to Make the Most of Google Analytics on Your Evoq SiteHow to Make the Most of Google Analytics on Your Evoq Site
How to Make the Most of Google Analytics on Your Evoq SiteDNN
 
How the Right CMS Makes Content Future-Friendly
How the Right CMS Makes Content Future-FriendlyHow the Right CMS Makes Content Future-Friendly
How the Right CMS Makes Content Future-FriendlyDNN
 
How to Improve Your SEO with a Web CMS
How to Improve Your SEO with a Web CMSHow to Improve Your SEO with a Web CMS
How to Improve Your SEO with a Web CMSDNN
 
How to Build Modern Web Applications Using Microservices
How to Build Modern Web Applications Using MicroservicesHow to Build Modern Web Applications Using Microservices
How to Build Modern Web Applications Using MicroservicesDNN
 
How to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteHow to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteDNN
 
Improve Your Website by Removing These 30 Things
Improve Your Website by Removing These 30 ThingsImprove Your Website by Removing These 30 Things
Improve Your Website by Removing These 30 ThingsDNN
 
How Structured Content Increases the ROI of Your Content
How Structured Content Increases the ROI of Your ContentHow Structured Content Increases the ROI of Your Content
How Structured Content Increases the ROI of Your ContentDNN
 
Lessons from Leading Intranet Homepages
Lessons from Leading Intranet HomepagesLessons from Leading Intranet Homepages
Lessons from Leading Intranet HomepagesDNN
 
How to Make Your Content Future-Ready
How to Make Your Content Future-ReadyHow to Make Your Content Future-Ready
How to Make Your Content Future-ReadyDNN
 
Achieve Intranet Success by Avoiding These Common Mistakes
Achieve Intranet Success by Avoiding These Common MistakesAchieve Intranet Success by Avoiding These Common Mistakes
Achieve Intranet Success by Avoiding These Common MistakesDNN
 
Developing an Intranet Strategy
Developing an Intranet StrategyDeveloping an Intranet Strategy
Developing an Intranet StrategyDNN
 
How Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web ApplicationsHow Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web ApplicationsDNN
 
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3DNN
 
5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know ExistedDNN
 
Preview of DNN Platform 8
Preview of DNN Platform 8 Preview of DNN Platform 8
Preview of DNN Platform 8 DNN
 
5 Favorite Features of DNN's Evoq CMS
5 Favorite Features of DNN's Evoq CMS5 Favorite Features of DNN's Evoq CMS
5 Favorite Features of DNN's Evoq CMSDNN
 
How to Build a Thriving Community on Your Website
How to Build a Thriving Community on Your WebsiteHow to Build a Thriving Community on Your Website
How to Build a Thriving Community on Your WebsiteDNN
 
Mobile App Development Using Appcelerator and DNN WebAPIs
Mobile App Development Using Appcelerator and DNN WebAPIsMobile App Development Using Appcelerator and DNN WebAPIs
Mobile App Development Using Appcelerator and DNN WebAPIsDNN
 
Why You Can't Do Content Marketing Without a CMS
Why You Can't Do Content Marketing Without a CMSWhy You Can't Do Content Marketing Without a CMS
Why You Can't Do Content Marketing Without a CMSDNN
 

More from DNN (20)

New Features in the Evoq CMS
New Features in the Evoq CMSNew Features in the Evoq CMS
New Features in the Evoq CMS
 
How to Make the Most of Google Analytics on Your Evoq Site
How to Make the Most of Google Analytics on Your Evoq SiteHow to Make the Most of Google Analytics on Your Evoq Site
How to Make the Most of Google Analytics on Your Evoq Site
 
How the Right CMS Makes Content Future-Friendly
How the Right CMS Makes Content Future-FriendlyHow the Right CMS Makes Content Future-Friendly
How the Right CMS Makes Content Future-Friendly
 
How to Improve Your SEO with a Web CMS
How to Improve Your SEO with a Web CMSHow to Improve Your SEO with a Web CMS
How to Improve Your SEO with a Web CMS
 
How to Build Modern Web Applications Using Microservices
How to Build Modern Web Applications Using MicroservicesHow to Build Modern Web Applications Using Microservices
How to Build Modern Web Applications Using Microservices
 
How to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteHow to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET Website
 
Improve Your Website by Removing These 30 Things
Improve Your Website by Removing These 30 ThingsImprove Your Website by Removing These 30 Things
Improve Your Website by Removing These 30 Things
 
How Structured Content Increases the ROI of Your Content
How Structured Content Increases the ROI of Your ContentHow Structured Content Increases the ROI of Your Content
How Structured Content Increases the ROI of Your Content
 
Lessons from Leading Intranet Homepages
Lessons from Leading Intranet HomepagesLessons from Leading Intranet Homepages
Lessons from Leading Intranet Homepages
 
How to Make Your Content Future-Ready
How to Make Your Content Future-ReadyHow to Make Your Content Future-Ready
How to Make Your Content Future-Ready
 
Achieve Intranet Success by Avoiding These Common Mistakes
Achieve Intranet Success by Avoiding These Common MistakesAchieve Intranet Success by Avoiding These Common Mistakes
Achieve Intranet Success by Avoiding These Common Mistakes
 
Developing an Intranet Strategy
Developing an Intranet StrategyDeveloping an Intranet Strategy
Developing an Intranet Strategy
 
How Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web ApplicationsHow Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web Applications
 
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3
DNN Launch Webinar: DNN Platform 8.0 and Evoq 8.3
 
5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed
 
Preview of DNN Platform 8
Preview of DNN Platform 8 Preview of DNN Platform 8
Preview of DNN Platform 8
 
5 Favorite Features of DNN's Evoq CMS
5 Favorite Features of DNN's Evoq CMS5 Favorite Features of DNN's Evoq CMS
5 Favorite Features of DNN's Evoq CMS
 
How to Build a Thriving Community on Your Website
How to Build a Thriving Community on Your WebsiteHow to Build a Thriving Community on Your Website
How to Build a Thriving Community on Your Website
 
Mobile App Development Using Appcelerator and DNN WebAPIs
Mobile App Development Using Appcelerator and DNN WebAPIsMobile App Development Using Appcelerator and DNN WebAPIs
Mobile App Development Using Appcelerator and DNN WebAPIs
 
Why You Can't Do Content Marketing Without a CMS
Why You Can't Do Content Marketing Without a CMSWhy You Can't Do Content Marketing Without a CMS
Why You Can't Do Content Marketing Without a CMS
 

Recently uploaded

The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 

Recently uploaded (20)

The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 

Behind the Scenes with Evoq in the Cloud

Editor's Notes

  1. DNN is a Web CMS that is perfect for quickly building websites and web applications. With thousands of brand name customers like Bank of America, BP, Hilton, Samsung and Kaiser Permanente you know that DNN is flexible enough to handle your requirements.
  2. The DNN Platform, combined with 1000s of available extensions, make it easy to build cutting edge websites and web applications.
  3. Building a DNN site is actually pretty easy considering :it is server-side software and 15 years ago you’d need a team of engineers and a sizeable bank balance to build such a thing. The steps are relatively simple. DNN Software comes as a compressed folder full of scripts, files and programming bits and pieces.[CLICK] Download the software. [CLICK] Extract the files to your server. If this is a local installation then you will need to setup folder security. If this is not a local installation then you’ll need to arrange for someone to host your site. There are many great hosting options available.[CLICK] Once you’ve created the folder full of the software, then you need to create the IIS website and application pool to run the code, and make sure the permissions and bindings are correct. [CLICK] Then you create the SQL Server database (assuming you already have a SQL Server, of course) and set up the user and credentials for the database[CLICK] Now that you have a website and database, it’s time to run the installation wizard. This will step you through the process of actually populating the database with the tables and code, and unpacking the various parts of software within the DNN Codebase itself.[CLICK] When all of that is finished, you have a new DNN site which you can view in your browser.That is the DNN install process – like any software company, a lot of effort goes into making the installation process as painless as possible – yet problems still get caused by the number of variables in the equation.
  4. In order to simplify the getting started experience, in 2006 we created a Demo environment so new users could checkout DNN before installing it locally. [CLICK] The DNN demo environment ran on our own servers and was able to handle 1000s of demos every month. This environment utilized the DNN multi-portal feature and provided users with a free 2 week demo.[CLICK] Of course, this environment had it’s share of challenges. Because it used a shared DNN instance each user was limited to just Admin functionality. They could not install custom skins or module or do anything else which required Super User privileges. DNN easily handles 100s of websites on a single install, but our demo environment was beginning to strain our ability to scale. With 1000s of demo websites being created every month we had numerous challenges with scaling which had to be close managed.
  5. In 2011 it became apparent that we needed to prepare DNN to run in the cloud. We started to see more and more customers who were interested in running DNN in the Cloud.
  6. As part of our effort to move DNN to the Cloud, we evaluated a number of cloud providers like Rackspace, Heroku, AppHarbor, Google AppEngine, Windows Azure, AWS and others. Some of the providers could be quickly eliminated because they did not support .Net, however we still looked at them to see what kind of features we might like in our ultimate winner.In 2011 we started working with a hosting provider that was moving into the cloud space. That effort ultimately didn’t work out, but it helped clarify what features were important for us as we moved forward.We finally chose to partner with Microsoft to deliver DNN using Windows Azure.In evaluating cloud providers, and in choosing Windows Azure we looked at a number of factors.ScalePerformancePriceVisionExecutionStrategic Alignment
  7. Even as we were ramping up our cloud product, Microsoft was rapidly improving the Windows Azure platform. By the beginning of 2013, DNN users had 3 options for hosting DNN on Windows Azure:[Click] Windows Azure Websites provides a shared hosting option that in some respects makes it easier to get started with DNN. WAWs make it easy to scale your site up to multiple instances or to move to a dedicated VM. Of course, WAWs is a very constrained environment which doesn’t suit every customer.[CLICK] Cloud Services is a unique offering from Microsoft that allows you to focus on your application and not worry about the underlying infrastructure maintenance. The DNN Azure Accelerator helps take the pain out of installing DNN onto Cloud Services. While cloud services provides more control over the environment than WAWs it still has a number of limitations which may be too constraining for some uses.[CLICK] Virtual Machines provide complete control over the hosting environment. Hosting DNN in a VM is no different than hosting it on your local machine. Of course that means you are responsible for all the security settings and OS maintenance, but it provides you ultimate flexibility.
  8. Lets look at what it is like to install DNN on WAWs. This environment provides the most streamlined hosting option for Windows Azure.The steps you need to take are:[CLICK] Create an Azure subscription. Many people might already have one, and it’s not that difficult to do[CLICK] Within Azure you can choose to create a new Website from the App Gallery – you just choose DNN as the site you want to create, and that kicks off the Windows Azure Websites process[CLICK] The website gets created for you automatically, and that also installs the application files into the location. [CLICK] As one of the steps of Gallery wizard, you will be given the option to create a Azure SQL Database to store the data for your new site. While this is mostly automated, you still need to pay attention. The credentials and connection information for the database will be needed later when you configure DNN.[CLICK] Once that is complete, you can start the DNN installation wizard which kicks off the DNN installer in the same way. Here is where you need the credentials collected from the prior step[CLICK] Finally you can view your completed site in the browser, and it’s all createdThis process actually works quite well and I have used it to create DNN sites. Once you’re at the end of the process, you’re free to start building your site as normal
  9. As you can see from the steps involved to create a DNN site on WAWS, it is still not a completely straightforward process. Moving to the cloud is about more than just getting DNN to run on a Cloud Provider. It is about making DNN truly cloud aware.Our cloud project had a couple of key requirements - Provide a great trial experienceDNN as a ServiceWhen building out these two environments we looked to provide some key benefits to our customers.Simplify onboardingprocessAddress key pain pointsIntegrated Solution
  10. Our trial environment uses the Windows Azure Pack running on Windows Azure VMs. [CLICK] Our trial environment makes it easy to quickly and easily launch new DNN trials of our Evoq products. The Windows Azure Pack is a high density hosting environment that allows us to host 1000s of trials using a fixed number of VMs. As our server load increases, we are able to easily add new VMs and have the system continue to scale seamlessly. Also, we built the system so that it is easy to add or remove products allowing us to deliver trials for our entire product line.
  11. Paying customers have different server load and security requirements than customers who are just trying out the product. For these customers we provide a dedicated environment based on Cloud Services. This environment provides multiple web workers in a highly available web farm configuration that can be quickly scaled up to include additional worker roles as needed. Our production environment also includes many cloud specific features which leverage the broader capabilities of Windows Azure.
  12. In order to manage everything, we built a single system running in the cloud. This system which we call DNN Cloud Services, handles coordination between all of our systems. A simple signup page on our website will result in interactions between 3 different backend systems even as the customers device is being provisioned on Windows Azure. If any errors occur in the process the system automatically logs it into our Customer Support System for follow up.
  13. DNN Cloud services primarily communicates using Web API and Windows Azure Enterprise Service Bus. Once a request for a service is received it is placed in a message queue. Worker roles monitor the queues and process the requests as they arrive. Using this architecture the system is able to easily scale to very large workloads. If we find that requests are backing up in the queues we can spin up additional worker roles to help handle the extra load.
  14. One of the primary services provided by DNN Cloud Services handles provisioning new DNN sites. This system is an abstraction over the steps needed to spin up a new DNN site using Windows Azure Pack, Cloud Services or Virtual Machines. Theoretically, we could write a provisioning provider to spin up a new website on any cloud service.
  15. Each DNN website consists of 3 major components which much be provisioned on Windows Azure: compute, database and storage. Whenever a device is provisioned or deleted, we must make the appropriate calls to the underlying cloud APIs to handle provisioning or deleting the associated resources.
  16. For Windows Azure, this means that every device will require us to make calls to the Management API, the Storage API and the SQL Azure API.
  17. When we first launched DNN Cloud Services last year, we were provisioning trials using Windows Azure Cloud Services. It could take up to 30 minutes to provision a new customer request. We learned very quickly that customers today do not want to wait. We were only getting about 10% of customers who would actually trial the software after the provisioning was completed. We would send out a follow up email, but once they moved on, they almost never returned.We knew that it was critical to be able to make it so that customers could get a trial almost instantaneously. So we set out to solve this problem.
  18. A common mechanism to solve resource allocation issues is to use “resource pools”. By pre-allocating resources, you can make most resource requests almost instantaneous. We built a system that allows us to allocate different size pools based on the type of product and even by specific product configurations. These pools will automatically try to ensure there is a backlog of devices to handle the anticipated load. Using minimum and maximum pool sizes we can ensure that the system is balancing the desire to keep delivery delays in check while also not keeping too many costly resources sitting idle.
  19. In moving to the cloud we had a couple of key takeaways:It is easy to get DNN running in the cloud. It is much more difficult to make DNN truly leverage cloud services to solve problems which matter to our customers.At every step, we need to keep in mind the challenges that the customer is having and look at how we can use the cloud to solve those challenges. We don’t use the cloud because it is the current buzzword. We use the cloud because it solves a problem that customer care about.Even though leveraging the cloud can be very complex, the customer does not need to know about the complexity. We do everything we can to keep things simple for the customer.
  20. When we were building Evoq in the Cloud, we had one key goal in mind. Deliver the simplest and most elegant solution possible. This quote from Steve Jobs summed up exactly what we were striving to achieve. Take a very complex problem and distill it down as much as possible – to strip away the needless configuration options, buttons, checkboxes, etc., and deliver a solution which gets to the heart of the problem.