Thanks to Jim Scott, Director of Enterprise Strategy and Architecture at MapR, for sharing his thoughts on the state of orchestration and deployment of containers for DZone’s upcoming Containers Research Guide that will be published in early-August.
Q: How is your company involved in the orchestration and deployment of containers?
A: Converged data platform delivering business value for data-driven companies.
Q: What do you see as the most important elements of orchestrating and deploying containers?
A: We are agnostic with regards to orchestration. We believe success depends on adequate access to the data fabric. Ensure the software running in the containers has full access to all the data services.
Q: Which programming languages, frameworks, and tools do you, or your company use, to orchestrate and deploy containers?
A: Fundamentals like Mesos and Kubernetes, Chef, Puppet, and Ansible based on client preferences. There are pros and cons between the different automation tools.
Q: How has the orchestration and deployment of containers changed application development?
A: Containers have only been around for three years. Everything is so new it’s all still changing. There will be more evolution and maturation in the next two years. We are close to having a standard definition for containers. We’re not there with the orchestration tier and the different administration tools. There are different languages all over the board that are arbitrary and irrelevant for how things really work. Adoption of containers has gone through the roof – it’s as popular as deep learning.
Q: What kind of security techniques and tools do you find most effective for orchestrating and deploying containers?
A: We manage data security within the data fabric with files, tables, and streams securely connected between the container and the cluster. This scales easier than local storage and provides separation if a server fails.
Q: What are some real-world problems being solved by the orchestration and deployment of containers?
A: The single biggest containerization of web server. Everyone wants logs times 1000 containers. Whether you use Logstash or Flume you will have a problem scaling the administration, configuration, and daily management which increases time and overhead. We write logs to the internal path of the container and its backed up in real time. We remove the time and effort to build an infrastructure for log management. This frees up time to solve other problems.
Q: What are the most common issues you see affecting the orchestration and deployment of containers?
A: Protecting the data and network management.
Q: Do you have any concerns regarding the current state of orchestrating and deploying containers?
A: Networking implementation. Containers talking to each other via registers and services. Kubernetes is making progress in this area. We need a standard set of APIs for everyone to work against. the immaturity of the orchestration layer will prevent this from happening in the near-term.
Q: What’s the future for containers from your point of view - where do the greatest opportunities lie?
A: APIs and the standards around them. We’re making headway. Docker made containers popular but the addition of too many things resulted in stability problems and resulted in Rocket evolving from Docker. APIs and standards will lead to innovation. Open standards promote innovation.
Q: What do developers need to keep in mind when working on orchestrating and deploying containers?
A: 1) More education about how to properly build a Docker container. Everyone adds too much crust, too many layers. Too few people understand and appreciate the importance of clean Docker files. Learn how to build a lightweight base. 2) Think about how to make the software work together. There’s no reference on how to network things together. No examples of what you need to do to get NodeJS and Elasticsearch to talk to each other.
Q: What have I failed to ask you that you think we need to consider with regards to containers?
A: Data fabric and centralized data storage is the most often overlooked aspect. Developers are missing the added benefits. How are people managing data when it’s in a container? How do containers talk to each other? Data is the most critical piece of the scaling platform you are building out. How are you managing the container image repository? We offer a central repository in the data center and when there are multiple data centers we mirror volumes of data with data repositories however a lot of people overlook the management of these repositories.