Seriously, one has to wonder whether Docker could have saved Knight Capital from bankruptcy and a $416 Million one day loss.
The cause of the Knight bankruptcy is pretty straightforward. Knight was one of the biggest market makers in equities. They were the guys always providing liquidity on exchanges like NYSE. A developer moved an upgrade of their market making software from UAT
into production. But he/she forgot to install one little thing. That one little thing caused market orders to be duplicated again and again. Before they could trace the problem Knight was out $416 Million and finished.
Moving environments from a development environment to a production environment has always been a tedious headache. When I move an application from one server to the next, I have to make sure that all the underlying and supporting libraries, settings, configurations are all the same. It’s kind of your run of the mill pain in the neck work, but one that demands some attention to detail. Why? Because if that one little thing is not the way it should be the new instance will misfire.
The beauty of Docker…and the reason enterprise software guys like me are bla-bla-bla-ing about Docker is because it really eliminates a ton of pain in the neck work as well as streamline the application migration. You simply deploy an application inside a Docker Container and you can move it from one server or VM to the next. All the settings, libraries, etc…go right along with it. The application and its dependencies are all bundled nicely into a tidy container. One server to the next, it all goes along swimmingly.
Lessons:
- We are in a new golden age of technology. Amazing enterprise technology is rolling out ALL THE TIME. At a minimum it really pays to try a little skunkworks mindset to give these new things a go and see how they can make an impact on your business. We are recommending that all our clients at least try out Docker. We are already using it internally.
- When new technology rolls out it is often not “enterprise ready.” What this means is that the bulk of the product is there but it’s not prime time yet for security, features, usability that fit into an enterprise operating model. For example, Docker is only supported in Linux. If your company is running Linux servers you are good to go. Microsoft servers? Not ready yet. But disruptive technology like this is entirely worth staying current. It won’t take Docker any time to close the gap.
- Skunkworking new technology, knowledge distribution is king. We like to use the surgeon model: See One, Do One, Teach One. The last thing you want is one person being the only one who knows how to use new technology.
- The hallmark attribute of this new technological age is absolute “torpedo-ability.” Modern architecture is thoroughly Darwinian, and assumes that any part that becomes less than ideal can be replaced (see my previous blog post on this here.) Second, when new cool stuff is rolling out all the time we actually have smart evolution at our disposal. This is just one of the reasons your old legacy systems don’t have much of a future…they cant evolve. (see blog post here).