Hello everyone, my name is David and I would like to tell you a story that started two years ago. Back in 2016 when ManageIQ was running on Rails 4.2 and the Rails 5 was in beta was when I started looking into ActionCable and WebSockets in general. I had this vision of having asynchronous notifications being emitted from long-running backend jobs that we could display on the frontend as notifications. In the meantime I had some bugs assigned to me about browser-based remote consoles. As you can guess, these consoles were also powered by WebSockets and I had a feeling that I could do some improvements in the area.
tl;dr we found a memory leak in Ruby… and it mostly wasn’t our fault!
The API has been growing quickly thanks to our many contributors. In an effort to help new contributors get up to speed quickly, it was about time for a blog post to explain the process of adding in a new collection and subcollection, as well as provide some examples for commonly asked questions.
The ManageIQ team underwent a rearchitecture investigation during the summer of 2017. In this blog post I’m hoping to give a bit of an overview of why we did this, and some of the preliminary results. We did a lot of research, and there’s no way I can fit all of it in a single blog post, so this is just the first in a series on the rearchitecture efforts.