Recently I was invited to speak at TechEd 2012 Australia on my experience with building an Internet-scale service on Windows Azure. Rather than focus on the coding aspects which are documented quite comprehensively on MSDN, I focused on the operational aspects that are crucial to running a reliable service.
Visual Studio Team Foundation Server is a multi-tier client/server application that Microsoft ported to Windows Azure. In this session, you will get an idea of what it takes to take an existing application and turn it into an Internet-scale service. Getting the code running is the easy part - you will learn about all the other things you need to think about when shifting from building a server to running a service, including deployment, patching, monitoring, scaling and testing.
You can stream or download the video from channel9 MSDN:
The feedback on the session has been positive and it appears many people are in the process of standing up their own services or are planning to do so soon.
Key Tenets of Building and Running the Service:
The goal should be that a highly-reliable, 24x7 service should be maintained by a small 8x5 operations staff.
Engineer the problems. Don’t scale the operations team.
Low-cost administration correlates highly with how closely the development, test, and operations teams work together
The product team is held accountable for the success of the service. This drives the right behaviours.
Here are the links to the resources mentioned in the presentation:
- Book: Professional Team Foundation Server 2012
- What does a Premier Field Engineer (PFE) do?
- Microsoft Services Premier Support
- Team Foundation Service (www.tfspreview.com)
- Research Paper: On Designing and Deploying Internet-Scale Services (James Hamilton)
- Windows Azure SQL Database Errors wiki page
- Transient Fault Handling Application Block
- 99.9% * 99.95% * 99.9% * 99.9% = 99.65%, Calculating Availability & SLAs – In Search of Five 9s
- Windows Azure Service Level Agreements
- Exchange Online Service Level Agreement
- System Center Monitoring Pack for SQL Azure – CTP
- System Center Monitoring Pack for Windows Azure Applications
- System Center Global Service Monitor
- Gomez Application Performance Monitor
- Testing in Production (TiP) | Services Testing | There’s no place like Production
- ING DIRECT Australia – Lab Management “Bank-in-a-Box” Case Study
And if you’re after an entertaining session that’s not about TFS, take a look at Chad and Tristan’s session on Windows Server 2012 DirectAccess – one of the evals even said “Do the speakers do stand up comedy too?”
Update: The Windows Azure team have published a great whitepaper on Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services, which covers additional design points to consider.