Go vgo: Semantic Versioning and Human Error

Note, a second post with some additional detail is available in a post titled "Go vgo: A Broken Dependency Tree".

In Sam Boyer's introduction to his analysis of vgo he touched on a number of practical, day in and day out, issues that can arise from using MVS. MVS, an acronym for Minimal Version Selection, is a new algorithm for solving a dependency tree. You can read more about it in Russ Cox's series.

MVS is a new algorithm not found in other programming language package managers making it, in my opinion, something worth analysis and discussion. We should understand what we're getting ourselves into, warts and all, because it's different than we're used to.

In Sam's analysis he noted a case that goes like this:

“Our project depends on [email protected] right now, but it doesn’t work with [email protected] or newer. We want to be good citizens and adapt, but we just don’t have the bandwidth right now.”

I wanted to share a real world example where this happened.

Continue Reading »

Problems Blocking Rise of Open Web

I've recently read numerous articles about bringing people back to the open web or about finding ways to grow it. This is a worthy challenge that can enable a more competitive landscape while distributing more of, well, everything.

There are three important problems that need to be solved to make the open web more successful. These three important problems that aren't getting enough attention.

Continue Reading »

Kubernetes: Take The Apps Survey

When it comes to applications, the last few years has been incredibly busy for Kubernetes. Here are a few things to illustrate what's been happening:

  1. The Workload APIs (e.g., Deployments) were incepted and have gone all the way to general availability.
  2. Helm has gone from an idea, through a version 1, through a merger with deploymented manager to produce a version 2, and is now starting work on version 3.
  3. Docker Composer was created and proved to be popular enough a tool was created to migrate from Docker Composer configuration to Kubernetes configuration. That tool is Kompose.
  4. The ecosystem is starting to explode with tools from Telepresence to Gitkube to ksonnet to more than I can name here.

With so much that's happened and so much going on, both in the Kubernetes project and in the ecosystem, it's useful to step back and take stock. This is a chance for the community working on tools to make sure we're listening to the people who use them.

To do that we have created the Kubernetes Application Survey. If deal with applications in or for Kubernetes we ask that you take a few minutes and let us know what you think. It will help those working on tools build what comes next.

Continue Reading »

Kubernetes: Where Helm And Related Tools Sit

Package management, dependency management, configuration management, and who knows how many other forms of management exist when it comes to computing systems. We have managers for managers for operators of applications. The roles and responsibilities of different tools can, at times, get a little blurred. I sometimes find that's the case with Helm. Is it a configuration management tool like Chef or a package manager like apt? This even begs the question, how do configuration managers, like Puppet, and package managers, like yum, relate to each other and what does any of this mean for Helm and Kubernetes?

To understand Helm ends helps to understand where other tools begin and the interfaces they have with Helm or Helm has with them.

Continue Reading »

Other Recent Posts: