“If all you have is a hammer, all problems look like nails”
Starting in a greenfield project, there are many choices for configuration management and orchestration. We talked to JAX DevOps speakers Dr. Martin Hoefling and Dr. Johannes Ebke about SaltStack and the pitfalls and opportunities that arise using modern tools.
In this interview, Dr. Martin Hoefling,a Senior Consultant at TNG Technology Consulting, and Dr. Johannes Ebke, Software Consultant at TNG Technology Consulting, speakers at next week’s JAX DevOps, are talking about SaltStack and the pitfalls and opportunities that arise using modern tools.
JAXenter: How was SaltStack received?
Dr. Martin Hoefling and Dr. Johannes Ebke: Managing our machines with SaltStack was seen as an immediate improvement over the previous puppet-based setup. A further positive aspect was that Salt can be easily extended by writing simple code in Python, which is a language that the team was already familiar with. The barrier for entry for the team was therefore quite low.
JAXenter: Looking back on your decision to integrate a diverse set of tools into your continuous integration and delivery stack, do you think you would have evolved to the point where you are today without them?
Dr. Martin Hoefling and Dr. Johannes Ebke: The use of tools definitely shapes the solution: if all you have is a hammer, all problems look like nails. We use the hammer of SaltStack where necessary, but are always on the lookout for more specialized tools where it is useful.
SaltStack is a great tool for configuration management as well as for event based orchestration and dynamic reconfiguration, and we use both features extensively. However, we found that for managing the mostly static parts of your infrastructure or your IaaS layer, there are better tools available. Using a set of diverse tools in combination allowed us to react quickly to changing requirements, since we could leverage the key strengths of each while mitigating their weaknesses.
The use of tools definitely shapes the solution: if all you have is a hammer, all problems look like nails.
JAXenter: How important is to keep the DevOps team happy? What are the instant benefits of looking after the team’s needs?
Dr. Martin Hoefling and Dr. Johannes Ebke: If the whole development team does not feel included in operations we feel that the skills necessary to fix problems in production do not get exercised. In a team where everyone feels included in the operations processes, it is rewarding to work on operations improvements and the system is much better as a result. As a result, the borders between DevOps and the rest of the team are fluid.
JAXenter: What is the biggest pitfall that you encountered when using modern tools?
Dr. Martin Hoefling and Dr. Johannes Ebke: Using the latest tools implies keeping track of their current development. One particular pitfall we met was when we tried to combine a stable operating system base with the latest tool versions; hitting a rare library bug that prevented our test cluster from booting. In more than one case we had to package and use our own version of a tool to use the latest features.
To summarize: On one hand, you have to put in quite some effort to adapt and extend the tools to your needs, on the other hand, you are rewarded with a degree of automation that you wouldn’t achieve without them.
Using modern tools in the right combination is key, since no one tool can be a magic bullet for all projects.
JAXenter: Do you think it is worth using modern tools regardless of the drawbacks? With this in mind, when is the optimal time to start using modern tools?
Dr. Martin Hoefling and Dr. Johannes Ebke: Using modern tools in the right combination is key, since no one tool can be a magic bullet for all projects. In combining the strengths of new developments, even complex deployments can be very manageable for even a small team.
The best time to experiment with tools is at the beginning, when you’re setting up the stack. Further, if you have a chance to reduce complexity significantly by adding a tool or adjusting its usage, it’s often worth to do it: Complexity not only slows you down in regular development process but in particular in troubleshooting issues under time pressure.
Finally, there are always points in time during the growth of a project where some tools reach the limits of their applicability, or where there are major changes in infrastructure. At these times, modern tools can be evaluated – not only matching the advertised features to the requirements, but also looking at user feedback and bug reports. In this way; even very recent tooling can be successfully used for reliable operations.
Thank you very much!
Dr. Martin Hoefling and Dr. Johannes Ebke will be delivering one talk at JAX DevOps which will focus on the pitfalls and opportunities that arise using modern tools.