A few weeks ago, the first 2 Saturdays of August, I have been pretty busy teaching my first summer class ever. I already give various presentations before, did already a lot of talks but this time it was a completely different experience.
The course itself was organized by CVO Antwerpen (http://www.cvoantwerpen.be/), specialized in education for adults and to support people in making a career change to the big bad world of IT. Normally there are no courses during summer time, but for those who are interested and for those that already want to prepare for their next year, a summer class like this is a nice opportunity.
The course I gave this year was of course about Windows Azure, trying to give as much information as possible but limited to only 2 full days
Day 1
The first day we started with a general overview of the Windows Azure Platform: websites, virtual machines, services and a small (video) tour in the data center itself. As expected, the attendees were pretty impressed by it (how could they not be
)
A nice feature to get started with the platform pretty easily are the websites, so we decided to first focus on those, also keeping in mind that people could play with them later on.
To take a practical approach, we decided to build a todo application, both in PHP and ASP.NET MVC 4. The application itself was pretty simple, allowing the display of a grid of todos coming from a MySql and MSSQL database respectively and enabling the user to add and manage these todos.
The tutorials for these applications are available on http://www.windowsazure.com/, both for php and asp.net:
http://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/
http://www.windowsazure.com/en-us/develop/php/tutorials/website-w-mysql-and-webmatrix/
Building both of these solutions from scratch combined with a full overview of the platform seemed to be enough content for one day. The weather was very nice so we still tried to enjoy the sun and not only the cloud
Day 2
During the first day we finished our todo application both in php and asp.net but now it was time to host it somewhere on windows azure. The Windows Azure passes couldn’t be activated because of some maintenance activities and those passes don’t seem to support the newly released features anyway so we decided to share one account and to provide everybody with access to one free (and shared) website. Luckily we have 10 of those, which was enough for this group.
Deployment of both the applications was very easy (as expected) and the todo app was up and running in no time. Again this clearly showed the power of websites and the flexibility it offers users to get started with Windows Azure.
To make our application more scalable and secure, it was finally time to introduce queues and access control into the application.
The tutorial for the access control part available on the Windows Azure website was pretty easy to follow and allowed us to quickly secure our application using google accounts and windows live. http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-control/
As the last, and most interesting part in my opinion, we decided to implement queues into the todo application. The idea behind it was pretty simple but clearly showing the power of cloud and disconnected applications. The setup was pretty simple though.
I prepared a simple queue which could be used by everybody to put a message on every time a new todo was added in their own application. On my computer I wrote a small todo aggregator using java and IntelliJ which was listening on the queue. Every message entering the queue was picked up by this simple console application and published back to other queues, one for each attendee. Using a local worker, everybody could then listen to messages arriving at their own queue, convert the message into a todo and persist it into a database running on their own local machine.
So with these simple steps, I could clearly show the power of cloud and Windows Azure and queues. Even without any connection between the different machines in the room, it was pretty easy to communicate todos back and forth between all applications and to ensure all items were synced across all databases.
Conclusion
It was my first summer class on Windows Azure and I’m very happy that I used 2 sunny Saturdays to teach them. It was a great experience both for me and for all attendees, which I want to thank a lot for their interest in the material, their contributions and their enthusiasm.
I’m looking forward to teach more of this kind of classes, and I’m pretty sure it will happen in the very near future.