Organizations today are constantly looking for a silver bullet to cure all of their technology woes so they can deliver their products to market faster and cheaper than ever before. Typically, this treasure hunt takes the form of a single technology and is described in the broadest terms possible: cloud computing, continuous delivery, microservices, virtualization, and on and on.
As we all come to find out, expecting any one of these technology strategies or tools to solve all of our delivery problems will only be met with disappointment. Yet, we still persist, hunting for that one thing that will change the game for us. This phenomenon is repeated so frequently across every industry that Gartner created a Hype Cycle to plot where the year's most popular technologies sit on a curve. Spoiler Alert: if you're exploring wearables, 3D printing, IoT, or Big Data, you have a long road ahead of you.
The main reason organizations are continually frustrated with single-solution technologies and their ineffectiveness in "fixing" everything can be summed up in a single word: myopia. Organizations have an expectation that a shiny new technology will do more for them than it was designed for - potentially leading down a path of poor design decisions in the future as they try to fit a square peg into a round hole. New technologies released today are geared towards solving a specific problem and should be treated as a tool alongside several others in a belt - similar to how craftsman have multiple tools to effectively handle any job.
As the technology landscape continues to evolve, new tools and strategies are widening to solve targeted and specific problems instead of a one-size-fits-all solution. Organizations are accustomed to adopting a single solution - like SQL Server - and modifying their processes to work within the confines of that particular technology. However, scale requirements have shifted and we can no longer meet the market's demands with a single server that requires ever increasing resources to be added to it. We've hit the limit, and must find another way. This is why tools like MongoDB, Redis, and ElasticSearch were built, to solve the monolithic server issue and allow for a more horizontally scalable architecture. However, these are not fix-all solutions and treating them as such will only lead to disappointment and unmet expectations.
Instead of focusing on a single-solution, organizations should consider a framework/platform to guide them through improving their entire technology stack end-to-end. This framework spans across multiple areas of the organization: from how custom software is built (continuous delivery), to how functionality is exposed to the enterprise (services / micro services), and everything is packaged up and hosted for consumption (containerization). This approach is much bigger than Dev or Ops or even DevOps - it's a new focus around EnterpriseOps.
Focusing on EnterpriseOps will help widen the scope of what the organization focuses on and doesn't require fully committing to a single technology. Instead, a framework can be used to meet specific organizational or delivery goals through the adoption (or not) of several different technologies designed to work within a larger architecture. This approach allows the enterprise to use the right tool for the job, instead of relying on the same tired old hammer to complete complex projects.
When attempting to improve your organization's software development and delivery processes, it is important to keep a holistic view of the plan-build-test-deploy-run cycle. At the end of the day, there is no single technology that can singlehandedly help you meet the ever increasing demands of your customers. Rather, a more complete focus on how the enterprise operates will help your organization realize long term benefits.