DockerCon and more things fun
I recently attended DockerCon and was introduced to some of the nice latest and greatest things about Docker. I possibly even learned some things that I wasn’t supposed to know yet like how some companies acquired another company, integrated that technology into the core product, and now having to rip it back out in order to support persistent storage for Docker containers. I won’t mention who that is, but I’m sure a lot of technologists have probably figured that out by now.
One of the big themes of DockerCon this year was around persistent storage. Let’s face it… you build (or pull down) this awesome docker container that does exactly what you want, you put these custom DB configs andbig databases into it that you spent tons of time on (hopefully not inside the container itself and you used some sort of config management tool like ansible, chef, puppet, etc to do it), all of the certificates are in it and BAM!!! power outage or cloud crash or something that causes your container to go down. But wait… unless you mount those paths to a persistent storage share, have a config management tool, or bake it in to the container image all that work is gone. Do over! So it’s not surprising one of the DockerCon themes is persistent storage this year… especially being someone who has suffered this fate at least once over the past year. Lessons learned… thanks Ansible and Google Big Table.
Another big theme was about monitoring the containers. Let’s face it… figuring out what’s going on inside your container can be tough especially when it’s really just an abstraction layer of the OS and using the host file system. There were some pretty good solutions, but I think my favorite was Sysdig in this realm. Sysdig is both a cloud and on-site premised solution with some rich information about not only the basics about the system and network, but could also map out how the applications in the various containers talk to each other. It sort of reminded me of ExtraHop, but for Docker containers which is really cool.
The big, big announcement was the release of Docker Swarm. VMWare should watch out for this. Docker Swarm has some VMWare like capabilities such as a vMotion like feature when hardware dies… it has the ability to recognize that the server is not available and move the container to a different pool which is really sweet for high availability. Along with swarm are some new networking features such as load balancing capabilities that help you tie directly into BigIP load balancers, Cisco Firewalls, or whatever it may be. It’s fairly easy to set up once you have a good container and only take a couple of commands to do. I’m still working with Docker swarm to learn more about it in my spare time, so as I learn more I will post more. Docker Swarm is backwards compatible, so everything that you’ve done in Docker Compose and everything else is still good. I recommend playing with it definitely.
Another big announcement is the release of Docker for Windows and Mac. That’s right… now you can build your Dev or QA environments in Docker and run it directly on your workstation. I’m not a huge Microsoft fan thought they definitely have their place in the industry, but kudos to Microsoft for jumping on the Docker bandwagon and helping to figure this out with Docker. This definitely let’s me think a little differently about them even if I do have to pay a premium for software if I want to use their stuff. For now, I’ll still with not paying that premium for as long as I can… but still… kudos to them.
Some of the other talks were about security for containers and how you should treat them as if they were servers as well as talks about using agnostic tools such as Packer, Habitat, etc. to build docker containers in the event that you find the docker language too difficult to figure out or just don’t want to learn something else. Puppet, Chef, Ansible, etc all have tools in their specific way of doing things to build docker containers for you in the event that you just don’t want to learn Docker’s scripting language, but I think Docker’s language is easy enough to where you don’t need to overlay it. Either way, they have their place and people will use them.
Lastly, I have to mention Docker’s demo on the notion of serverless apps in containers. It’s kind of difficult to explain, but the gentleman that gave the demo blogged about it here https://blog.docker.com/2016/06/building-serverless-apps-with-docker/ if you want to have a look at that.
It was a great conference and I learned a lot and now need to find time to play a bit more so that I can blog about some of the details of these new things. Stay tuned.