#60 July 2, 2019

Ubuntu, with Mark Shuttleworth

Hosts: Craig Box, Adam Glick

Mark Shuttleworth is the founder of Ubuntu and CEO of its parent company Canonical. Ubuntu is the Linux distribution of the Cloud. You can use it inside your containers, or you can use it as your node OS. Canonical packages Kubernetes for both the edge (MicroK8s) and the server (Charmed Kubernetes). Oh, and aside from that, Mark was the first African in space, spending 8 days on the International Space Station in 2002. Craig and Adam ask Mark about how this all happened, and how it has changed his perspective on technology.

Do you have something cool to share? Some questions? Let us know:

Chatter of the week

News of the week

CRAIG BOX: Hi, and welcome to the "Kubernetes Podcast" from Google. I'm Craig Box.

ADAM GLICK: And I'm Adam Glick.

[MUSIC PLAYING]

CRAIG BOX: Been off to the theater again, Adam?

ADAM GLICK: Indeed I have. My wife was very kind to get me tickets to one of my favorite shows, which is "Wicked." That's the story of "The Wizard of Oz" told from the Wicked Witch's perspective. And it is a fantastic show. Anyone who has not seen it, if you have the chance, get the book or watch the show. They are slightly different, but both of them are absolutely excellent.

CRAIG BOX: I'm told it's not your first time?

ADAM GLICK: It is not. This was my fifth time seeing the show.

CRAIG BOX: Wow.

ADAM GLICK: And I've enjoyed it on Broadway and in various places around the United States. And it is always good.

CRAIG BOX: Does it change substantially between viewings?

ADAM GLICK: Sometimes they change the cast, and so there are different people playing the lead roles. But the show itself is relatively the same.

CRAIG BOX: Do they put in topical jokes? I know some Broadway plays, especially the comedies, they put a little bit in for that week.

ADAM GLICK: I haven't noticed any substantial changes between them. The biggest changes I've seen have mostly dealt with some of the things that they can do with the dedicated theater. If you go see at New York, there's a dedicated theater that they do a lot of things that you can take things out from without ruining too much, without just being what's at the stage. You have a proscenium. You have things that you can do, versus when you're a traveling show, it's a little harder to do those things because you don't have a theater that is custom built for it.

CRAIG BOX: Right.

ADAM GLICK: But in all cases, it is a fantastic musical with some incredibly catchy songs.

CRAIG BOX: Well, my concert experience for the week, was my second time seeing the band Live. The first time was actually 20 years ago, I figured out.

ADAM GLICK: Was that pre-recorded?

CRAIG BOX: It was not. They were there onstage. For anyone not familiar, they are an alternative rock band that became very, very big in the US, and around the world, about 1994, '95, with an album called "Throwing Copper." And it is the 25th anniversary of the release of that album.

And as a good band should, they are traveling around playing most of the album, which is a fantastic album, and a bunch of other songs from the other popular albums of the time. And the lead singer left the band a couple of years back and rejoined recently. And they've had the good sense not to play too much new stuff. They know that everyone's there to hear the good old songs. And indeed, they're playing them and playing them very well, so it was a good night out.

ADAM GLICK: Excellent. It's always wonderful to have nostalgia and especially to see the bands that you really enjoy.

CRAIG BOX: Yeah. Glastonbury was on, too, but I didn't have any time for new music.

ADAM GLICK: Shall we get to the news?

CRAIG BOX: Let's get to the news.

[MUSIC PLAYING]

ADAM GLICK: Last week saw the Chinese Kubernetes and open source communities meet at KubeCon China, this year co-located with the Open Source Summit. Special guest star Linus Torvalds told the audience that he sees management of software getting harder due to hardware headaches, citing patches to work around bugs like Specter and Meltdown, as well as the slowing down of Moore's Law. He believes that people will have to write efficient code, rather than having to wait for CPUs to continue to get better, which may be a wake up to some of the lazier programmers.

CRAIG BOX: This year's KubeCon China End User Award was given to DiDi, the multi-modal transportation platform, sometimes referred to as the Uber of Asia. The Linux Foundation also announced that the certified Kubernetes administrator training course and exam are now both offered in the Chinese language.

ADAM GLICK: Google Cloud announced the beta of Workload Identity, a feature which securely maps Kubernetes service accounts to Google Cloud IAM identities. With Workload Identity, an administrator can grant permissions to a Kubernetes service account to act as a Google service account. Any pods running as the Kubernetes service account will then be able to use that Google service account to authenticate to cloud services. Credentials actually issued to the workload identity are only valid for a short time, as opposed to manually generated service account keys, which are valid for 10 years, or "forever" in cloud terms.

CRAIG BOX: Knative 0.7 is out. New features in this release include the new v1beta1 Serving API as the default and more control when using the Horizontal Pod Autoscaler. Security is improved with serving containers now running as non-root. And the eventing system now supports metrics and tracing. There's also a new developer stats dashboard, which shows the contributions from the many different companies working together on Knative.

ADAM GLICK: Google Cloud's AI Platform team has released deep learning containers, which provide users with performance optimized consistent environments to help prototype and implement workflows quickly. Deep learning container images come with the latest ML and data science frameworks, libraries, and tools pre-installed. They can run locally and also in Cloud AI Platform notebooks and on GKE.

CRAIG BOX: Talos Systems this week announced the beta of their Kubernetes-centric API-based operating system. Talos, named after an automaton from Greek mythology, removes all the parts of a Linux environment that a Kubernetes cluster doesn't need. For example, there's no SSH or shell. It's administered through a gRPC API and an "osctl" command line tool.

The creators say it might take some getting used to. But you should be able to treat your Node OS like a container. The project has been in development for the past two years, supports both Intel and ARM CPUs, and is licensed under the Mozilla Public License. Talos' CEO, Tim Gerla, was previously the founder of Ansible.

ADAM GLICK: Platform9 has added managed Kubernetes apps to their managed Kubernetes offering. The apps are delivered as a service using open source operators and inherit the platform's 99.9% SLA. The first apps offered are Prometheus, the EFK Stack, and MySQL, with more to come.

CRAIG BOX: A bug discovered this week in an envoy request handler provided by Istio can cause the proxy server to crash when trying to parse a malformed JWT without a valid signature. In case you have this feature enabled, fixes are out for all released versions, and a workaround is provided for people unable to upgrade.

ADAM GLICK: Microsoft announced that support for their standard load balancer has arrived in their Azure Kubernetes service in Public Preview, which is Azure's version of beta. Standard load balancers will only be available in new AKS clusters, so we hope they become standard soon.

CRAIG BOX: Finally, the Kubernetes community has been celebrating the release of Kubernetes 1.15 with blog posts on topics such as the future of CRDs, volume cloning, and HA control planes with kubeadm. There's also an overview of the Contributor Summit from Barcelona to whet your appetite for a similar event in San Diego in November.

ADAM GLICK: And that's the news.

[MUSIC PLAYING]

ADAM GLICK: Mark Shuttleworth is the CEO of Canonical and the founder of Ubuntu. He's also the benefactor of the Shuttleworth Foundation, which underwrites pioneering work at the intersection of technology and society. Previously, he founded Thawte, a global leader in cryptographic security and identity, and participated in ISS Mission TM-34. Welcome to the show, Mark.

MARK SHUTTLEWORTH: It's great to be here. Thank you.

CRAIG BOX: You started Thawte in your parents' garage. What kind of garage was it?

MARK SHUTTLEWORTH: It was a double garage, but it was full of shit. Really. It was completely packed with everything you can imagine from 20 years of living in that house. So I had to clear away a little space, set up a little Linux server, get a dial up connection, and then start figuring out crypto, and Linux, and Apache, and all of the things that were fun back in the '90s.

CRAIG BOX: Was it something that you were looking at the technology and thought, here's an application I can do with it, or was it a problem you initially set out to solve?

MARK SHUTTLEWORTH: Well, I was kind of fascinated with the internet. I was fascinated with the internet as a way to kind of connect people and do business, which was early, and I had no access to capital and not much bandwidth, right? Cape Town was like the very tip of the edge of the internet in those days. So I was interested in business opportunities that didn't require a lot of bandwidth and would be kind of international in nature. So crypto was interesting, and certification was interesting as well.

CRAIG BOX: And you were the package maintainer for Apache on Debian at that point in time as well?

MARK SHUTTLEWORTH: Yeah, I created the Apache package on Debian, so /var/www, that's my kind of like awkwardness.

CRAIG BOX: OK.

MARK SHUTTLEWORTH: And I'm very grateful to the folks who've carried it forward since.

CRAIG BOX: And so from there, we go to space.

MARK SHUTTLEWORTH: Well, not directly. There were--

CRAIG BOX: Some steps in between.

ADAM GLICK: Yeah, a few years in between.

MARK SHUTTLEWORTH: Then a miracle occurs, and then the next thing, yeah, why not? So I find myself kind of gainfully unemployed and just had this sense that we were at the cusp of what might be possible for the commercial access to space.

And the kind of massive economic challenges in Russia at the time led to all sorts of reports of cosmonauts stuck on space stations because they didn't have budgets to organize the recovery missions and things like that. So it was very much sort of in the headlines. And I figured why not go there, and engage with people, and see what was possible. And it turned out that with a year of training and negotiating, it was possible to fly.

ADAM GLICK: That's amazing. You almost certainly are the first astronaut that we've had on the show. And I'm curious if going through that process of preparing for it, going up, actually being one of the relatively few people who's actually seen Earth from space and going through that, has changed how you view your view on life and your view on technology and where you want to take it?

MARK SHUTTLEWORTH: Very much so. I think you see the Earth as a whole thing at one time, right? So in 90 minutes, you see it's in orbit around the Earth. And so everything feels close to everything else. You'd be over San Francisco, and 20 minutes later, you'd be over Santiago, Chile, right? So nothing feels far away. Everything feels connected.

And you have a very strong sense of the impact that we have on each other. The sort of pollution from one country is just drifting straight into another country. And that's just kind of obvious. It's just there. So it made me much more aware of the fragility of Earth and the consequences of ourselves. I mean, we're literally attacking our own spaceship, right? People say to me they can't wait to get into space. I'm like, you are in space.

CRAIG BOX: We were there the whole time.

MARK SHUTTLEWORTH: You're just not doing a very good job of looking after your spaceship, right? And so that kind of becomes realization number one. Realization number two is that there's something reassuring about an 8-bit computer that's been working since the '70s, right? And programming in Octal is a small price to pay for knowing that it's going to do the same thing that it's done very well for 30 years.

CRAIG BOX: So you come back from space with an appreciation for the solidity of computing, a new view on the world and the wholeness of everything, and a background in free software. And so now we get to no-name-yet.com. Tell us the story of the founding of Canonical.

MARK SHUTTLEWORTH: Well, I wanted to do something that would have a global impact, right? And I've been an enormous beneficiary of the generosity of others through open source, right? You stand on the shoulders of giants any time you do anything with open source. And you look for projects that are going to have a positive impact on as many people in as many places as possible.

Coming from Africa-- which is really how I see myself. Cape Town's a particular take on Africa, but it's Africa. I wanted to make sure that whatever I did would create opportunities equally anywhere. And so figuring out how to make the incredible sort of treasure trove of software that is the open source commons, make that more easily consumable, make that cheaper to consume, would enable people to kind of go further faster from any corner of the globe.

So put all of those things together, and that was the genesis of Ubuntu. I also-- I like hard problems. And the idea of starting out with something that's really, really difficult and expensive to do and has no obvious business model, that's a bit like sending ascending in NetHack as a vegetarian, right? It's hard to start with. But having done it once with a little bit of luck, wouldn't it be nice to sort of try something almost impossible and see if you can pull that off?

So it was just a very attractive problem. And I'm sort of grateful for everybody that I've met along the way and the exposure that I have personally to the incredible things that people are doing with open source and through the fact that they're doing it with Ubuntu.

ADAM GLICK: Ubuntu has been extremely successful. It's the first desktop Linux operating system that's what I got used to. It's also become incredibly popular in the cloud. And some people refer to it as the OS of the cloud. Why do you think that is?

MARK SHUTTLEWORTH: I think it's because we care about the cloud. And we care about the cloud understanding that we're not going to be building a cloud, right? We aren't, essentially, a player, like a cloud actor, effectively. That's up to the Google's, the Microsoft's, the Amazon's, the Oracle's, the IBM's of the world. But much like we cared about the experience of developers on the desktop, we care about the experience of developers and operators on the cloud.

And so finding a way to celebrate the best of open source and the best of each cloud is a really interesting technical challenge, right? I think we play a really useful role for the clouds and saying to people, look, you can come to us. And all of your Ubuntu skills, they just work here. But in addition to that, these special things that we are blazing a trail on, you'll have immediate access to that.

So a great day for me is always when there's a brand new capability in a cloud. And on day zero, people can just sit down in Ubuntu shell and type one command, and they get it, right? It's instantly consumable for them. So I think that's the heart of it, caring about simplicity, caring about performance, caring about security, but also recognizing that we're not fighting with the clouds at all. We're kind of trying to make everybody get to the clouds and be more productive.

CRAIG BOX: I think Ubuntu kind of came of age as the clouds were becoming a thing. I think it was obviously a good choice for a distribution with option for commercial support for people who needed it. Over the course of the past five years as Kubernetes has come of age, how have you seen that community growing, and how has that guided you to build Kubernetes facilities into Ubuntu?

MARK SHUTTLEWORTH: It started with Docker. Docker did something really, really interesting in the sort of packaging of, essentially, a process, right? And the portability of that, that was very interesting. And there are a bunch of things that we did to celebrate what was becoming possible there.

So for example, in 18.04, the Ubuntu image size, the base Docker Ubuntu image size dropped to like 30 meg. So from Ubuntu, it goes to this almost instantaneous operation, right? And to do that, we had to kind of rethink what was important for that new use case. Previously, we'd been thinking, look, you have to be useful out of the box for a human being. But inside a Docker container, right, the human beings aren't inside the Docker containers, or they shouldn't be, right?

So how do we kind of optimize for that world, but at the same time, preserve your ability to pull in all the debugging tools that you might want and provide the long term security maintenance and so on? So what's the smallest we can make Ubuntu while still keeping it Ubuntu was the interesting kind of optimization question there for the Docker world.

Kubernetes sort of rocketed to prominence as the way to orchestrate that class of workload, that class of container. And there I think our best work is in the combination of integration of Ubuntu on the public clouds for the public cloud Kubernetes, right? People are going to use GKE. They're going to use EKS. They're going to use AKS because those things are-- and they should use those things. Those are the simplest way to get a standard Kubernetes in the cloud that you've chosen, right? So you should use that.

It's sensible to do that on Ubuntu for all the reasons we've previously discussed. So how can we kind of super optimize that? And then at the same time, outside of the clouds, how can we make it much easier for people to stand up and operate Kubernetes clusters that are compatible with those public cloud offerings? That's been the sort of work for us there.

CRAIG BOX: So when Docker came on, there was the idea of running from Ubuntu and using that as the source, but then you also have the operating system that runs Docker. Is it hard to keep one thing to be useful in both of those situations?

MARK SHUTTLEWORTH: No. Actually, under the hood, the host, effectively, your operating system in a Kubernetes context, plays a really important role because you've got the kernel, which is the thing that's actually constructing the container illusion. And so being an operating system where we're pretty committed to having fresh kernels, no kernel is more than two years old. And you will get the next LTS kernel on the current LTS. So you're never very far away from the latest kernel effectively on Ubuntu.

That means that all the work that people do to get sort of kernel constructs into the upstream kernel lands very quickly for people who are doing Kubernetes on Ubuntu, right? That's why a lot of companies actually started using Ubuntu. Typically, if they've got an existing Linux, then there has to be some catalyst for them to sort of try something else. And containers are a very, very big one of those because it makes a big difference which version of the kernel you have.

So there's all of that. And then the illusion of abstraction breaks down as soon as you start doing stuff with CUDA or GPGPU accelerated workloads, or you want hardware access for your container stuff. And so we do an enormous amount of work with public clouds and with the various hardware manufacturers to create this illusion of a seamless ecosystem, where you can build a container on the Windows subsystem for the next on a Windows machine and drop that onto GKE and have it just work with your NVIDIA drivers. Well, there's a lot of under-the-hood kind of frenetic stitching together of various ABIs and APIs to create the illusion that that was easy.

CRAIG BOX: Yeah. For all, we like to try and say it's just a sea of computing resource that you can address. You have to remember you are ultimately running processes on a kernel at the end of the day.

MARK SHUTTLEWORTH: Yeah. To create that magical feeling that the stuff underneath doesn't matter, there have to be professionals making damn sure that the stuff underneath just works. Right?

CRAIG BOX: Thank you.

MARK SHUTTLEWORTH: And yes. And so I think that's a kind of an expression of the standardization and professionalization of those layers, right, more than anything else.

ADAM GLICK: How did you get from full Ubuntu to kind of the narrowed-down 30 megabyte version that you were talking about?

MARK SHUTTLEWORTH: For that, I'd actually give credit to Dustin Kirkland and to the Ubuntu community, right? So Dustin-- where we run a process in advance of every LTS release saying, OK, now is the window. Tell us what are the top things that you want from 20.04 LTS?

And we always get fantastic ideas, right? It's a lovely reflection of what people are doing and what people are struggling with, right? There's the stuff that we all kind of take for granted because it's there, and it just works. And then there's the sort of people who are pushing at the envelope somewhere, who will say, it's outrageous that this is difficult, right? This should be easy.

And one of the top things there was make "FROM ubuntu" faster. And so that triggered a really nice discussion about, OK, what's the zen of a Docker image, and more importantly, what should be the zen of an Ubuntu Docker image? What's really important to preserve? And so we converged on this idea that nothing that was for human convenience mattered, as long as it could be apt-got, right?

As long as I could essentially just say, get me my debugging stuff. Get me a full environment so that I can, essentially, bring all of my knowledge to bear on what's going on here. Then as long as that is just an apt-get away, it can be left out of the minimal image. That got us down to maybe 60 meg.

And then we went through a lot of the packages and said, OK, if you look at things like man pages, do they actually have to be there in these constructs? Can we essentially engineer it so that the minimal image omits things like that? But again, they can be returned just with a single command. Just fatten up this container for me, right?

CRAIG BOX: Just install the man pages container if you need to read them. You don't need them in every occurrence.

MARK SHUTTLEWORTH: Right, or just give me access to them, effectively. So man pages learned how to essentially fetch over HTTP the man page you were looking for, even if you didn't have it right there. So it was a fun exercise, right? Engineers love a puzzle with constraints, right? A blank canvas is one kind of challenge, but a puzzle with constraints is another kind of challenge. And it took a bunch of different people collaborating to figure out, A, what was important and, B, how could we go beyond the obvious in stripping it down?

CRAIG BOX: My Ubuntu experience goes back quite a long way. And the skills that I bring to bear were all around the apt-get packaging tool. Now with Ubuntu, packages are installed with snap. And snap, I believe, uses a lot of the same ideas that came from the Docker ecosystem. How did that come to be developed?

MARK SHUTTLEWORTH: Well, the full Debian archive is there. And if you look at how the system itself is constructed, things that require very close interlocking, intermeshing are best done as .debs, right?

CRAIG BOX: Right.

MARK SHUTTLEWORTH: There's a lot of culture, and prehistory, and convention, and so on there. When you look at what I would call the leaves of the tree, right-- stuff that you might spot as an app on GitHub-- that stuff is typically not providing a lot of dependencies to the rest of the system. And also, it's going much faster, right? The speed of upstream development and the creativity, the diversity of that upstream development has exploded with GitHub.

So you have software there that has much less in the way of eyeballs to check it. The ideas of confinement suddenly become really important, right? We want to run apps on our engineering workstations, and we don't know really much about the people who wrote those apps and so on. So security was one big driver for us and saying, can we do better than .debs in opening up to a much broader range of applications?

The other driver was dependencies. So people often struggle to say, look, I want to deliver my application, but I would deliver it for 14.04, and 16.04, and 18.04. And they all have different sets of dependencies. How do I do that? So again, the idea of a container that bundles its dependencies became prominent.

And then the last piece of the puzzle, really, was saying, we're not trying to recreate what Docker's doing. We're not trying to create the idea of software that's running in a parallel world or software that's running on another machine. A container's not another machine, but it has many of the constructs of another machine. It has a different IP address. It has a different file system, right?

We actually want stuff that shows up here for me on my host on my laptop where I can use them, right? My compiler, like a new version of Go, or a new version of Sublime Text editor, or whatever it is, right? So that required us to drive the same knobs and dials in the kernel that give you a Docker container or a containerd, but to drive those in a slightly different way, so that we create two illusions. One is an illusion to the software in the container, and the other is an illusion to the software outside of the container that now has apps available to it. And so that's where snaps came from.

There was a last piece of the puzzle, which is that we wanted as much reuse as possible of the OS bits. So snap can basically say, my base is Ubuntu 16 or Ubuntu 18. It could be Fedora 20. It could be Debian. And then what it's getting is it's getting a root file system out of another snap of that base OS file system. And that snap would be exactly the same for all the snaps that say they use the same base.

And security updates then don't have to come from the app vendor. They can come from the OS vendor, right? So it's kind of like splitting a Docker container in half, where there's an OS portion and an app portion. And those two can get updated independently of each other right now. Obviously, that requires sort of careful testing, and there's all sorts of machinery to make sure that you don't end up with breakages there. But it takes container lessons and brings them to the workstation space. We say if .debs and Docker had a baby, then you'd get a snap.

CRAIG BOX: Do you think there's a way of applying that to the Docker environment, where you could say the underlying operating system updates the from Ubuntu part, the layer of my container, and then basically get rebuilt on the fly?

MARK SHUTTLEWORTH: It's a really interesting question, that idea of layering file systems and the unionization, kind of, of fast systems is super, super tricky. Because we have sort of expectations of the behavior of the whole. So I haven't, in my own head, kind of figured out how one would do that without creating other kinds of breakage in the software stack.

The beauty of the sort of Docker experience is that the software inside the container doesn't really know that it's inside a container, right? Its file system is behaving the way it should. It might feel a little lonely. There's no other processes around here. But the streets of Manhattan still look like the streets of Manhattan, right, to that process.

ADAM GLICK: So we've talked about operating systems and containers. And obviously, our audience is familiar with Kubernetes. What is MicroK8s?

MARK SHUTTLEWORTH: MicroK8s is a single package of Kubernetes. It's a snap. So it's a single command to install, single command to remove. It offers you a series of tracks. Tracks are a snap abstraction. It's like different archives effectively. So you can get 1.14, 1.13, 1.12. And it does it without requiring that you have any sort of virtual machines running.

So if you're on a small laptop, snap install MicroK8s, and you have Kubernetes running sort of on bare metal on your laptop, which means you're not kind of underwriting the cost of virtual machines on your laptop battery. So it's in the same sort of space as Minikube, which is also excellent. But it doesn't require sort of separate virtual machines. It lets you just run Kubernetes on that machine.

I see a lot of people using it as sort of a developer case, but also using it on small appliances for an edge computing scenario, or IoT type scenario, and also for CICD. If you can get a VM of Ubuntu, then you can get MicroK8s in a minute. And you get all of the basic functionality. You get a registry, a DNS, Istio, all the sorts of standardized capabilities that people are going to want to do for testing dev purposes.

ADAM GLICK: How did you make the decision of what do you keep and what do you leave?

MARK SHUTTLEWORTH: MicroK8s is a single package of a standard upstream Kubernetes. As such, it's designed to be as light as possible for a developer to install on a workstation, so that they can essentially start doing test and dev of Kubernetes-based workflows. And because we've made that simplifying assumption, we don't have to worry too much about offering every kind of networking, or every kind of storage, or all of the complicated things that you're going to run into if you're getting into clusters.

I think we do need to keep a close ear to the ground about the important cloud native projects, so that they can all be turned on inside MicroK8s. So there's a single command to turn on a registry, turn on Istio, turn on Fluentd, Jaeger, Prometheus. There's various things that we want to be able to just turn on if they're things that developers need to be able to access.

And we would have to take tasteful decisions there about what really represents a common starting point that isn't going to leave people high and dry when they want to take those workloads out to GKE or a cluster somewhere. But that shouldn't be prescriptive. If people want to adapt that set of assumptions, then they can. Snaps are fairly easy to unpack and repack and have your own version of MicroK8s.

CRAIG BOX: You mentioned IoT as a use case for MicroK8s. I know that's an area that you're passionate about. What are you seeing people do with it in that space?

MARK SHUTTLEWORTH: Well, developers love Kubernetes, so wherever you're kind of constructing something out of microservices, then Kubernetes offers a lot of value. And even if it's going to be running on an appliance, that may still be the right way to develop the application. A lot of gateways are a bridge between stuff that it has to happen locally and stuff that probably wants to happen in the cloud. And so the whole test and dev process of the software feels very natural to essentially be able to develop the cloud software and the appliance software in the same way with the same tools and the same people. Common languages, common abstractions.

CRAIG BOX: Yes.

MARK SHUTTLEWORTH: So MicroK8s has really taken off there. We have an onbuild of MicroK8s. So you can run that on any ARM device, effectively. And it just creates a very sort of seamless operating regime.

The other story for IOT, of course, is snaps, right? They're a container of a particular sort. A lot of appliances have a sort of one-to-one relationship between the number of devices and the number of installations of a particular piece of software. You only want one address book on your desk phone, right? You only want one database on your little gateway. Kubernetes is more optimized for the sort of hyperelasticity we've got in processes on ex-hosts, right? So that's slightly more of an Edge cloud or cloud cloud.

CRAIG BOX: Does MicroK8s address that? Can I have three hosts in an environment and run a cluster?

MARK SHUTTLEWORTH: So that is the number one ask for MicroK8s. People sort of want to be able to cluster it. And I see that that could well be possible. I think to do that, we would want to say, yes, as long as they really are tightly clustered, right?

CRAIG BOX: Right.

MARK SHUTTLEWORTH: If you want to start sort of stretching the cluster over different subnets or segregating out which functions are where in the cluster, then I would suggest you look at something like Charmed Kubernetes, which gives you a sort of a nice way to describe a cluster in a more sophisticated topology or architecture. Or we use the underlying substrate, too. If you're on VMware, use the standard VMware sort of Kubernetes. If you're on a cloud, use the standard cloud Kubernetes.

ADAM GLICK: What's the coolest use you've seen for someone taking MicroK8s and building something unexpected with it?

MARK SHUTTLEWORTH: Walking about the show floor at KubeCon, I'm just wearing an orange shirt. People have no idea who I am. But they say, thank you for MicroK8s. So I suspect it's just the right thing at the right time for Kubernetes developers. A lot of them are building products. They're building products that run on Kubernetes. And so enabling their teams to get it very cheaply, enabling themselves to be able to work offline, that sort of thing, that's all been very, very well received.

Open EBS was a great example. Those guys are doing something very, very cool that's kind of like user-space RAID, effectively, essentially offering NVME over TCP to Kubernetes processes as a sort of storage abstraction, which is super fun stuff. And they're using MicroK8s. Tons of people have sort of said, we're using it for this or that. It'd be a little tricky to call one out over the other.

ADAM GLICK: Recently, Google announced Anthos, and the operating system that sits inside that is Ubuntu. How did that come together?

MARK SHUTTLEWORTH: I think it's a spectacular example of how building open ecosystems enables people to play everywhere. So I think Anthos is a super story, right? It speaks directly to what people want, which is predictability of an experience for applications across all the environments where they choose to operate. And I think it's to Google's credit that they've gone there. And I think it's a great use of the work that we do to make Ubuntu super performant and super efficient in all of the clouds and different kinds of on-prem environments. So I thought it was a super exciting development, effectively, in this very fast-moving game.

CRAIG BOX: It's feasible that in my lifetime, a tourist ticket to space may end up around the same cost as a first class airline ticket. With that being opened up to everyone, as a pioneer in this area, is this something you'd recommend everybody does?

ADAM GLICK: Is there a restaurant that no one should miss when they go?

MARK SHUTTLEWORTH: The restaurant at the end of the universe, obviously, right?

ADAM GLICK: [LAUGHS]

MARK SHUTTLEWORTH: So yes, sunrise and sunset are incredible from orbit, right? Because you see the transition of the sun seen through vacuum, right, which is this sort of almost cold, intense, baleful presence, to suddenly just blooming into the atmosphere. It almost kind of like spreads across the horizon, and then disappears.

So for folks on suborbital flights, if you time your suborbital flights to be just after sunset, the sun will rise again for you as you rocket up through the atmosphere. And you'll then get a daytime in space, and then the sun will set for you again as you kind of return maybe to another continent, if you're going sort of transcontinental on Musk Air, or maybe back where you started, if you're on a sort of Virgin firecracker, right?

CRAIG BOX: All right, Mark, thank you so much for joining us today.

MARK SHUTTLEWORTH: It was a great pleasure. Thanks for your questions.

CRAIG BOX: You can find Mark on Twitter, @sabdfl. And you can find Ubuntu at ubuntu.com and @ubuntu on Twitter.

[MUSIC PLAYING]

CRAIG BOX: Thanks for listening. As always, if you've enjoyed the show, please help us spread the word. Tell a friend. If you have any feedback for us, you can find us on Twitter, @KubernetesPod, or reach us by email at KubernetesPodcast@google.com.

ADAM GLICK: You can also check out our website at KubernetesPodcast.com, where you can find transcripts and show notes. Until next time, take care.

CRAIG BOX: See you next week.

[MUSIC PLAYING]