Azure is Microsoft's cloud computing system. It combinds the ability to for online SQL server, SQL Reporting, Virtual Machines, Compute and Web Roles, virtual networks, mobile access, websites, media services, storage, and even more. The Azure platform keeps growing and providing a great platform for all things online and connected. Microsoft provides 90 day free trials as well as accounts for MSDN and BizSpark subscribers. This allows developers to get their feet wet with the technology without a huge cost.
using Azure, a new leaderboard system is being developed. While developing games for Windows 8, I found it not very straight forward to get into the leaderboard system from Microsoft, so I wanted a simpler, open system for all platforms. This leaderboard system will integrate to all mobile devices and be available for other developers to add to their own games. This means that developers will be able to use a single leaderboard system for Windows 8, Windows Phone 7/8, iOS, Android, and even Facebook or HTML games.
Second Challenge: Build a website
Azure Websites provide up to 10 free websites to use and supports many free types of websites from its online gallery. This could be a WordPress, Joomla site, or anything that you make on your own. Azure websites also allows the websites to scale up to shared and reserved instances as well if needed.
For the leaderboard system, I plan to use the free websites to provide a connection to the system online and another instance to provide a facebook application.
Third Challenge: Using SQL on Azure
Azure SQL provides a relational database that is very close in functionality to SQL Server 2008. Standard tools like Visual Studio or SQL Server Manangement Studio can connect and can be used to manage the databases. People are always worried about the usage of databases online and security and this is something that Azure provides as well. Every database must whitelist the IP addresses of the machines that can talk to the database, even the Azure compute instances as well need to be specifically allowed to talk to it.
The leaderboard system will use the SQL database as the backend for all of the data.
Fourth Challenge: Virtual Machines
Azure supports virtual machines that can run many different things, from CentOS, Suse, to Windows Server 2012. these virtual machines can even be setup in a virtual network to give you the same connectivity that you would expect from a local virtual machine network.
For the leaderboard system, the virtual machine will be used to provide suggestions, or reccomendsed games for people based on the games that their friends play.
Fifth Challenge: Mobile access
The leaderboard system is made for mobile developers to provide a leaderboard across all of these platforms. Apps for each platform will also get developed to allow games to see their scores, how they rank, what their friends are playing and to allow them to recommend games to others.
Why Use Azure?
Azure provides a .NET developer with all of the online tools to create all of the online components needed by todays application. One of the best features of Azure is that it also scales up or down based on the needs and load of the system, saving time and money when creating online tools.
For a previous project, Thought and Prayers, Azure was also used for the Compute Instances, SQL, Queues, mobile access, and websites. This project runs on Windows 8, Windows Phone 7/8, iOS, Android, and as a Facebook application. Thoughts and Prayers is a global prayer board that people can anonymously submit and pray for others. It currently has over 13,000 prayers and has prayers in over 10 languages. Azure was a large part of this. The leaderboard system will be doing the same thing but for gaming.