minimesos – An experimentation and testing tool for Apache Mesos

Apache Mesos, it’s fair to say, is a battle-hardened system for treating your whole data center as one pool of resources. Through the use of frameworks and their APIs, it’s possible to manage and schedule resources across both data centers and different cloud environments. It is for these reasons that Mantl, our microservices framework, was built on top of Mesos initially.

One of the goals of Mantl is to be developer friendly. We want developers to spend most of their time developing applications and not managing platforms and infrastructure. This meant we had to  make it easier to get onto the cloud, where Mantl succeeds(for example, with numerous Terraform scripts). We also wanted to move the cloud closer to the developers. It was this last goal that gave birth to minimesos.

minimesos

minimesos is an experimentation and testing tool that allows developers to run Apache Mesos locally. The cluster boots up in seconds, which allows, for example, developers to run automated tests both locally and through the CI server. This dramatically reduces the time it takes to develop applications that run on Apache Mesos.

minimesos Online

As part of Cisco’s mission to connect to more developers and to make cloud-native easier, we decided to team up with KataCoda and create minimesos Online. minimesos Online is a rich, online interactive environment that lets people experiment with minimesos. Through guided scenarios, users can learn basic minimesos commands as well as how to control the Mesos cluster programmatically (writing a JUnit test, for example). Give it a try here.

As well as playing around with basic minimesos commands, users can also experiment with the Marathon, inspect the minimesos file and even install and experiment with the Elastic framework. This interactive learning environment allows users to play whilst understanding the features of minimesos. If your writing test automation of the cluster, you will have this configuration.

The terminal will allow you to download and install the Elastic framwork for Mesos via terminal.

Your able to access the Marathon scheduler through the browser.

This next image shows being able to add documents to the Elastic database from the terminal.

And if your would rather use the Elastic GUI, we enable that as well.

Other Features

Configuration file for creating rich Mesos clusters locally.

A rich CLI.

Java API.

Rest API.

Integrated service discovery.

Support for a large range of frameworks.

Encapsulated network; no unintended interaction with other clusters.

Resource allocation; sandboxed CPU, RAM, disk and port resources.

If you want to see more, check out the videos here.

Conclusion

Cisco is a founding member of the CNCF (Cloud Native Computing Foundation). The CNCF’s mission is “to create and drive the adoption of a new computing paradigm that is optimized for modern distributed systems environments”. It is through our work with Mantl that we are trying to drive the new paradigm forward. However, it is through tools like minimesos that we are driving the adoption of this paradigm. One of the current problems with cloud-native application is the cost of experimentation (COE). We must continually look to reduce the COE and two ways we are contributing to that is with minimesos and minimesos Online.

We hope you enjoy these tools and look forward to any feedback, which can be sent to the GitHub repo or via Twitter at @minimesos.

Acknowledgment

minimesos is a collaboration between Cisco Cloud Services and Container Solutions. minimesos Online was built in collaboration with KataCoda.