When you put a time consuming challenge with a lot of steps in front of an engineer, their mind invariably strays to “How can I make this faster, easier, better?” We recently spoke with Sébastien Han, senior cloud architect at Red Hat in France, who, like any good engineer, thinks along those lines.
In this case, Sébastien was thinking about the challenges inherent in deploying Red Hat Ceph Storage across numerous nodes, typically a task that requires a commitment of time and concentration for every node that needs to be configured. To expedite — and automate — the process, he uses Ansible (made by Ansible,) an open source tool for orchestration and configuration management that happens to be included in Red Hat Enterprise Linux.
Sébastien recently recorded a video (above) that explains how to set up Ansible to deploy Red Hat Ceph Storage, but we also caught up with him to find out why he recorded it.
Q: Why did you record this video?
A: I deploy Ceph for customers or myself on a daily basis, and because Ansible can make the process faster I wanted to learn it. I've found videos are a great way to learn. So I record demos because people tend to be lazy and don’t read documents. If you have a video to listen to, sometimes it is easier. I’m part of this group of people who don’t like to read the documents, too. But I see this every day, people open [support] issues because they don’t read the docs, even if it is four lines. Videos are more lively. I like watching videos. And also to show people it is easy to use and manage and implement. They think, "Ceph is a beast. I don’t have the right tool. I don’t know much about Ansible.” But it is easy.
Q: Why a demo about Ansible and not tools like Puppet or Chef?
A: Usually Puppet and Chef are good for giving you the state of a specific machine, but when you have a set of machines that must interact with each other and you need to do a first action on the first node, second action on the second node, then go back to first node, it gets complicated for Puppet to do this. Or inefficient. Puppet lacks orchestration. Ansible features orchestration, which gives you the flexibility to orchestrate installation to multiple architectures. Ansible runs multiple commands at the same time on the same nodes, is easy to learn, powerful, and written in Python which has become a very popular programming language.
Big companies and startups are moving to Ansible because it is easy to learn, manage, and has built-in functionality that is easy to configure compared to other configuration management systems.
Q: What else should we know about Ansible?
A: Ansible is a good tool to use when deploying Ceph. You can run containerized Ceph containers, even use Ansible to bootstrap them. It can perform live rolling upgrades, or individual host maintenance, without downtime. If you aren’t working under IT restrictions you can also use Ansible to deploy and maintain your Ceph cluster. For anyone who needs to bootstrap and manage the lifecycle of storage clusters or tweak configuration flags or options, Ansible is an invaluable tool because everything can happen automatically and not need any manual adjustment.
The time savings are hard to estimate, but if we keep it simple — like if we have to deploy Ceph on six nodes. Manually, installing packages and configuring configuration files, bootstrapping daemons, it will probably take hours. But I’ve seen instances when Ansible has reduced this time to less than 20 minutes.
Don’t miss the video — or the Ceph test drive!
For a walkthrough on how to use Ansible to deploy Ceph, straight from Sébastien himself, check out the video embedded above. And, if you’d like to take Red Hat Ceph Storage for a free test drive, click here.