Containers “treat” the “works-on-my-machine” syndrome
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.
JAXenter: 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.
JAXenter: Could you name a few solutions of a deeply-integrated deployment pipeline? What technologies should be used?
Jussi 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.
JAXenter: What opportunities do containers offer?
Jussi 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.
JAXenter: If you were to choose one area where containers can really make a difference, what would that be?
Jussi 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.
SEE ALSO: “Containers can make your life easier”
JAXenter: What are your favorite container tools right now? Why?
Jussi 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.
JAXenter: Some people think that containers are a magic bullet. What’s your take on that?
Jussi 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..
JAXenter: What should participants learn from your session?
Jussi 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.
Jussi Nummelin will be delivering one talk at JAX DevOps which will focus on the solutions and benefits of a deeply-integrated deployment pipeline using technologies such as container management platforms, Docker containers, and the drone.io Cl tool.