October 10th, 2010 |
One of my favorite features of Windows Azure is their Production/Staging model. I think the best way to explain why I think this is so well implemented is to walk you through the processes.
Here we have Test1 running in Production and Test2 running in Staging. Clients that go to your production URL are routed to your production code. Clients that go to your staging URL are routed to your staging code. This allows you to have your customers use your production code, while you can test your new code running in staging.

Now that I’ve tested my staging code I am ready to move it to production. I click the swap button located in-between my two versions and Test2 becomes production and Test1 is moved to staging. What happens behind the scenes is the load balancer (managed by the Azure platform) starts directing incoming requests to your production URL to servers running the Test2 code base and requests coming into your staging URL are routed to servers running the Test1 code base. This process literally takes a few seconds since the Test2 code base is already running on servers. This also gives you the advantage of being able to immediately switch back to your old code base if something goes wrong.

Now we have updated our code again and have pushed up Test3 to our staging area. We now have Test2 still running in production, and can do testing on Test3 in staging.

Now that we have tested our Test3 code and are ready to move it to production we hit the swap button again and Test3 becomes production and Test2 is moved to staging ready to be moved back into production on a moments notice.

One thing to take note of is that the Web Site URL’s for Production and Staging never changed. Unfortunately neither of them are URL’s you want your customers to see or you would want work with. What you want to do is create to DNS CNAME records. In the example case I’m using here you would create two DNS records:
serktools-stagetest.clodapp.net CNAME test.sevans.info
e7e3f38589d04635a6d0d0aee22bd842.cloudapp.net CNAME stage.test.sevans.info
June 8th, 2010 |
Tagged as: Screencasts/Podcasts I recorded a DotNetRocks episode a couple weeks ago that just went live. It ended up taking a different direction than I planned, but hopefully you still find a lot of valuable content in there. Primarily it’s about the pros/cons of Amazon and Azure and will help guide you in your decision of an IaaS solution (Amazon Web Services, GoGrid, FlexiScale, etc) or PaaS (Azure, Google App Engine, etc).
If your looking for more information on the topic you might want to check out my Cloud Computing presentation slide deck or the articles I have written on Amazon Web Services.
If your not already subscribed to the feed you can find this episode at http://www.dotnetrocks.com/default.aspx?showNum=565.
May 23rd, 2010 |
The 3rd somewhat annual Central Coast Code Camp has concluded. This was my first year being involved in the organization, and while it was a lot of fun, I’m exhausted.
Thanks to Peter Kellner we have some pictures of the event.
May 18th, 2010 |
It’s technically called Microsoft Hyper-V Server 2008 R2. That’s why I call it the free edition of Hyper-V.
What you get is an ISO that will install Windows Server 2008 R2 Core edition running Hyper-V. And the license for that is 100% free. If you install a guest running Windows you will need a license for that, but if all you did was install Linux guests you could have a 100% licensing cost free environment.
Realistically if you are a windows shop you are going to be buying datacenter licenses for the physical CPU’s to cover an unlimited number of guests. And if you are not a windows shop you are not going to be using Hyper-V for no other reason than it does not have great Linux support yet. But if you just want to look at Hyper-V or use it in a lab environment this edition of Hyper-V can come in quite handy.
And yes this blog post is mostly here so I can find the download page in the future. If you can find it on your own within five minutes then I am impressed.
March 25th, 2010 |
One more blog post where I am just linking to someone else. But again I think the quality of this link warrants it.
I recently attended the NYC Code Camp which was an excellent experience for me and was a very well run code camp.
Stephen Bohlen wrote an excellent article about the review system they used and the benefits it had over other review systems I have been subjected a part of at various events.
As a speaker getting good honest feedback is very hard. One of the things I really liked about their system is I was able to see my reviews in comparison to the other reviews that attendee gave. So it helped me put in perspective the feedback I received. For example if the feedback I get from a particular attendee is much better (or much worse) than the general feedback given to the other speakers then I know it is significant. If an attendee says all the sessions are great than I know that he is just being nice.
I also received much more tangible and actionable feedback than I normally do. On a “normal” review I will get one actionable comment (eg The way you demonstrated x was good/bad or if you would have done y I think I would have followed along with z better) for every 50 reviews. I would say that 1 out of 10 from this system gave me actionable feedback. Of course maybe that is the difference between New York and California cultures also 
If your involved in organizing technical events or speak at technical events I highly recommend you read the article NYC CodeCamp Winter 2010: Session Evaluation Process, Results, and Conclusions.