Modal Title
Software Development

Hashimoto and Polvi on the Painfully Pragmatic Go and Defining Google for Everyone

Jul 8th, 2015 3:12pm by
Featued image for: Hashimoto and Polvi on the Painfully Pragmatic Go and Defining Google for Everyone

“Go is not just a programming language; it is a way of doing software development.” “It’s very precise.” “It’s gotten popular enough that there are people who hate it.” “It is pragmatic, painfully pragmatic.” “It’s from the stone ages.” “It’s a nicer C.” “There’s no future without Go.”

The New Stack founder Alex Williams was merely asking his guests to talk about what changes they’d noticed from a year ago. Thus begins this episode of The New Stack Analysts podcast, captured at GopherCon in Denver, with guests Alex Polvi, CoreOS CEO and founder, and Mitchell Hashimoto, CEO and founder of Hashicorp.

For more episodes, check out the podcast section of The New Stack.

#51: Hashimoto and Polvi on the Painfully Pragmatic Go and Defining Google for Everyone

This podcast is also available on YouTube.

Polvi and Hashimoto are two of the leaders who are helping to create and define the new infrastructure. Polvi calls it the “Google for everyone else” phenomena. Hashimoto defines it similarly, but for both there are questions about the category that describes what this new era is all about. “There’s no name for it,” says Polvi, noting that “containers” or “distributed systems” both fail to encapsulate the category.

“It’s ‘Google for everyone’ in the sense that, when you work at that scale, every base point is so expensive that you have to optimize everything, so they find a way to get the highest density possible, with effort that no one else is going to give, but that trickles backward in terms of, ‘that’s the future — we should all get that density.’ So, even though they had that a decade ago, now it’s more general in the industry.”

Google has the density, so the rest of the world is trying to have that, too.

But why now? What is the event triggering it? There are two things, says Polvi. One is that there are simply a lot more companies hiring a lot more people to write software. Also, he says, the Internet is actually getting utilized to a much greater extent across the globe. “It is the plumbing of the world now,” says Polvi.

“I think cloud is actually a big reason for it. And cloud and containers go together really well,” says Hashimoto. “It takes a high multiplier of improvement to push people to the next thing, and there’s that opportunity with cloud things.”

Although it’s a major change, once companies move to this new infrastructure model, further changes become a lot easier, Polvi says.

CoreOS and the Lightweight OS

No one has refactored the OS until now. But why? “It’s not trivial to build a new Linux distibution,” says Polvi. The existing ones are a bit clunky but they work.

At CoreOS they ventured to say that it had been long enough. “A new distro could exist, and people might want some change,” says Polvi. “But let’s also change things up a little. Let’s change how updates are done. Let’s flip it on its head — the responsibilities of the Linux distro maintainers versus what the users are responsible for in terms of packaging. Let’s go nuts on security; let’s turn on all of the security features that we can, that in 2015 are out there but aren’t being 100 percent utilized, or are not even being utilized that well.”

In one respect, the lightweight OS comes from the level of pain that has come with the way companies have developed, deployed and managed applications. CoreOS is for the developers who do not want to have to worry if there is a lightweight OS, and instead focus only on their applications.

“In a shop like Google,” says Polvi, “there’s the infrastructure team that’s responsible for the cluster, and that’s just exposed to be a set of APIs to the ops people that are responsible for deploying the applications on top of the infrastructure. There’s two classes of operations people: there’s the people running the clusters, and then there’s the people running the specific applications that are being built, like Gmail or whatever.”

There is this changing model. The need for an OS does not go away, but what you need to know that is happening in the kernel is of less importance to know about.

What is Tectonic?

CoreOS represents the open source pieces packaged together into the Tectonic platform — the tools needed for building out infrastructure — heavily based on Kubernetes. Using the learning from Kubernetes, CoreOS brings the other components: the networking, the distributed data stores, the lightweight Linux OS. Polvi describes it as Google’s infrastructure for everyone else brought to you by Google and CoreOS.

The conversation comes full circle with Polvi further explaining how Go is used in CoreOS, and finishing with a description of rkt and the future of the Open Container Project.

CoreOS is a sponsor of The New Stack.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.