by Aruna Ravichandran
DevOps discussions often focus on the value of getting innovative applications to market quickly. And it’s true. Getting a cool new application into production quickly can help you differentiate yourself in today’s app-sensitive marketplace.
But, in reality, most development is devoted to “Me Too” applications—and these apps are no less important to the business than the much rarer innovative ones.
In fact, as ironic as it may seem, consistently rapid time-to-parity may be more important to the business than occasionally rapid time-to-innovation.
The Power of “Me Too”
Every marketer and salesperson knows the power of “Me Too.” Yes, in competitive markets, it’s good to have something the other guy doesn’t. But that differentiation can be for naught if the other guy also has something you don’t.
Conversely, you can quickly neutralize any advantages your competitors gain by simply replicating them ASAP.
That’s why time-to-market pressures can actually be greater for “Me Too” applications than for more novel ones. After all, if you’re really first to market, a slight delay probably won’t cost you that position. But if your competitor is beating you with a better application, every hour of every day hurts.
So DevOps is at least as much about playing catch-up really well as it is about innovation—and maybe even moreso, because we are all forced to play catch-up much more often than we have opportunities to genuinely innovate
Catch-Up by Containerization
Many IT organizations are improving their ability to play catch-up by using Docker’s containerization capabilities. This is not a bad idea, because nine times out of 10 you can replicate a competitor’s application by simply recombining data and code you already have. Everyone has CRM and ERP. And everyone can apply similar logic to data. So it’s not that hard to replicate competitive application features such as alerts, social sharing, or predictive cross-sell analytics by re-purposing existing resources.
The trick is getting that application code into production. Today’s hybrid cloud environments are great for accessing capacity on demand, but they add tremendous complexity to code roll-outs. The right versions, builds, and libraries have to be on the right virtual machines on the right machines—whether those machines are in the data center, a third-party IaaS facility, or a PaaS cloud. Containerization helps insulate IT from that complexity so code can go live in production more quickly and reliably.
Containerization, however, is not the complete answer. IT still has to optimize developer collaboration, automate functional and performance testing, effectively govern which code is running where, and be prepared to execute immediate rollback if things go south. So Docker’s usefulness is contingent on it being part of a well-integrated, well-automated end-to-end DevOps release management process.
But that process isn’t just valuable in the rare instances that your company rolls out a truly innovative app. It’s also essential when you need to catch up with the competition fast. And that’s something every company has to do every day.