Self-driving cars, hosted and shared environments, apps, tools and sites. We expect them to work, work correctly, and work always. Is this too high a standard?
Now, before I am accused of excusing providers, I’m not. I expect that Amazon’s S3 systems will remain online and available as advertised. I expect that Microsoft’s login services and email and such will remain online and available as needed. I expect self-driving cars not to run red lights… ever.
What do all of these have in common?
They’ve ALL happened in very recent times.
I’m not saying they’re wrong, but are our expectations just set up for failure? After all, if we’re driving, we make mistakes. It’s what causes accidents. Judgement lapses, things we don’t see, driving conditions, etc. It all adds up to accidents. But I suspect (in fact, the stats show it) that self-driving cars on the whole make fewer mistakes by a wide margin. Think of the lives that will be saved and the productivity gains. (Yay, now I can work ON THE WAY TO WORK too, whoopie!)
The same is true of hosting and using services like that. They’ve had issues. They should be held accountable. We should expect more. We expect more because we expect them to have really smart people solving the issues of hosting software and infrastructure as a service. That’s kinda the point of it all – that I can have expert help and the systems will be more reliable.
I wonder sometimes if the expectations of perfection though are ill-founded. Specifically, if you had the run-rate and infrastructure requirements to fulfill your own little corner of the S3 world, would it be as available? What about your own exchange services and email and logins and active directory – all of that – is it EVER not available?
I was reading an article that talked about unrealistic expectations for self-driving cars. We expect them to be perfect. But our definition of perfect changes depending on a situation. Yes, missing a red light is a big deal and something went wrong. But when we get to the point where these are more prevalent and making literally life and death choices (accident unavoidable – choice of one impact with bicyclist and tree or car full of passengers that would push into the intersection if hit, what do I do?) I suspect the definition of perfect will be debated hotly.
This is true of computing. I believe we must hold them to a higher standard of availability and functionality. No question there. But at the same time, there has to be some rational understanding of just how incredible these services are. Not as an excuse for non-performance or sub-par performance, but as a realization that this stuff is, frankly, hard. Add in the mix of services, the intricate nature of many people’s hosting requirements and all of that, and I think Azure and AWS do amazing things with availability, functionality, scale and management.
Did you ever think you’d be looking at a simple slider that scales out your environment from the Azure console? We need to keep pushing them as providers, but we need to also realize what it would be like to self-manage these things – I’m confident there would be outages along the way (there have always been in my experience anyway) and maintenance windows and all of that.
I hope it all gets to the point of perfection. I’m just not sure who defines that and how we’ll recognize it.