Moving to a DevOps environment is one of the key priorities for organizations in 2018. DevOps enables companies to increase the speed, velocity, and reliability of software releases. In a world where organizations interact with their customers via their software, and need to be able to adjust quickly to changing customer demands, being able to release software quickly becomes a competitive differentiator.
While there is much discussion of the potential of DevOps, it’s essential to also talk about microservice architectures. Microservice architectures are smaller, lightweight applications (in comparison to the large monoliths which characterized IT environments for so many years). Together, microservices and DevOps provide a powerful new approach for technology teams. This is because in microservices, you’re working with smaller, independent services, which are ideal for teams using the practices and methodologies of DevOps.
Software containers are the backbone of microservice architectures. The basic principle behind containerization is that they are standalone packages, which enable you to more easily run microservices. It’s much easier (and cheaper) to run independent containers, than it is to use a virtual machine for each one. The benefits of containers for IT executives include better security through isolation, increased server efficiency, and greater application mobility and portability, according to a study conducted by Forrester Research.
They have become a core part of business’ digital transformation initiatives, because they enable organizations to deploy software faster. In addition, as organizations increasingly shift to cloud-based infrastructures, so containers have become a core part of their evolution and shift to the cloud. Containers are also a key driver for increased automation.
Despite the promise of containers, organizations face a complex array of technologies to choose from, and also have concerns with container technology. What tools should you use to build and then deploy containers? What are the factors that will influence this decision? What are the differences between open source and commercial options? What are the risks? Research for instance, indicates that security concerns remain one of the key impediments and challenges to container adoption – according to one study, “35-45% of participants reported security as a primary concern regarding containerizing production environments”. However, container orchestration tools can help you manage the security implications.
Therefore, choosing the right technology and scheduler will help you overcome these challenges, and more effectively deploy and manage containerized applications. As a result, we want to share our experiences with them, to help guide your selection.
It’s clear that containers by themselves, while useful, are not sufficient- what tech organizations need, is an effective platform to deploy and manage containerized applications. And over the past 18-24 months we’ve seen the marketplace for container technologies explode, with more options available, and rapidly maturing offerings that executives can choose.
Based on our experience implementing DevOps for Belatrix’s clients we have found that Kubernetes is the most popular tool for scheduling and orchestrating containerized applications and services. But there are other options, which can also represent effective choices. Here is our run-down of the best container technologies:
The winner? Kubernetes. Kubernetes is the most popular, and in our opinion it is the winner out of all the options available. It is getting more and more traction, and the open source community is providing strong support. With our clients we have so far deployed Kubernetes on Azure and Google Cloud Computing (GCP), and here are some sharings about them:
But Kubernetes is not the only management system of containerized applications on the market. We’ve found Nomad is an excellent option, and we’ve had success with our clients using it:
We will continue sharing our experiences in future articles, particularly about other container technologies including Apache Mesos, Docker Swarm and OpenShift.
If you would like to find out more about Belatrix’s DevOps services, visit https://www.belatrixsf.com/devops/