Arun Gupta (@arungupta) wears many hats: VP of Developer Advocacy at Couchbase, author of a best-selling book, an avid runner, founding member of Devoxx4Kids USA, Java Champion, dedicated father, globe trotter, JUG leader and a Docker Captain.
Arun first started blogging about Docker in July 2014 with a tech tip on how to get started. He now has published over 65 posts on Docker on his blog and the Couchbase blog. In addition to creating awesome Docker content, Arun has spoken at tons of conferences including JavaOne, Red Hat Summit and OSCON and we are excited to have him deliver a Docker for Java Developers workshop at DockerCon 2016 on June 19 in Seattle, WA.
We recently sat down with Arun to discuss why he is passionate about Docker, open source software and teaching kids to code.
Hi Arun, how did you first get involved with Docker?
My basic philosophy is if I see a new technology, I learn it and the share it in with others. More than becoming an expert, I am looking for a solution. If a solution sits around the corner and the technology happens to be the latest, I’m not shy about adopting it.
Back in November 2014, a friend of mine Adam Bien (@adambien) was building a demo on Continuous Deployment with Java EE 7 and Docker. I had been hearing about Docker for a while but that was when I first started highlighting Docker on my blog with posts on creating your own Docker image and removing images.
Why do you like Docker?
I like the ability of how I can package my applications so easily with Docker. I’ve been living in the Java land for 15+ years. It truly enables “Write Once, Run Anywhere” or WORA. This allows you to package an application as an archive (JAR, WAR or EAR) and that would run wherever the JVM is.
With Docker, I extract myself to a further higher level which says, hey, package application once and deploy it anywhere, wherever Docker Engine is running. Similar to WORA, I call this PODA or “Package Once, Deploy Anywhere.” That results in a higher level extraction where it becomes language-agnostic. It doesn’t matter whether I’m running Java, PHP, Ruby, Scala, pick a language, I can create a package and every Docker engine will understand the same Docker image. I think that to me is the most fascinating aspect and that’s the part that I love.
If I were to pick one tool that would be my favorite from Docker, it would probably be Docker Machine, because it really simplifies my entire development experience here on my MacBook. In a given week, I probably create quite a few machines and delete quite a few machines, but that is super convenient. Not that we can’t improve on it – we certainly improve on it – but I think it’s off to a very good start where it simplifies my development experience tremendously.
What’s your favorite thing about the Docker community?
Everywhere I go where I’m talking about Docker, there’s a lot of interest in the technology. I love the fact that I have been involved with Docker since the early days so that allows me to not only teach the basic fundamentals but also share where the Docker platform is going.
I presented a Docker tutorial at JFokus in Stockholm in February. An attendee wrote an an article saying that when it started, he was disappointed that it was going to be a basic Docker talk. But because I’m active in the Docker community as a Docker Captain, I was able to present on Docker 1.10, which had only been released two days before! I highlighted the new features in this release and how Docker Machine had changed. The attendee continued to write that he was impressed I was able to convey not just the basic Docker concepts, but the complete gamut.
In these Docker workshops, there is so much material to cover. What I like is that the attendees are eager for all of it and to hear about the latest Docker news! Being able to deliver those presentations makes me feel valuable and appreciated and is one of my favorite things about being involved with the Docker community.
I am also excited to be a mentor at next week’s Docker Birthday #3 celebrations in Mountain View and Santa Clara! Teaching newcomers how to use technology like Docker will be empower them to build, ship, and run their applications faster. I contributed to the training materials by adding the Java-alpine base image and I also contributed this Docker for Java Developers tutorial to the Docker Community repo. I can’t wait to help teach attendees how to the Docker platform!
Your role at Couchbase is doing developer relations so a lot (but not all!) of your content has been centered on Docker and Couchbase. How do you see incorporating Docker into the work you’re doing?
That’s where all of this Docker experience comes in handy for applying to Couchbase. A customer asks I have a multi-node cluster – how would I then run a Couchbase cluster on top of that and scale it up and down? Use
Docker compose-up and then
DB=3 and it should automatically scale up the database cluster.
This allows Couchbase to be visible to a different set of audience, but more importantly it’s really helping our developers and customers in solving the problem.
P.S. Couchbase is a sponsor of DockerCon 2016 – come find me at our booth!
For those who don’t know, Couchbase is a NoSQL database and I would highly encourage readers to take a look if they are struggling with either RDBMS or NoSQL database solutions. What I work on is learning from users what is broken and then bring the feedback inside the company and hopefully get it fixed.
What does Open Source represent to you?
I love the fact that Open Source is not just throwing the code over the wall. I had several discussions with engineers and product managers from Docker on how Docker can evolve – all those discussions happened on GitHub. There is nothing hidden behind them, so it’s just not just throwing the source code over the wall as much as it is engaging people in the technical decisionmaking through frank and open conversations. There is no discussion happening in the ivory tower. The decisions are made in a very democratic way with people discussing and rationalizing what is the right thing to do.
All of the engineers are very engaged in the Docker community. I don’t mind if I have to send a message to Aanand Prasad, Dave Tucker or Madhu Venugopal. I know I can tag them on GitHub and they will respond back to me. That’s what gets me excited about open source and how Docker is run in such a transparent way.
Outside of Docker and Couchbase, are you working on any fun projects on the side?
I run this non-profit called Devoxx4Kids USA and I’m the president of the board here. We have several chapters throughout the US and we organize a lot of technology workshops all over the US – anything from Raspberry Pi to Arduino to Minecraft modding. It is important to me that we educate the next generation of developers. The responsibility lies upon us to educate the next generation and keep the Valley competitive.
My 13-year-old son Aditya and I had written a book on Minecraft Modding for O’Reilly – it was a beautiful experience writing the book with my son. We found out about Dockercraft and my son said “Dad, Dockercraft is a Docker container – how would it apply to the Minecraft audience?”
Dockercraft is a server-side mod so then we started a new GitHub project called Mobycraft, which is basically a Minecraft client-side mod that would allow you to manage and visualize Docker containers in Minecraft.
We look at the Dockercraft code yesterday with Go and Lua. My son says that he can learn a new language but that he’ll be more productive because he knows how to write client-side mods. This Mobycraft project is a beautiful exercise for us because I’m trying to teach him the basic REST concepts. I help with the Docker concepts and the REST API concepts, but he’s the one that’s doing all the modding.
Who are you when you’re not online?
I love being a father to my two boys and I absolutely love cooking, listening to music and watching movies with my wife. I also like to run a lot – that’s what keeps me sane.
Even in Sweden in the winter?
Everywhere and anywhere! My running shoes are what I pack first. I’ve moved all sorts of meetings around during travel and locally because I got to go on a run first.
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.10 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2016
- Watch DockerCon EU 2015 videos
- Start contributing to Docker