This week's podcast interview is special, we are talking with Lucas about the recent launch of Panamax. We go into:
- How we came up with the idea of Panamax
- Why CenturyLink decided to support the development of Panamax (and why we open-sourced it)
- What the future of Panamax and CenturyLink Labs holds
Lucas Carlson, VP of Cloud Evangelism at CenturyLink
Lucas is an entrepreneur. He started AppFog in 2010, raised almost $10M in venture capital, and was acquired in 2013. Before that he was the first employee and head of engineering for 5 years at MOG (now Beats Music acquired by Apple). Before MOG, Lucas contracted as an engineer for a wide variety of startups including MeasureMap which was acquired by Google in 2006.
Additionally, Lucas is an author. He wrote the Ruby Cookbook which was published by O’Reilly in 2006 and has sold over 20,000 copies. In 2013, he wrote Programming for PaaS which was also published by O’Reilly. In 2014, O’Reilly asked him to update the Ruby Cookbook 2nd Edition, and he also posts regularly on his Craftsman Founder blog.
Lucas has spoken at nearly 30 conferences around the world on technology, startups and entrepreneurship in the last few years. He has contributed open source code that has been used by over half a million people worldwide.
Watch the Interview
Listen to the Podcast
You can subscribe to this podcast on:
This week we are talking to Lucas Carlson about the inspiration and creation of the Panamax open source project.
Panamax is a containerized app creator with an open-source app marketplace hosted in GitHub. Panamax provides a friendly interface for users of Docker, Fleet & CoreOS. With Panamax, you can easily create, share and deploy any containerized app no matter how complex it might be.
You can run Panamax on your laptop or any cloud infrastructure that supports CoreOS (CenturyLink Cloud, Google, Amazon, Rackspace, etc.). You can even run Panamax on bare metal.
Panamax is the first open-source project to be incubated out of CenturyLink Labs. The goal was to help developers utilize cutting-edge technologies not by abstracting what they do but by simply providing a friendly interface to them.
[02:15] Some of the folks tuning in may know a little about you but some people may be new to the labs, may be new to Panamax, an may be new to you. Would you be able to talk a little about yourself and your journey over the past few years?
Sure, I've been a programmer since about 1996. It's been decades of writing code, and its been mainly in the open source world. I used to build web sites then I built bigger web sites. One of the web sites I built was MOG, a music streaming service, and that was bought by Beats Music, which was now just bought by Apple. That was a fun journey...
[03:02] So you basically worked for Apple?
No, that's not the way it works! That's not how it works at all...
In fact, I left MOG to start a company called AppFog. That company was a Platform as a Service built on Cloud Foundry technology, we signed up over a hundred thousand developers to use it. It was a fun time, we had three years of building a really cool platform technology, we raised ten million dollars in venture capital. CenturyLink said this is awesome and we need to be in this space and they acquired us a little over a year ago.
[03:45] You talked a little about launching Panamax, so what is Panamax?
Panamax is not a Platform as a Service. I didn't want to, I made one with AppFog and I didn't want to make one again. So Panamax is a thing that I saw as a gap in the industry. I saw Docker being an incredible technology that I thought was changing the cloud landscape forever, so I said this is awesome... I don't want to build a Platform as a Service, I don't want to build an orchestration system, so what can I build?
How can I be involved in this transition, this movement? I looked around and said there is a thing missing. There's something missing in the industry around Docker that everybody could use, it could be supportive of all the eco-system players within Docker and it could help people adopt Docker.
I was thinking, what could that be, and that turned into Panamax. Panamax is like a cloud installer for Docker, but its also like an application marketplace. Its kind of like Homebrew for Docker where you can install software, complex stuff, using Panamax and you can share it with your friends.
[05:13] You talk about Docker a lot, you really seem to love Docker, you wear Dockers to the office half the time. Why do you love Docker so much?
The thing that I think is just so cool about Docker is that it is transforming how people collaborate with DevOps. When I saw GitHub the first reaction was "wow, this is cool". But I didn't understand until later and seeing GitHub progress that it was changing the way you wrote code. Because now you could collaborate with hundreds or thousands of developers around the world openly, learn from them, work with them in an easy way.
When I saw Docker my first reaction was the same as when I saw GitHub, "wow, this is cool". And when I saw the idea of Docker Hub and collaborate on DevOps the way that GitHub allowed collaboration with developers I thought "this is amazing!" This is not just cool, it is going to transform things the way that git has transformed source code management.
[06:34] How did you come up with the idea for Panamax?
I came up with it by really thinking about what is it that could add the most value to developers, as well as to the larger Docker eco-system. When I first saw the Docker project and I started playing with it one of the first things that I realized was that its super easy to create a simple "hello world", but going past the "hello world" stage and taking containers and stitching them together and creating applications that use lots of different containers is super hard. And it just takes lots of technology.
I've written blog posts, me trying to figure out how to use Docker for complex stuff is kind of a lot of what happened out of a long series of blog posts that I did on the CenturyLink Labs web site. It was just me struggling to do production stuff with Docker.
So I said, there's got to be something that can make a lot of that more standard and easier to approach. That's where the idea of Panamax came from.
[07:52] Let's say I'm your DevOps person, and if that's me then the Zombie Apocalypse is near and you should check over your shoulder for zombies because things are not looking good if I'm your DevOps guy. But let's say I am your DevOps guy, give me a specific example how I would use Docker in Panamax to make my life easier.
One specific example is thinking about building a complex application, like with a load balancer, that is something every DevOps guy does in the universe. When you're thinking about building a load balancer you're thinking what load balancer am I going to use and how am I going to configure it the best.
First I'll tell you how Docker changes that equation. In the past what you would do is you would have to dig deep and figure out the insides of nginx yourself. So you have to figure it out, you have to go inside its configuration, tweak with every knob, tweak with every setting and that can take a long time. The way Docker changes things is now there is the ability to not just take the nginx source code and try to compile it and tune it and do everything right with it, you can actually take an nginx container created and cultivated by experts in nginx. Instead of you having to learn the ins and outs of it you can get it pre-finetuned with every setting just the way you want it, curated by the DevOps community in the Docker Hub.
The Docker Hub is this kind of a place where people around the world can put best practices and encapsulate the entire state of services like nginx, like HAproxy, like any load balancer, like any database. Anything can be pre-configured, capturing its entire state and shared with you and you can reproduce the exact correct settings without having to dig in deep. Eventually you're going to have to understand how these service run but the idea is to start out in a place where you are using the knowledge of the DevOps community for your own good and to help you do better than you could do on your own.
Its a way to open the DevOps process to a more collaborative environment. That's what Docker does, the next question is what does Panamax add for a DevOps person?
Now I have my tuned load balancer, how do I get it to talk to the application servers? Whether they are PHP or Ruby or Go or Python it doesn't matter, how do I get them to talk? Best practices say that you should not put your nginx load balancer in the same container as your application. Because the whole idea of having a load balancer is that you want to spread the load. So you spin up a bunch of container with each one having a micro-service and you want to load balance between them, that is the whole point of the load balancer.
So how do you make the load balancer become aware of the containers that have your application code in them? That's where something like Panamax can help.
You can do this on your own and you can link stuff. Right now Docker link only works on one host. So if you want to do multiple servers to backend your certain system Docker links, using straight up Docker, will only take you to one host. In the future with links version 2 that is being worked on right now there might be more but right now there is a lot you have to do yourself if you want to go beyond a single server. Anybody that is building production stuff cannot rely on single server you have to be able to do multiple servers.
Panamax is built to let you stitch together containers easier. When you are going to do this on your own, and you can do it on your own, I've done it on my own, I've documented the process on the blog, the problem is that it takes a lot of work, you have to learn a lot of technologies, they are all new technologies. It feels like you are doing stuff that should be cookie-cutter. Whenever I feel like I'm doing that that's where I see opportunity. That's where Panamax can come in and do the standard best practices of multi-server or multi-host multi-container applications.
And we do that for you because we have CoreOS underneath the covers, we have Fleet to do scheduling and orchestration for your containers. Yes you can do all that on your own but learning that is a very big learning curve for a developer. What if you had a piece of software that did those best practices for you, that's what Panamax is.
[13:46] What do you see as the future of Panamax? What's next for Panamax?
The future of Panamax is all about two things. One, creating an application template marketplace. That is the first thing we need to create within Panamax to make it most useful. Number two thing is adding drivers for different orchestration systems like Kubernetes and Geard from Red Hat and all the other orchestration options out there, like Mesos. Because we don't want people to have to choose or be locked into any one orchestration, we have no idea which one is going to be the best for any single purpose so we want to make sure that Panamax is useful no matter which one you choose.
Back to the first thing, application templates. Application templates are kind of a secret sauce for Panamax, it's what makes Panamax so cool. The idea is, Fig which is an application format for multi-containers that was built by Orchard that was just acquired by Docker is a great format. Its a great format for specifying here's what my multi-container application looks like, but its kind of for personal use only.
Panamax takes the idea of Fig, in fact it is very inspired by the Fig format, its very similar to the Fig format, and takes it one step further. It says, not only are you making it for yourself but we are going to create a centralized repository of Fig-like application templates. That anyone in the world can search, take action with, deploy, and share. So now with Panamax you can build these complex applications, it will automatically generate a Panamax file that is very similar to a Fig file for you and it will save it to a git repository on GitHub that you can then share with your friends.
What we want, and what we've always wanted, is to build out the best library of stuff to make it most useful for developers around the world to share with each other.
The idea is, what if Flynn was a template installation for Panamax? Panamax is easy to install and if Panamax is already there can you just put Flynn on Panamax? And the answer is yes! Can you put Dokku and Deis and any other Docker-based PaaS on Panamax? Yes. Because Panamax essentially just controls your Docker environment it tells you which containers talk to which other ones and all of these PaaS's are built on containers. So fundamentally it is kind of like Homebrew for Docker, it is a way to specify the application template and then share it with anyone else to be able to reproduce that environment.
Which is a lot different than Platform as a Service. With Platform as a Service, like Cloud Foundry, you can't install Cloud Foundry on Cloud Foundry. You can't install OpenShift on OpenShift. You can't install Flynn on Flynn. Because the idea of Platform as a Service is to give you an environment that is already predetermined for you. You just give the Platform as a Service your code and it does all the rest. You don't pick the load balancer, you don't pick how things are done, those are predetermined for you.
We didn't want to build something that was predetermined, we wanted to give you control to build whatever you want to on top. You can use Panamax to install a PaaS, then use the PaaS, or you can just use it to install a complex system or build a complex system, like Hadoop. You could do a hundred container Hadoop system with Panamax and then press "save as template" and then I could share it with you. Even though you are not a DevOps person you could reproduce it.
[18:52] Where did the name Panamax come from, what inspired that?The name Panamax came from the Panama Canal. The term panamax actually means the largest shipping container size that can go through the Panama Canal. So its a standard for shipping containers.
The play is that we are creating a standard for on top of Docker. Something that creates a standardized way for people to shared Docker-ized applications for multi-container and multi-host, multi-system to build complex applications.
[19:35] Panamax is open source. We work for CenturyLink and I think a lot of developers out there were a little shocked to see that CenturyLink was doing something like this that's open source. Why make the open source play?
That's a great question. When CenturyLink acquired AppFog a little over a year ago they brought me in and they said, Lucas, AppFog is amazing. And what you are doing with developers and Platform as a Service is amazing but at CenturyLink we do a lot more than just Platform as a Service. We actually have a large suite of cloud technologies. We can do Infrastructure as a Service, we can do object storage, actually most of the things you can do on other clouds you can do on the CenturyLink Platform already.
But, nobody had heard about it.
So they brought me in and they said, Lucas, I love what you're doing with AppFog but we need help understanding how can you use the concepts of AppFog and help us make CenturyLink a really important brand to developers. So I love challenges and I challenged them. I said if you are really serious about this we need to be serious about how we approach the developer community. I've been a developer for most of my life so I know what its like to be a developer and even though CenturyLink had products that actually worked for developers, that were pretty good after I took a look at them, they weren't talking to developers.
They didn't have any voice, they didn't have any engagement. So I said, let me help create voice for CenturyLink with the developer community and give me investment. I know how to talk to them because I am them. But I am going to have to do things that at first you might not realize, that might not make total sense when you first hear them.
Like, building a piece of software and giving it away for free.
There is actual business value in doing things in the open source world. And that is a pretty radical way for a lot of cloud companies to think, some of them get it and some of them still don't.
Sometimes I see open source where they obviously took something they had built ten years ago, that no-one was buying anyhow, and they just put it on GitHub and say they open sourced it. That's not what they wanted me to do, that's not what I wanted to do, so I said let's do something that adds real value to people's lives. Let's create a project that changes people's lives for the better. And open source it in order to further its development.
We wanted it to work just as well on any cloud environment, we want it to work just as well on Amazon as it does on the CenturyLink Cloud. Its not really valuable code if its crippled. So we built something of real value that we hope and seems to be already being picked up by the community. People in the Docker eco-system are already excited about it, we have judges for the contest that we started that range from all of the major Docker eco-system players.
I'm overwhelmed with the support we have received so far, and this is just the beginning. Its exciting to see people take this up, the contest is kind of interesting too.
[24:01] Tell me about the contest.
When I came up with the idea of the contest I had the chicken and egg problem with Panamax. The problem was the application template libraries were the most valuable part of Panamax but nobody was going to create them if no-one was using Panamax. So I needed people to use Panamax in order for people to create templates but the only way they would use Panamax would be if their were templates. So when we deemed that Panamax was ready to open source, I went to my boss and said we have to fix this chicken and egg problem.
There's only one thing that developers want more than anything else, I know this because I want one and I really wish I could participate in the contest, I asked my boss if we could buy a $100K of Apple products and give them away. And to his credit he said yes.
So we bought 30 Mac Pros and 30 iPad Airs. The idea was to encourage people to use Panamax and to create templates. So we give people incentive to create templates which will then make Panamax more attractive and give it a real chance to be a valuable piece of technology for the eco-system. Its only valuable if people actually like to use it and so we're excited about the contest.
[29:44] What do you have in store for the Labs next?
We're hoping that Panamax really takes off, and in the meantime we are building more stuff. Panamax is just the beginning, CenturyLink is making a big play to do something really spectacular and they are really pushing for innovating. We are going to work on more projects, we're going to keep on doing cool stuff, we're going to keep blogging, we're going to keep educating. one of the things we are working on, and should be available soon, is on-line training. Courses on how to use Docker.
One of the big problems in using Docker is that its still so early that there isn't a lot. One of the prizes for the contest is a new book on using Docker that the VP of Services at Docker created. So we are going to be giving away that book, but there is so much to learn. We believe that education is something very important to the Docker eco-system so we are going to be creating on-line courses to learn Docker and those will be available soon.