While DevOps is no longer a brand-new field or movement, there continues to be rapid innovation in the space. Every day new tools are announced, new technologies are created, and teams around the world have to sort through the noise to figure out what’s actually important to their team and their environment. Some tools are transformative (VMWare), some are useful but quickly supplanted (LXC), some prove to be neat technology but never find wide adoption (VRML).
In this post I explore DevOps’ past, present, and future, reflecting on 2017 and looking to 2018 and beyond. What once was revolutionary is now commonplace, and the future holds the promise of much greater efficiencies, albeit with a significant amount of retooling to get there.
DevOps Adoption is: The Past
Today, DevOps is the de facto standard for modern IT and Operations. No longer are you an early adopter if you roll out DevOps. In 2017 only ~25% of companies hadn’t started down the DevOps path. In 2018 most companies will complete the journey, leaving those without DevOps in the minority. Is DevOps for everyone? I’d argue that the core concepts of DevOps— collaboration, communication, and efficiency—are beneficial to any company, in any industry. The benefits that companies receive are both material and increase over time.
Through 2018 and beyond, DevOps will continue to entrench itself as the new normal in how companies build and run large-scale software systems. The business world will continue its adoption of the DevOps mindset and tools, occasionally crossing over from traditional software engineering into other practices, much as Toyota’s Lean manufacturing inspired the creation of Lean Startups and forms the foundation for next-generation hospital operations. The maturation of the DevOps space will drive the development of new terminology—for good reasons (more precise language and descriptions) and bad (our product is different because we target DevSecAIFooOps). These new labels (and inevitable jargon) will muddy the waters around DevOps a bit, mostly due to vendors fighting to stand out from the crowd and avoid becoming a casualty of industry consolidation.
The next phase of DevOps evolution involves marrying Agile product development processes with DevOps-centric production release environments. This workflow evolution promises to dramatically increase knowledge worker efficiency—but while very early implementers will start this process in 2018, the practice won’t become widespread until 2019 or later.
Containers are: The Present
Containers as a concept (be they Kubernetes, Docker, or some other new format) will start to “cross the chasm” and see much more widespread adoption in a variety of use cases. Most early adoptions will focus on enabling engineer productivity and software distribution. More evolved environments will use containers to incrementally deploy their microservices and ensure consistency among dev, test, and production environments.
Where the first wave of virtualization was all around efficient hardware utilization, the wave of containerized virtualization is about enabling consistent software environments. Expect to see more tools enabling software release orchestration using containers as the deployable code artifact. This will have benefits in terms of testability and reproducibility but will require teams to invest in new tools and modes of operation in order to make full use of the potential.
Increased adoption of containers will lead to a dilution of the core message and some industry pushback due to:
- Fear of change
- Valid attempts by engineers to separate fluff from reality
- Lack of good tools and example use cases
Ultimately, containers will evolve into a core component of modern IT infrastructure much as virtualization did 15 years ago.
Unikernels are: The Future
Unikernels are a very promising bit of technology, but are still a couple years away from widespread adoption. For those not familiar with them, Unikernels are a newer type of container technology that embeds the operating system in your application (i.e., the reverse of your typical OS). Most operating systems need things like support for multiple users and applications, and, in most cases, a user interface. Unikernels ditch all of that overhead and pare the OS down to the absolute minimum. This is good from a security and reliability standpoint, but will require engineering and operations teams to retool to support monitoring, debugging, and deployment of Unikernel applications.
Unikernels have the potential to dramatically change the paradigms for production software environments (primarily due to dramatically altering the security landscape). In 2018 you’ll hear a lot more about them and vendors will start to tout their support—but expect to see only limited production adoption. My hope is that Unikernel standards will start to emerge, and at least one or two will be ready for early production deployments of common app platforms (UniK? IncludeOS? Xen?).
Hybrid Clouds are: Still to be defined
“Hybrid cloud” means many different things to many different people. To some it means running your environment across your physical datacenter and AWS/Azure; to others it means stitching together SaaS offerings from multiple providers; to still others it means only mixing of IaaS providers. The hybrid cloud story has been touted since the very early days of AWS with Microsoft, VMWare, IBM/Softlayer, Rackspace, and others all making their pitch to the market about what a hybrid cloud should look like. Often more than once.
The industry demand for hybrid cloud functionality continues to grow. Engineering and operations teams must be able to build, deploy, and run applications across multiple providers, and have those providers interoperate securely and efficiently. They need the ability to migrate selected IT workloads to cloud providers without undertaking massive retooling efforts. And yet there still doesn’t seem to be an agreed-upon set of solutions. Too many vendors are building walled gardens to keep customers in instead of building tools that allow seamless, secure, cross-platform communication. But, Microsoft, VMWare, Google, and others continue to invest in this area, so I’m hopeful we’ll start to see some type of consensus and standards developed over the next few years.
I’ll be tracking the success of my predictions throughout 2018…and invite you to do the same. Commend me, call me out, or leave your own predictions in the comments below.