The Theory of Evolution in the Age of Applications
'Given enough time and enough accumulated changes, natural selection can create entirely new species, known as macroevolution.'
Join the DZone community and get the full member experience.Join For Free
I think we can all agree that Charles Darwin was a pretty smart guy. He really nailed it with his Theory of Evolution, on a number of different levels. The portion I particularly subscribe to is the whole mechanism of “natural selection.” It’s the concept of evolved traits being passed down from generation to generation, enabling a species to adapt and not only survive, but thrive. It also contributes to the conclusion that: “Given enough time and enough accumulated changes, natural selection can create entirely new species, known as ‘macroevolution.’”
In the world of applications, we’re talking about inanimate objects rather than living organisms, but that doesn’t mean comparisons can’t be drawn to certain aspects of the Theory of Evolution. For instance, I’d posit that we’re in the midst of a macroevolution creating an entirely new “species” of application release automation (ARA).
An enthusiastic tip of the hat goes to our industrious friends at IBM UrbanCode, CA Technologies, XebiaLabs, Electric Cloud and Automic – they’ve done an incredible job of automating the world that application developers live in, a progression that is the catalyst for this evolution of ARA. I’ve said it more than once and I’ll say it again: Applications are being released faster and more often than ever, thanks to automation, continuous delivery, DevOps and Agile. IT shops are claiming they’ve evolved! Let’s put a big “Mission Accomplished” banner up on the office wall! Not so fast, caveman. Those same speed and efficiency benefits for devs are detriments to DBAs, who are overloaded in trying to keep pace with the database changes needed to bring application deployments to life. In the same breath, IT managers are wondering, “If developers are speeding up, why aren’t DBAs speeding up as well?”
It used to be that app dev, test and deploy – in essence getting compiled bits out to the server – were the only processes necessitating automation. Now the network needs attention, control and automation, as in situations where not all containers need to have access to all services. And the database needs that same attention too. There are always opposing forces, whether you equate them with something like gravity or religion or “the way things have always been done,” that stand in the way of another resilient force like evolution. But to put it plainly, ARA needs to evolve to include the database. The DBA’s job needs to be evolved right along with the developer’s.
We’re seeing that evolution happen ever-so-gradually, just as Darwin predicted evolution would be. That’s evidenced by changes in ARA definition, market, needs and understanding of what makes solutions truly comprehensive. For obvious reasons, we’ve been studying these trends and changes under a microscope. That’s why we’re trying new things like formally partnering and co-presenting with XebiaLabs. We want to bring joint customers closer to the evolved state of having automation infused from end-to-end. It’s less about the tools themselves (although they certainly put stone tablets and wooden spears to shame) and more about how we reconsider, redefine and redistribute the promising gains of ARA.
Allow me to forward my own Darwinian theory: If IT organizations choose to deny that the evolution of ARA is upon them, they’re in for a problematic existence. In fact, there’s a significant chance that they’ll be on the wrong side of history and go the way of Homo erectus, Homo habilis, Homo neanderthalensis and others that didn’t quite make the evolutionary cut.
Opinions expressed by DZone contributors are their own.