Visualizing a minimesos Cluster with Weave’s Scope

This week we are very pleased to release version 0.8.0 of minimesos. This new release contains many improvements, bug fixes and new features. The two most important features are that minimesos now ships with Weave Scope and HashiCorp’s Consul. In this blog, I am going to focus on how important we think the integration with Scope is.

What is minimesos?

Minimesos is our testing and experimentation tool that allows developers to run Apache Mesos locally. Minimesos contains a number of great features, for example the minimesos file, which lets you version control and configure the cluster. Minimesos also ships with Apache Zookeeper, Mesosphere’s Marathon, for scheduling, and, as of today, HashiCorp’s Consul, which takes care of service discovery.

This set of tools and integrations means that developers can download minimesos and immediately start working on a tool stack that is otherwise notoriously difficult to get started with. The upside of this is that experimenting with cloud-native applications becomes very simple – no virtual machines, no cloud accounts.

As well as integrating a very useful stack, minimesos includes the minimesosFile and JUnit class rules. This means that minimesos can be used for local unit and system testing. Once application code is checked in, it can be picked up by the build server, which also has minimesos installed. The code can then be tested and integrated before finally being deployed to the cloud. Minismesos thus enables cloud-native development by enabling cloud-native continuous integration.

Why minimesos?

There are a two main of reasons for minimesos.

Firstly, there are a number of amazing tools out there, including Cisco’s Mantl, a batteries included end to end solution for your microservices infrastructure. Most of them are notoriously hard to get started with. This means that the cost of experimentation is much too high for most developers. This slows down the adoption and the take up of all these tools.

Secondly, developers must have tools that increase the speed of the software development life cycle, not slow it down. Currently, these tools hardly exist or if they do they are kludges or hacks of existing tools. Minimesos is designed from the ground up to enable the cloud-native software development cycle (CN-SDC).

Minimesos and Weave Scope

Weave Scope is an extremely useful tool that not only visualises the cluster but allows you to monitor it in a much more intuitive way than you can through the command line. Weave Scope also lets you drill down, from the web interface, into each container where you see vital metrics, such as CPU, memory and details of specific containers. Through the Scope controls, we can pause, stop or even restart containers. Finally, we can actually enter the container’s shell and interact with it directly. All this is done through from the browser.

The power off connecting Weave Scope to minimesos cannot be overstated. Here are just a few of the use cases we have discovered:

Debugging. Cloud-native applications are already easy to debug with minimesos, because of its support for unit and system testing. However, Scope allows you to visually check what you had to previously defined in a config file. This can save minutes or maybe hours of tedious debugging.

Exploratory Testing. We know that automated tests and checks are vital for smooth software development. We also know, however, that automated tests don’t catch all types of bugs. Exploratory testing, whereby developers and testers use their intuition to prod and probe a system, is a hugely effective testing technique. Minimesos, when used with Scope, gives both developers and testers the chance to check their assumptions by literally pulling things apart to see what might happen. This can be used for testing high availability as well as for testing the links between the containers, for example between application containers and the load balancer.

Dev and Ops. They say a picture tells a thousand words. When moving between Dev and Ops a visualization, the type created by Scope, is very handy for communicating and reasoning about the state of a cluster at different stages of the software development lifecycle.

Some Examples:

Image 1 – The minimesos cluster and an ElasticSearch and Kibana installation.

Image 2 – Drilling down into the Kibana node to inspect its key metrics.

Image 3 – Accessing a container’s terminal via Scope’s interface.

There is a great video from the team that shows the capabilities here.

Conclusion

We hope you enjoy minimesos and that it is useful for you. If not, please reach out on Twitter to @minimesos and let us know what you need. In the meantime, we are delighted with this current release, which with the addition of the truly excellent Weave Scope means that minimesos is maturing into a world class tool for developing cloud native applications. As we head towards Cisco Live! in July, we are additionally excited about the upcoming features, which will include integration with Weave DNS for automatic service discovery and integration with Docker Swarm.

Minimesos and these new features are just some examples of how Cisco are helping to drive cloud-native development. Check out other upcoming features here.