JAX DevOps Blog

JAX DEVOPS BLOG

JAX DevOps, 3-6 April 2017
The Conference for Continuous Delivery, Microservices, Docker & Clouds

15 Mar 2017

Containers “treat” the “works-on-my-machine” syndrome

Containers “treat” the “works-on-my-machine” syndrome. Illustration from: shutterstock

Containers are among the most discussed topics in the world of enterprise software today, especially when Docker comes into play. We invited Jussi Nummelin, core engineer building container orchestration at Kontena, Inc. and speaker at JAX DevOps, to talk about the benefits of containers and his favorite tools
and to weigh in on containers’ “silver bullet” label.

JAX DevOps: What is the most important benefit of containers?

Jussi Nummelin:Containers can speed up the application delivery process by providing well-known packaging and operational environments regardless of the application itself.

 

JAX DevOps: Could you name a few solutions of a deeply-integrated deployment pipeline? What technologies should be used?

Nummelin: Typically, teams build the deployment pipelines with CI tools such as Jenkins, Drone.io, Go CD or Travis to name a few. Now with containers in the picture, the CI tools build the container images and in the deployment phase, they typically interface some container orchestration engine such as Kontena or Kubernetes. The orchestration engine takes care of cluster-wide, zero-downtime deployment of the containerized application.

From a developer’s point of view, one of the biggest opportunities is to be able to setup different testing environments in the blink of an eye on your local container enabled environment.

 

JAX DevOps: What opportunities do containers offer?

Nummelin: Containers offer a lot of opportunities depending a bit upon the angle from which you are looking at it. From a traditional Ops’ point of view, they offer standard packaging and an operational interface to any application regardless of the technologies used in the application. From a management point of view, containers can help to lower the costs of infrastructure as you can run multiple applications on one single server, yet isolated from each other. Also, they provide a means to unify the way that suppliers are required to package and deliver their solutions. If properly packaged, suppliers can deploy the entire solution to an enterprise container platform without any assistance from the IT department.

From a developer’s point of view, one of the biggest opportunities is to be able to setup different testing environments in the blink of an eye on your local container enabled environment. One can easily run tens of required downstream services, in containers, on one’s laptop and thus test all the integrations easily.

 

JAX DevOps: If you were to choose one area where containers can really make a difference, what would that be?

Nummelin: I’d say the biggest impact is on how the application environment is guaranteed to always be the same, no more “works-on-my-machine” syndrome.

 

JAX DevOps: What are your favorite container tools right now? Why?

Nummelin: I’ve been working with Docker and containers for the past few years, so naturally Docker is one of my favorite tools. It eases my daily work so much; I can test my apps in containers easily and spin up virtually any service by just running a standard Docker image. One other favorite is the Drone.io continuous integration tool. I just love the way they’ve built the architecture so that anything you run during your build process is executed within containers. That then means that you really can execute anything and no need to worry about installing some random plugins or anything. And Kontena, of course, as it’s the most developer friendly container platform out there.

Containers bring so many benefits that outweigh the complexity of the technology.

 

JAX DevOps: Some people think that containers are a magic bullet. What’s your take on that?

Nummelin: Well, it’s true that in many talks and articles containers are referred to as the proverbial “silver bullet”. They’re not but they bring so many benefits that outweigh the complexity of the technology. With the help of containers and container platforms, you can focus more on your application as many of the “external” (external from an app point of view) problems are solved by the platforms. By external I mean things like load-balancing configuration, application re-scheduling in case of a failure etc..

 

JAX DevOps: What should participants learn from your session?

Nummelin: I hope participants learn some ways in which containers can help when building an automated build and deployment pipeline as well as learn how container orchestration platforms can make one’s life easier.

 

Please complete the following questions:

Dev and Ops work best together if … you completely remove the dev and ops hats from people. True DevOps happens when a team is fully responsible for all the dev and ops aspects of the application lifecycle and when all the team members participate in both dev and ops.

The biggest obstacle for DevOps is … often company culture that enforces rigid processes and the use of outdated patterns and tools.

What promotes employee satisfaction is … the feeling of accomplishment – of getting things done.

The biggest advantage of autonomously-working teams is … the speed at which they operate. Not having to deal with organisational or other types of “bureaucracy”, leaves them time to innovate and build the next big thing.

It is important for positive company culture to … empower teams and individuals to make decisions regarding how and what tools they want to perform their jobs.

JAX DevOps talks by Jussi Nummelin
The Automated Docker Container Deployment Pipeline
Wed. 05 APR 2017,
17:55 – 18:45

Behind the Tracks

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics