What do the Canadian Elections and the Cloud have in common? You don't need to think about the infrastructure once they are over. (Yes...I am stretching that pun to its limits) 🙂
This probably was one of the most watched elections in Canadian history. You had multiple news outlets vying for eyeballs on election night. Users were expecting results instantaneously. Talk about a true mission critical system. Imagine for a moment to the brand of the CBC if they couldn't deliver results in a timely manner to their viewers.
Building an infrastructure to deliver election results at that scale would traditionally require massive investments and planning. Not only would you have to buy the hardware, but then need the additional time and expertise to set it up and make it fully redundant. The US has a fixed election cycle so things are more predictable. However in Canada's parliamentary system, elections could be called at any time in the five year term. Major broadcasters and media outlets need to be ready at a moments notice.
Enter the Cloud era.
You now can start building solutions in the Cloud and start scaling out as needed. You don't even need to have in house Development and Test environments anymore. Dev\Test environments in the cloud have become so easy to provision. Store your source control in Visual Studio Online, and build\deploy directly to Azure or other cloud providers. Don't feel comfortable relying on one Cloud Provider...pick multiple to have additional peace of mind. Need redundancy over geographic regions...Check. Need to dynamically provision resources based on load...Check. Need machines with lots of cores and memory. Check!
Everything that IT departments needed to budget, plan and operate for can now be done at the click of a few buttons. No longer will you need your massive investments sitting idle once the election is over. Now you can just de-provisions them instantaneously saving massive capital dollars. Rather than building datacenters and worrying about power needs, the Cloud allows you to focus on what you do best. Build solutions that serve your business objectives.
The CBC in Canada did exactly this. The folks over at the Azure Blog have a really cool behind the scenes write up about their solution and experience.
Using Azure App Service environments CBC/Radio-Canada was able to scale their infrastructure across three different geographical regions close to 1,300 compute cores to serve over 3.6 billion requests over a period of six hours with peaks of over 800K requests per second.
In preparation for the app going live CBC/Radio-Canada did diligent load testing and functional testing of the application burning through 10 million user minutes of Visual Studio online load testing. This helped raise the confidence on the app and understand how the platform behaved under load as well as validate that the load predictions would be met by the infrastructure.
Think about the opportunities in your coming solutions. We don't have to build solutions to deliver election results, but I am sure you are running into Peak\Burst Load patterns in your Enterprise as well. How would it affect your solution if you could add a 100 cores to process peak load for an hour every day? Do the math, the cost is going to negligible compared to the capabilities, user experiences, and business capabilities you are able to deliver. Enterprises today are embracing the cloud to handle large data volumes and compute requirements. This is already a competitive differentiator. Are you ready to take this on? Or do you want your service to look like the following?