skvoor - Fotolia
If you're a CTO and your head of engineering asks, "Can we say that Docker is production-ready now?" your answer would undoubtedly be: "Yes." If you weren't using Docker already, you would be eager to adopt the technology that now forms the basis of many companies' application architecture.
What would your reaction be, though, if you had received that same question four years ago, before open source enterprise architecture tools became the norm and when Docker was far from stable and lacked integration and support with all the major operating systems and enterprise platforms?
Docker: From demos to enterprise-ready
In 2014, Talend was designing its cloud integration platform. Microservices and containerization were two up-and-coming trends.
Talend -- an enterprise data integration vendor -- saw Docker as a promising containerization technology that could run its microservices and accelerate the delivery of product demos. It could be a more efficient alternative to VMware or VirtualBox images.
When Talend selected Docker, it was still buggy. Containers sometimes failed without any clear explanation, so companies had to invest time to read through the logs to understand what went wrong. It's a reality that anyone who has worked with a new technology understands well. Additionally, Talend had to see how this emerging technology would fit with its existing projects and determine how they would integrate.
Despite the initial challenges, Talend found Docker improved the development lifecycle by enabling the rapid exchange and reuse of pieces of work between different teams. In retrospect, Docker was a relatively straightforward choice when it came to containerized software. A decision about how to orchestrate all these containers, though, wasn't as simple to make.
Kubernetes tied all the containers together
In 2015, Talend began looking at technologies to orchestrate the containers that made up its underlying architectures. But the choice between a few open source enterprise architecture tools was unclear. Talend had to bet on an orchestration layer that would become the de facto standard and be compatible with major cloud players. Would it be Kubernetes, Apache Mesos or Docker Swarm?
Although Mesos was more stable than Kubernetes at the time and lined up better with Talend's roadmap, we were drawn to the comprehensiveness of the Kubernetes applications. The fact that Google was behind Kubernetes gave us some reassurance regarding its scalability promises. Mesos requires a bundle of several other applications for it to really function. Kubernetes, on the other hand, had everything we needed already bundled together.
It's important to make sure you choose the option that's easiest to configure and maintain. The Kubernetes community had many large companies contributing to the project and creating standards for it. With Kubernetes' comprehensive nature and vibrant community, it made sense to go all-in.
How to pick open source enterprise architecture tools
Talend has been working with and contributing to the open source community for years, and its experience with Docker and Kubernetes has emphasized some of the key lessons learned working with emerging technologies:
- Keep your focus. It's easy to get distracted by all the features being added to open source projects. Make sure that the purpose remains clear, so that development won't be derailed by new things that might be irrelevant to the goal.
- Consider the community. Examine your chosen project's community. Look at the roadmap and the vision of the project to make sure it aligns with your development vision.
- Invest the time to go deep into the technology. Innovation does not always click overnight. Even if it is buggy at first, try to understand how the technology works. It can be worth it in the end. Debugging will be a lot of work, but keep in mind that the technology's capabilities -- and its community -- will grow. This allows your company to reap the benefits of innovations that you can't build on your own.
When a company chooses to lead with innovation, it's taking a risk-filled, untraveled path. The open source community has many worthy emerging technologies to place your bets on -- just make sure you do the research first.