Arctiq recently hosted a technical event in Toronto “Containers are Brewing” where we presented several container based use cases and live demos. 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 real-time 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 real-time. RethinkDB’s real-time push architecture dramatically reduces the time and effort necessary to build scalable real-time apps.
In addition to being designed from the ground up for real-time apps, RethinkDB offers a flexible query language, intuitive operations and monitoring APIs, and is easy to setup and learn.
//take the first step and we can schedule some time to chat.