Breaking the monolith

I’m lifting the lid on my latest pet project which is set to revolutionise the ECM world. The codename is mu-fresco as it puts Alfresco into a Hadron collider with microservices.

This came about as I didn’t have access to 448 cores of JVM Azul goodness. The pretotype used 20 over-clocked Raspberry Pi units and an old HP Superdome picked up from eBay (I needed something beefy for the database and it was cheaper than RDS). After a bit of light surgery with a sharp scalpel, aka Spring Remoting with Hessian, it was time to awaken Frankenstein’s monster. The results are very promising though there are still a few kinks to be ironed out, with the Solr 1.4 index being one and the shared database schema between microservices being a glaring architectural impurity.

As for the next iteration, well “I’ve decided to take my work back underground to stop it falling into the wrong hands”.

Groovy graphs with Grails and Gremlins

This article provides a practical introduction to graph databases with a focus on the Groovy ecosystem. It explores Grails GORM support for Neo4j as well as query comparisons between the Neo4j Cypher language, SQL and the Gremlin graph DSL.

This article originally appeared in the May 2013 issue of GroovyMag.

Continue reading

Free your mind (map) with Groovy

Freemind is an Open Source mind mapping tool. Version 0.9 (released Feb 2011) introduced Groovy scripting that can be used for processing the mind map nodes. In this article we’ll look at a couple of use cases and the supporting scripts.

This article originally appeared in the February 2013 issue of GroovyMag

Continue reading

Groovy as a GoogleCode API client

This article gives an introduction to working with XML / HTTP APIs from Groovy in the context of a real world scenario using the GoogleCode API.

This article first appeared in the March 2013 issue of GroovyMag. Since the script was originally written Google deprecated the Issue Tracker API and scheduled it for closure on the 14th June 2013. So whilst the script is now for interest only, the principles are still valid for other purposes.

Continue reading

Monitoring elasticsearch

elasticsearch is an open source distributed RESTful search engine built on top of Apache Lucene.
Like any service or component in your architecture, you’ll want to monitor it to ensure that it’s available and gather performance data to help with tuning.

In this brief post, we’ll look at how we can monitor elasticsearch using Opsview, which is built on Nagios and thus has access to a wide range of plugins, yet provides a more approachable user interface for configuring service checks.

Continue reading

Monitoring OpenStack Swift with Opsview

This is a quick how-to for Opsview users who need to monitor an OpenStack (Essex) Swift installation. As a starting point we’ll perform a ‘front door’ check as this should work no matter what Swift implementation you are using.
Continue reading

Updating the Grails Solr Plugin

A few months back I was working on a Grails & Solr project – so it was a prime opportunity to answer my call to action (see the Solr plugin section of ‘Using Lucene in Grails’) and upgrade the Solr plugin to 3.5.0.
This was done in two phases, the first was to update the SolrJ client as required by the project and then once the project was completed to update the bundled Solr server with the aim of contributing the update back.

TLDR: Grails Solr Plugin using 3.5.0 3.6.0 available from https://github.com/rbramley/grails-solr-plugin pending https://github.com/mbrevoort/grails-solr-plugin/pull/2

Continue reading