Contributors include: Malini Bhandaru, John Hawley and Tim Pepper.
We asked some of the engineers in VMware’s Open Source Technology Center to predict what’s to come in 2020. Here’s what they said.
Open Source Partnerships, Larger Microservices, and Real-World Use Cases
Edge processing, close to the data sources/things and in order to reduce response latency and network bandwidth needs, is firmly established as an IoT ecosystem pattern. But with the multiplicity of proprietary and open source solutions such as EdgeX Foundry, ioFog, Eve, Baetyly, Fledge, and Home Edge, is there a true leader? Will we see more open source foundation partnerships, such as Linux Foundation’s Cloud Native Computing Foundation and Eclipse Foundation jointly launching the “Kubernetes IoT Edge Working Group?” Edge constraints may also question the push towards containerized microservices, possibly leaning towards larger microservices to reduce inter-service communication. Regardless, 2020 will be a year where we will see more experimental deployments for real-world use cases including the electric grid. Edge inference will leverage machine-learning models that may require tuning to the available hardware while data collected at the edge will be used to learn usage characteristics.
Linux Continues to Proliferate
We will finally have the year of the Linux Desktop, just like 2019, 2018, 2017…though whether anyone wants to believe it or not, Linux “won” most of the computing landscape long ago, from phones to laptops, televisions to super computers. In fact, there is hardly a person who interacts with technology that doesn’t directly, or indirectly, interact with a Linux machine on a daily basis. Linux will continue to get ported to ever more exotic and interesting hardware, and its usage will spread to more and more devices. It would not be a surprise to us to see a distro come out from our friends up in Redmond, Washington.
Software Deployment Evolves
Classically, software was packaged up and shipped, but we’re seeing more and more software that only supports shipping as container images (for better and worse). This mostly plays off the fact that developers generally want to use the latest and greatest barely released piece of software, while distros want to move slower and more purposefully. This juxtaposition has been brewing for years, and we think with containers more viable as of late, we are going to see more and more software distributed as containers. This is obviously an attempt to sidestep the painful and boring work of proper packaging as well as the distros’ more methodical pace.
Automation Grows in Importance
Gone are the days when anyone is dealing with 1 or 2 machines, and we are solidly in a world where you can be trivially interacting with thousands of machines simultaneously, and possibly even more as the code we write today may automatically scale well beyond what any of us would expect. Frameworks that help automate this scale and complexity are going to be increasingly important, and open source solutions are already leaders in this space. We expect that to only grow.
Fundamental Shifts in Software-Defined Networking
Something big is happening in open source software-defined networking. It’s early to say what exactly, but interesting things are happening. Networking hardware and network functionality are increasingly virtualized, but in a way that is mostly a horizontal lift and shift of hardware addressing one layer, or a very limited slice of the ISO/OSI 7 Layer Model, into software and virtual functions that continue to address that same narrow layers. Cloud native thinking is driving more interest at the very top of the stack, layer 7 or the application layer. This layer has effectively been neglected since the model’s inception in the 1970s. An app-centric focus, with the lower layers abstracted, makes us wonder if we might begin to see new projects that commonize and commoditize the lower layers of software-defined networking in a way that makes those layers disappear from the primary app control plane. This would represent the rearchitecting of the fundamentals of how we do end-point connectivity. One might wonder if this is already what Istio or other services meshes do. We’re not so sure. We’re imagining a dramatic simplification of the stack, but today’s service meshes are complicated. We spend a lot of time talking networking with VMware OSTC’s Nikolay Nikolaev, and maybe it’s the Network Service Mesh project, where Nikolay is one of the core maintainers? Or maybe it is something that hasn’t even been created yet? Either way, it will be interesting to see where SDN work goes in 2020.
More Forking and Un-Forking Activity
Forks can be good in that they provide an opportunity for increased diversity in open source projects. It’s quick and easy to do. But un-forking can be even better as it can result in a recombination and reconciliation of differences, leading to next-generation, best-of-breed projects. This is much harder to do. We would say it is slower, but we are not sure there’s data to back up such an assertion, because un-forking is quite rare. Outside of open source, forking might be called market fragmentation and un-forking might be called consolidation. You can already see wide diversity and perhaps even fragmentation in the huge breadth of the CNCF landscape. And we’ve already seen in 2019 reconsolidation and merger and acquisition activity. Expect this to continue in 2020. But we’re really hoping to see more of the hard technical conversations happening—disparate project and product teams with unique, perhaps divergent, and strongly held opinions discussing what they have in common and working to evolve more common open source API abstractions, interfaces, libraries, and strong compatibility test cases. This also has a major end-user benefit, insuring better interoperability from truly standard conformant components.
Supply Chain Management Receives The Focus It Deserves
In VMware’s OSTC, we’ve been stressing about the ecosystem risks and opportunities for software industry improvement in this area for a few years now. It’s a poorly understood “secret” that most all containers represent a unique and bespoke Linux distribution, an embedded “appliance.” All of the problems in securing and managing servers on the internet now also apply to each and every container, with the associated multiplication that comes with shifting from a limited number of monolithic servers to running large numbers (orders of magnitude more!!) container service appliances. This is a management nightmare and begs for improved practices and more tooling. 2020’s not going to immediately change this. But one notable trend as we head into 2020 is that we’re increasingly finding co-travelers on this bumpy road. Our OSTC members, Nisha Kumar and Joshua Lock, presented a survey of current distribution tool options for building better container images to a packed room and a large number of folks actively discussed the topic after the talk. Many other KubeCon talks and a great keynote by Heroku’s Ian Coldwater touched on the topic, too. With a growing industry realization and the number of smart minds actively engaging, 2020 should be an exciting year of improvements in software supply chain management.