Sunday, August 20, 2017

My Blog has a New Home!

Yes! That's right. For more reasons than I can list here, I've packed up and moved on to a new blog. It's really easy to remember:

There are a lot of reasons I moved, and I shared them all in this blog post.

This site will remain online as an archive of older articles. If you would like to see an article migrated to the new site, use the contact form to contact me!


Jeremy Likness

Tuesday, August 15, 2017

Herding Cattle with the Azure Container Service (ACS)

Docker is an amazing tool that transforms how DevOps teams build software at scale. Containers can’t be treated like pets for Docker to effectively meet enterprise demands. The care, attention, and feeding simply doesn’t make sense when dealing with hundreds or even thousands of interconnected microservices. The herd of containers needs to be wrangled, or orchestrated, by a tool.


Although several tools exist, Azure Container Service provides a single interface to set up complex orchestration clusters regardless of whether you prefer Mesos DC/OS, Docker Swarm, or Kubernetes. I recently presented this talk at the Docker Atlanta Meetup group. I covered what ACS is, walked through creating clusters for DCOS, Swarm, and Kubernetes, and demonstrated deploying Docker containers and scaling them out.

View the deck below, and check out the accompanying walkthrough video.

To learn more about Azure Container Service, read the official documentation.

Are you running containers in production? I’d love to hear about your experience and tips in the comments below!


Friday, August 11, 2017

Docker Containers at Scale with Azure Web App on Linux

The Azure team recently announced a new feature that is currently in preview called Azure Web App on Linux. This feature enables you to host web apps natively on Linux. The service enables you to choose an initial size and number of instances for your hosts, then manually scale up and out or add automatic rules to respond to load.


It comes out of the box with support for several application stacks including Node.js, PHP, .NET Core, and Ruby.

Pssst. Lean a little closer. I have a little secret for you: it’s all based on Docker containers.

That’s right! What that means is even if your platform and language of choice aren’t listed in the “supported stacks,” you can publish anything you can containerize. To prove it, I’ve made a short five minute video. I demonstrate taking my little go app that is available as a public Docker Hub image and deploying it to Azure, then scaling it out. Check it out:

If you’re thinking, “Not another orchestrator” … think again. The goal is not to compete with mature orchestrators like Kubernetes. Instead, the web app provides a ton of features that make your life easier and streamline the DevOps experience, such as:

  • Kudu, the deployment engine that will manage deployments for you from sources ranging from GitHub and Visual Studio Team Services to local git repositories
  • Shared storage to aggregate log files
  • SSH access to your containers
  • Auto-scaling

You can even set up separate instances in different regions around the globe and load balance them using Azure’s Traffic Manager. There are many more features to review that you can learn more about by reading the Azure Web App on Linux documentation. If you have questions, comments, feedback, or corrections, don’t forget that the documentation is open source and accepting pull requests!