Continuous Delivery with containers: The good, the bad, and the ugly
In this talk, Daniel Bryant, CTO at SpectoLabs and JAX London speaker looks at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications. Topics covered in this talk include the impact of containers on CD and lessons learned the hard way (in production).
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk, Daniel Bryant, CTO at SpectoLabs and speaker at the upcoming JAX London looks at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications. Topics covered in this talk include the impact of containers on CD, adding metadata to container images, validating NFR changes imposed by executing Java applications within a container and lessons learned the hard way (in production).
Daniel Bryant will be delivering one talk at JAX London which will focus on the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
If you’d like to know more about containers, don’t miss this interview with Jussi Nummelin, core engineer building container orchestration at Kontena, Inc.
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.
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.
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.
Read the entire interview here.