Marrying VM's & Containers to AutoScale RethinkDB with Kubernetes

Arctiq recently hosted a technical event in Toronto "Containers are Brewing" where we presented several container based use cases and live demo's.  You can find a demo of OpenShift and Continuous Delivery here.  We also presented Cloudforms and Satellite 6 management use cases.

In this Blog I am going to show you how to take advantage of traditional virtualization but also utilize containers and kubernetes to manage real-time scale requirements in an unpredictable application environment.

In this use case we have deployed 3 virtual machines running RHEL in a RethinkDB cluster. These virtual machines run 24/7 and are sized to service the predictable nature of the application load requirements.  We also need to deal with unpredictable load demands that will spike up and down very quickly.  Adding more virtual machines is not the ideal solution as it generally takes more time and resources, while we need a solution that can scale-up in seconds and be completely automated.  We also need to be able to scale-down to keep out costs in check.

Below is a link to the live demo, you will be able to see how you can scale a RethinkDB cluster from 3 virtual machines to a large mixed environment of vm's and containers.  You will also see how kubernetes can manage failure situation and recover containers to maintain the clusters availability. I have developed some custom code to manage the RethinkDB state and consistency during various situations.  If you would like more detail on that code, just let me know.

RethinkDB is the first open-source, scalable JSON database built from the ground up for the realtime web. It inverts the traditional database architecture by exposing an exciting new access model – instead of polling for changes, the developer can tell RethinkDB to continuously push updated query results to applications in realtime. RethinkDB’s realtime push architecture dramatically reduces the time and effort necessary to build scalable realtime apps.

In addition to being designed from the ground up for realtime apps, RethinkDB offers a flexible query language, intuitive operations and monitoring APIs, and is easy to setup and learn.

Have a look at the live demo from our event to get a feel for the tools and technology we are utilizing to run RethinkDB at scale in an unpredictable environment. 

Want to dive deeper into this topic or other emerging technology discussions? We would love to hear from you!  We would also welcome you to attend our next event, sign-up for our news letter.

 //take the first step and we can schedule some time to chat.

Aly