We banked our first cheque! StormMQ is trading!
August 25, 2010 – 10:09 amWe started the development work for StormMQ over two years ago…you can only imagine how happy (and relieved) we were when we rolled out our first customer installation this month!
StormMQ is a startup company who provide a managed message queue service using the AMQP protocol….if you dont know what a message queue is you can think of it as a system that can move vast amounts of data from one site of your business to another in a fast, secure and reliable way.
Smith Electrical Vehicles (www.smithelectric.com) approached us around four months ago and asked us to help them transfer data from their fleet of electric vehicles to their central database servers. It sounds like an easy project, but when you factor in the fact that they want to collect 50 data points a second, on 550 vehicles, on three different continents, over the GSM network. That’s 27,500 pieces of data a second!
When we joined this project the development was already very advanced. Smith Electric had engaged a number of development companies to work together to produce the various components of the system including the device that was to be installed in the vehicles and the servers that were to collect the data and process it. We got involved when they wanted these various components to talk together.
Our first task was to write an application to get the data off the custom device in the vehicle in a secure way. Usually this would be an easy thing to do as the AMQP protocol combined with a SSL stack will do this very easily…but we had a small problem…this device only had 32k of RAM! We had to fit an AMQP client and a custom SSL stack into that space! I don’t know how he did it, but Eamon (our CTO) got the job done in a few weeks and then spent a few days with hardware designers getting it working. In doing this Eamon also wrote a custom AMQP client for embedded C….something that I am sure we will be able to reuse.
Now that we had a system to get the data off the vehicle we needed to spec a message queue to manage it. For this task we installed a dedicated cluster of StormMQ in our new Middleborough datacentre. This was a mission critical service so we chose 2 DELL R815 servers with dual 8 core processors and 16Gb of RAM backed up by five commodity servers for redundancy and failover. This looks like overkill, but we wanted to spread the load across a few servers so that we could deal with bursts of data and also to protect against downtime due to potential hardware issues.
At the other side of the StormMQ cluster Smith Electric worked with another IT systems developer who built a cluster of five database and web servers. This cluster manages the Smith Electric telemetry application…a feat of software engineering which was written in Java and presented in PHP with a monster mysql backend. These were installed in the Smith head office in Kansas City, Missouri.
Once all of the various components were written and tested individually we started a long and complicated task of connecting them together and testing them. It took a few days but we got there. It’s always a great feeling when something works for the first time but this was different. Not only had we worked for weeks on a really complicated and exciting project…it was the first time that StormMQ (our little startup) was being used in a production environment. The relief I felt was amazing….we had built a really complicated product, released it and now somebody was using it…..I will never forget the feeling of elation and relief….that night we had a few beers
Once we sobered up the system underwent months of rigorous testing. All of this work was being led by the Smith Electric Technical Team and as we were a small component of the system we weren’t involved in most of this testing. The testing process followed the normal (and rather rigorous) automotive testing process…the same way you would test any other component in a road vehicle. During these months I spent many hours sitting on the floor beside an electric vehicle with many laptops, soldering kits and miles of cable. Once this testing was completed we started the drive tests….we drive up and down every bloody road in the North East of England ;(
The whole project took around seven months for eight full time software and hardware developers. While our involvement in the development project only took a few weeks we loved every minute of it…it’s not often that you get to heavily customise your product and put it into production on custom hardware in hundreds of electric vehicles…..we couldn’t have wished for a better first customer!





