Why Bother Building Cloud Native Applications?

I was recently asked, what's the point of building an application as a "cloud native" app? After poking at cloud native development the gains weren't clear to this developer compared with running in virtual machines or on bare metal servers.

Many developers are comfortable with the way they build and run their applications. In order to switch they need a compelling reason that they can quickly and easily get to. Using a different fad, such as "the way Google does it", isn't sufficient reason.

So the real question is, what are compelling reasons to build and run a cloud native application?

Continue Reading »

Flattening Go Dependencies With Glide

Now that Go packages can have a vendor/ directory where dependent packages can be stored (via the GO15VENDOREXPERIMENT) we're starting to see some new types of dependent package issues popping up. Here I'll cover how you can end up with more than one instance of a package, how it can cause a problem, and how we provide a fix in Glide.

Continue Reading »

Call For Feedback On A Go Package Metadata Spec

Package management in Go is an evolving space. Compared to other languages, there is room for improvement. And as Matt Butcher recently pointed out, with Go package management we can learn from others successes and mistakes.

The package manager space has become cluttered with options. The wiki page listing them has over 20 different tools. As someone working on one of the tools (Glide) and trying to work out compatibility with some of the other popular tools data formats I see an opportunity that we can all share in. That is a shared specification formation and surrounding functionality to work with them.

Continue Reading »

The Swift to WebDAV Proxy Architecture

When we (really Dr. Butcher) crafted the Swift to WebDAV proxy, the architecture mattered. The first two attempts at building the proxy raised issues technology and architecture issues that needed to be worked out. For example, our second attempt worked well as long as the files weren't large. But as object storage users know, there are times you want to work with large files.

What follows is what we learned architecturally creating the proxy.

Continue Reading »

Glide 0.5.1, Now For Vendored Packages

When we released Glide 0.5.0, going fully in on the new vendor/ directory in Go 1.5, we thought we'd nailed down support for both those who store the external packages in their own VCS and those that don't. It turns out there was a bug causing issues for those that vendored the packages in their VCS. With the release of 0.5.1 that's now fixed and one of several bugs fixed.

You can read the full release notes on GitHub.

Continue Reading »

Other Recent Posts: