Inspired by my colleague James’ post on the topics he’s interested in exploring the coming year, here are a few things that are top of mind for me.
Platforms and Developers
We’ve long maintained that “developers are the new kingmakers.” When compared with a world that required extensive upfront capital (and thus executive approvals) to provision hardware and software, the availability of cloud infrastructure, open source software, and SaaS licensing increasingly empowers developers to make their own decisions. There has been a recalibration in practical authority over the past decade plus around deciding what tools and approaches are used in the enterprise.
But the fragmentation of technology has changed over this period as well. As my colleague Steve said:
Pick a software category, and not only are there multiple, credible choices within that category, the odds are that the category itself has been split into multiple subcategories.
The good news is that this developer-driven fragmentation has yielded an incredible array of open source software. The bad news is that, even for developers, managing this fragmentation is challenging. And if it’s challenging for developers, what of the businesses they work for?
In 2019 I had an increased number of conversations with organizations struggling with this fragmentation, as well as vendors trying to capitalize on solving this problem via their platform offerings.
While I continue to believe in the power of application developer choices, I am also interested in spending more time in 2020 looking into the decisions platform / architecture teams are making to address this fragmentation. This evolving dynamic between developer empowerment and the desire to rationalize enterprise technology portfolios is one that I am interested in exploring more.
While there have been fairly sweeping changes in how applications are written and delivered, the same cannot be said of our collective approach to databases. Data and databases have largely not evolved at a similar pace as the rest of software development, but we’re beginning to see signs of this changing.
This area is broad, but I’m interested in exploring how developers are incorporating data into their applications and how enterprises are handling their data. Potential topics include:
- What is the trajectory of streaming platforms?
- What about special purpose databases vs. general purpose databases?
- How does data impact architectural choices?
- How are developers incorporating data in their application design?
- What are companies doing to both break down data silos and simultaneously protect their data assets?
Atomic Units of Compute
VMs. Containers. MicroVMs. Serverless. Isolates. WASM.
There are currently a plethora of potential compute primitives for developers to choose from. Some are well-established, some are rapidly growing patterns, some are decidedly still science experiments. As the number of viable compute primitives and runtimes expands, it creates both exciting development opportunities as well as a growing need to understand the strengths and weaknesses of the possible choices.
There are an increasing number of approaches available for building applications, and I am interested in digging more into the adoption trends around each. Which approaches make sense in a given scenario? What is the interplay of these choices? Where is the momentum? How are enterprises coping with the Paradox of Choice they represent?
This of course will not be the entirety of my research, but those are a few of the topics I’m excited to explore in 2020. Please drop me an email if you would like to discuss any of these areas further.
Image credit: Joint Base Charleston