BUILDING DNN AS A SERVICE – PART 2

Author:

Joe brings more than 25 years experience in software development and network administration and broad expertise in a variety of software and hardware architectures to his role at DNN Corp. Prior to DotNetNuke Corp., Joe was the CTO at DataSource Inc., a 200 person IT consulting and software development company. He blogs at The Accidental Geek and is co-author of two best-selling WROX books on DotNetNuke. Joe holds a degree in Computer Science from the United States Naval Academy.

Register to Comment

Sign In to Comment

Register to Comment

Sign In to Comment

The Trial Experience

Just a few weeks ago, one of the DNN Corp. sales engineers was in Chicago for a meeting with a system integration partner. That partner had invited a bunch of clients over to see a demo of all the great features in Evoq Social. Our sales rep and sales engineer had gone over the demo to make sure everything was ready to go – and then they went into the conference room to get setup only to find out that the projector didn’t support HDMI and that they didn’t have the right VGA connector in their bag. This had all the makings of a disaster waiting to happen.

With less than 10 minutes to go before the demo, our sales rep was getting worried. Fortunately the sales engineer was able to use one of the partner’s laptops which had the VGA out connection. In well under a minute, a brand new site running Evoq Social in the Cloud was provisioned and all ready for the customer demo. The rest of the meeting went off without a hitch.

Understanding the Issues

When DNN Corp. first set out to address the need for a cloud based version of DNN, we knew that we needed a cloud management system that was extremely flexible. It would be responsible for managing the customer throughout the entire customer lifecycle, handling both customer trials as well as production systems of all of our products.

One of the first real world tests for our cloud management system was to make it easy for customers to try our software. The trial experience is critical for creating a great first impression. For the last 7 years DNN has offered online demos of our software. Unfortunately, our online demos relied on our multi-site feature which meant that trial users were unable to access the platforms most advanced features which were restricted to super-users. Users could not test out 3rd party extensions or use a custom skin. It’s not a real test drive if you can’t take it out of the parking lot.

In order to replace our existing demo environment we needed a system which would allow us to spin up thousands of trial sites every month while keeping the costs under control. We wanted a system which would allow us to provide a fully isolated DNN install to each customer so that they would have complete access to all of the features that DNN offers. We also knew that the system had to be flexible enough to create trial versions of any of our solutions.

Delivering DNN Trials

Before we could begin to deliver cloud trials, we needed a system which would allow us to provision DNN installations as quickly as possible. Using several Windows Azure cloud services and message queues, we created an extensible and scalable provisioning system that allowed us to dynamically define different product packages and device configurations – we can create configurations for both our trial environment and production environments using the same set of tools. By injecting a simple message into a Windows Azure message queue we can direct the system to spin up a new DNN install for a customer.

Our provisioning system, which we had built in the spring, was already able to create DNN installations using Windows Azure Worker Roles. We already had this system running on two completely different cloud providers so we were pretty confident the underlying architecture was flexible enough. Using this system we were able to spin up dozens of trials every week on Windows Azure. Unfortunately, the cost of using Worker Roles meant that we had to limit how many trials we gave out to customers. We definitely needed a trial environment which was more cost effective.

In the summer of 2012, working closely with the Microsoft Windows Azure Team, we began work on solving the trial cost issue. Using Windows Azure Services for Windows Server and the new Windows Azure VMs, which were both in beta at the time, we were able to quickly extend the provisioning system to rapidly deliver a low-cost DNN installation for each customer. The Microsoft team was able to help us quickly work around any issues we ran into with the beta software, and we were able to provide valuable feedback to them on the reliability and readiness of the Azure Services and Windows Azure VMs.

Windows Azure Services allowed us to create a high-density hosting environment running on Windows Azure. This is the same platform at the heart of Windows Azure Websites. In less than 45 days we were able to launch our new high density trial environment and completely shut off our old demo system. The Windows Azure Services and DNN cloud management system made it possible for us to quickly deliver thousands of trials on a small number of Windows Azure VMs. In addition, Windows Azure Services delivers a highly available trial environment so that even if one server goes offline, all of the websites are unaffected.

Fast, Flexible and Cost Effective

One of the key goals we had for this project was that it needed to be fast, and today the new provisioning system certainly delivers. When we first started work on the new trial system, we were able to deliver a DNN instance in about 2 or 3 minutes. With the migration to the high-density environment, and some changes to our signup page on DNNSoftware.com, we are now able to deliver a 14 day trial in around 30 seconds. We have even been able to take the lessons we learned in building out the trial environment, to speed up delivery of production cloud instances as well.

The other key goal was that the cloud management system needed to be flexible. When we launched Evoq Social (previously known as DNN Social) this spring we were able to configure the cloud management system in just a few minutes to handle the new product. The system was able to deliver Evoq Social in the Cloud in both our high-density trial environment as well as our high-performance production environments with no additional programming required.

The new cloud delivery system is already providing real benefits for DNN Corp, and for people in the community. In just a matter of seconds you can have a site ready to go for that client demo, to test out your new module or skin, or even for that management meeting where you need to demo the new social solution you want to use. If you are new to DNN and just want to see what all the fuss is about you can be up and running in just a few seconds.

Having delivered tens of thousands of trials over the last year, and with the ability to deliver a new fully installed site in just 30 seconds, I think it is safe to say we met our goals for the new trial system. So go ahead and start a new trial of Evoq Social or Evoq Content in the Cloud today!