Techniques to Ease Recovering from Self Inflicted Data Corruption

In a previous article I argued that even with the protections Windows Azure Table Store provides for my data I can still screw things up myself and so need to put in place protections against my own mistakes. Below I walk through the three scenarios I previously listed and explain how command journaling, tombstoning and versioning could make recovering from my errors much easier.

This article is part of a series. Click here to see summary and complete list of articles in the series.

Continue reading Techniques to Ease Recovering from Self Inflicted Data Corruption

The Limits of Command Journals

In a previous article I argued that I needed some kind of journaling/backup for my Windows Azure Tables in order to make it easier for me to recover from my own screw ups. One type of journaling I suggested was command journaling. In this article I look at the practical limitations of command journals and conclude that while they are (somewhat) useful for notifying users who might have been affected by data corruption they aren’t likely in the general case to be re-playable so their real value is probably less than it might appear.

This article is part of a series. Click here to see summary and complete list of articles in the series.

Continue reading The Limits of Command Journals

Do I need to backup/journal my Windows Azure Table Store?

Windows Azure provides a highly scalable, reliable, fault resistent table store. So in theory my service can dump data into the table store and walk away secure in the knowledge that I’ll get back what I put in and that the data will be there when I need it. So is there any reason I should care about backing up or journaling my Windows Azure Tables? As I argue below the answer is - yes. But the reason isn’t to protect me against Azure’s mistakes, it’s to protect me from myself.

This article is part of a series. Click here to see summary and complete list of articles in the series.

Continue reading Do I need to backup/journal my Windows Azure Table Store?

Chef’s Choice SmartKettle Model 688

I love green tea and its variants such as jasmine and genmaicha. But these teas only taste good to me when made with hot water around 160’s. Anything hotter just turns them into an acid brew. But seriously, sticking a thermometer into a cup to measure the heat just wasn’t working out. I bemoaned the lack of a kettle with a thermostat to save me. Thankfully Wired clued me in to a great solution – the Chef’s Choice SmartKettle Model 688. My wife was nice enough to buy me one, it works great and my green tea tastes outstanding!

Why does OAuth need request tokens?

OAuth's current access dance is based getting a request token that is later exchanged for an access token. Introducing the request token takes what could have been a 4 round trip protocol and makes it into a 6 round trip protocol. Couldn't we just simplify OAuth down to 4 round trips by getting rid of the request token all together? Or is there some critical use case enabled by request tokens that makes all the complexity worth the price?

[5/26/2009 – Updated with Q&A on open redirectors]

[6/2/2009 – Updated with a note from Allen Tom on another way to prevent open redirector attacks]

Continue reading Why does OAuth need request tokens?

Claims, Tickets and HTTP – Security protocols for services

I'm writing an enterprise service. A request comes in. Do I honor the request or reject it? Answering this apparently trivial access control question has spawned whole universes of interlocking protocols. Kerberos, Shibboleth, SAML, WS-*, Liberty, OAuth, OpenID and so on. Before I can pick which protocol to use I need to define my requirements.

DISCLAIMER: Although I am an architect on .NET Services' Access Control Service nothing said in this document necessarily represents the opinions of my employer, my friends, my enemies or my teddy bears. No warranty express or implied. Your mileage may vary. Do not remove tag.

Continue reading Claims, Tickets and HTTP – Security protocols for
services

Autosocking it through the winter

How do you get a Prius through the snow? I didn't used to care but in the last few years Redmond has had snow sitting on the ground for a week or two. There are low profile chains that will work on a Prius but that's a bad solution for me because the main roads in Seattle will be clear of snow, it's the neighborhood roads and side streets that will be covered. So after a mile or two of driving I would have to take the chains off. Studded tires could work but most of the time there is no snow on the ground and having to have my wheels put on and off is a pain. Snow tires could work but the snow season is only a month long and temperatures go all over the place, besides we get more water than ice/snow towards the end of the down fall and snow tires do badly on that. In the end I found and have tried out a reasonable solution to my problem âÄì The Autosock.

I tried out the autosock on my car last winter and this winter. Both times they worked really well. They gave me excellent traction both on packed and loose snow. They take literally 60 seconds to put on and take off. They aren't perfect but they work pretty well. Where I ran into problems with them is on slushy snow. I had to rock the car several times, driving back and forth, to get through a few really slushy patches. And when the snow started to seriously melt the autosock met it's match and stopped working. But so long as the snow was reasonably solid (e.g. power or packed) they worked well. I tried them on the steep hills around my home and they gave excellent traction both going up and down hills. Besides the looks on people's faces as a Prius with what looked like a shower cap on its wheels confidently drove past in the two foot snow was priceless.

I have never driven a four wheel drive but my guess is that autosocks are no substitute for a four wheel drive or real snow tires. But they got me around just fine and the cost is certainly right.

What do program managers on the Cosmos team do anyway?

In previous articles (here and here) I have talked about what software program managers do. And in another previous article I talked about Cosmos. In this article I bring the two topics together and talk about what Cosmos program managers actually do. (For those just joining us Cosmos is Microsoft's internal platform for reliably storing and processing petabytes of information such as all of Microsoft's log data from its various websites.) The issue of what PMs on the Cosmos team do is near and dear to my heart because I'm the lead program manager for Cosmos and we are hiring!

Continue reading What do program managers on the Cosmos team do anyway?

What is Microsoft's Cosmos service?

Cosmos is Microsoft's internal data storage/query system for analyzing enormous amounts (as in petabytes) of data. As the lead Program Manager for Cosmos I can't say too much about it but what I can do is take a tour of the information that Microsoft has published about Cosmos. So read on if you are interested in the architecture Microsoft uses to store and query petabytes of data and what technical issues Microsoft's approach brings up.

Continue reading What is Microsoft's Cosmos service?

Tools of the Software Program Manager Trade

In my previous article about what a PM does I talked about contracts. While I didn't mean contracts in the literal sense of a legally binding document the best PM groups I've worked with do produce a specific set of documents which serve to record what has been agreed to, track status and help to identify and resolve problems. Below I walk through those documents and what their purpose is.

Continue reading Tools of the Software Program Manager Trade