 Becoming good at DevOps meant taking the practices that we'd honed for being a good box software provider and changing them to this new world of continuous delivery and continuous feedback and continuous innovation that DevOps requires. How disruptive was it? Well, we went from a world where the notion was you, at the end of every sprint, had a quote potentially shippable increment to one where you deploy live at the end of every sprint. We went from a world where the idea of testing was to minimize the mean time between failure to one where the idea is to minimize the mean time to remediate. In other words, if there's a live site incident, you want it fixed immediately and then you want it fixed to root cause. So you're always getting better and you're always automating whatever you can automate. So an example of that would be, say, alerting. We've recently introduced automatic alerting, which is a 40X improvement over the way we used to do escalations. The classic escalation model is that you have a notion of tier one support where you have these people who are spending time looking at lots of alerts that come in. Well, we now have an auto dialer that looks at the alerts that come in and automatically roots them to the appropriate dev for the right section of Visual Studio Online and says, it looks like there's a live site problem with your code or your portion of the system based on the code and configuration and you need to hop on it and you need to be on it within five minutes if it's working hours or 15 minutes if it's not in working hours. And that's done automatically and that works automatically because we've been able to eliminate all of the false noise that normally happens in alerting systems because we have been able to learn from watching the noise that comes in the systems and get rid of the noise by building a health model and taking this directly to root cause. That's an example of a practice and you don't need such high reliability hardware because you have software that can handle failure and understands that hardware does fail and that people do make mistakes and you want to understand things like what to do if a disk drive fails or if a data center fails. You want to be able to handle an earthquake, right? Earthquakes happen, tsunamis happen and in fact we can do data center to data center failover so these are things that software now knows how to deal with.