Archive for October, 2011

Windows Azure Camp Oct 28-29 2011

October 23, 2011

There’s a great opportunity to get started learning about Windows Azure coming up this week. There is an Azure Developer Camp this Friday and Saturday (10/28-10/29) at the Microsoft offices in Mountain View, which is over in Silicon Valley. This is an event for developers, by developers. You get to learn from experts and then get hands-on time to apply what you’ve learned. Here’s the agenda for day 1:

  • Getting Started with Windows Azure
  • Using Windows Azure Storage
  • Understanding SQL Azure
  • Securing, Connecting, and Scaling Windows Azure solutions
  • Windows Azure Application Scenarios
  • Launching your Windows Azure App

Day 2 is all development. They will have step-by-step labs you can go through that will get you started right away. You’ll also have the option to build an application using Windows Azure, and then show it off to the other attendees for the chance to win prizes. And Windows Azure experts will be on hand to help.

So if you want to get started, or just check out what it’s all about, register here and come check it out. Neil MacKenzie (Azure MVP) will be there to answer questions and help, and so will I. Hope to see you there!

Managing Staging Deployments in Windows Azure

October 23, 2011

When I migrated GoldMail’s infrastructure to Windows Azure, one of the things I puzzled over quite a bit was how to have a staging environment with our Windows Azure services and applications. We tried using the staging instances of the Azure services, but the URL changes every time you publish one of these, and with the interdependencies between the services, we had to use DNS entries to keep from having to change the configurations in all of the related services. It can take a while for the DNS entries to filter through, so this did impact our release process.

I ended up defining staging services, and deploying to the production instance of them. When we’re ready to put something in production, we publish to what we call “the staging instance of our production services” and do a VIP swap. Then we test what we’ve put in production, and when we’re satisfied, we delete the old version of the services. I don’t think we’ve had ever to revert to the old verison, but if we do, it’s worth having it there instead of waiting 15-20 minutes for a new deployment to spin up.

Drawing on my experience, I’ve written an article on how to handle staging deployments in Windows Azure. This talks about handling configurations, both the way we chose to do it and Microsoft’s new feature in the Azure Tools 1.4. I also show you how to handle different web.config files – we have one service that we publish http and https separately, so we ended up with 4 web.config files, and I show you how to handle that with pre-build command. I also show you how you can set up your services for both staging and production. You can check out the article on the Dev Pro Connections website here. It’s supposed to be published in the October issue, too, so you can check it out there, too. I hope it’s helpful to you.

Code from the October 2011 Silicon Valley Code Camp Talks

October 10, 2011

As promised, I am posting the code from my talk at the Silicon Valley Code Camp on Saturday, October 8th. For those of you who attended both sessions, I added a boolean to the WCF service to let you flip back and forth between SQL Azure and Windows Azure Table Storage without changing the code. I have also included a copy of the SQL Azure database that you can run locally or migrate to Azure. You can download the goods by clicking here.

If you have any questions, please feel free to post them here.

Speaking at Silicon Valley Code Camp–Oct 8

October 7, 2011

This weekend I will be speaking at the Silicon Valley Code Camp in, well, Silicon Valley. To be more specific, it’s at Foothill College in Los Altos Hills, California, United States of America, Earth. Milky Way Galaxy. (Ok, enough of that.) My talks (parts 1 and 2) are at 3:30 and 5:00 on Saturday, October 8th.

I think this is the largest code camp in the US, with over 200 sessions, and over 3,000 people registered. They have sessions on pretty much everything from .NET and Azure to Java, HTML5, Google developer tools and platforms,  mobile development, and even the new Metro UI programming from Microsoft coming with Windows 8 that was revealed at the recent build conference.

My talk is called Azure for Developers. I’m going to briefly cover the basic principles of Windows Azure, but the main purpose of the talk is to show you how to program something that will run in Windows Azure and talk about how I used the different features when I migrated my company’s entire infrastructure to Azure last year.

I’ll show how to migrate an existing SQLServer database to SQL Azure, then write a WCF service to access it (including the SQL Azure retry code), and show how to access the service from a desktop client. I’ll show how you can put requests on an Azure queue and then read from the queue with a worker role and write information to blob storage. I’ll also show you how to set up diagnostics so you can do diagnostics tracing, performance monitoring, etc.

This covers pretty much all the major stuff in Windows Azure except writing to Azure table storage. I found out today that the sessions are 75 minutes instead of 60, so I’m going to try to add a section to the presentation to show how to run the WCF service against Windows Azure table storage instead of using SQL Azure.

You should be able to take what you see and create your own Windows Azure applications. The integration of the development environment with Azure is a huge benefit, and if you’re already a .NET programmer, the leap to Azure is totally manageable, as you’ll see with all the familiar-looking code.

If you’re in the Bay Area this weekend, it would be great to see you. If you have any Azure questions, please bring them with you!