RabbitMQ in Action

by John Turner

Posted on November 01, 2012

Subsequent to the acquisition of Spring by VMware it was interesting to observe the increasing support for software such as RabbitMQ and GemFire. My interest in AMQP and RabbitMQ has increased steadily over the past couple of years as the internet chatter on these topics increased. This book was published earlier this year and given I’ve grown to like the format of the “in Action” series I spent a bit of time reading through it and trying out the examples.

1. Pulling RabbitMQ out of the Hat

The book begins by providing a history of messaging. This starts in the early 1980’s with Teknekron (and TIB) and evolves to having a number of messaging implementations in the late 1990’s. In 2001 an effort was made to standardise the API for messaging implementations through JMS. Even with a standard API, interoperability between messaging implementations was limited because the messaging protocols were proprietary. In 2004, JP Morgan Chase started implementation of AMQP which was to be an open standard for messaging protocols. In 2006, Rabbit Technologies was founded to create a messaging broker that would adhere to the AMQP standard.

The obligatory installation guide follows. Installation of Rabbit was straight forward and I was up and running in a matter of minutes.

Read More

MongoDB in Action

by John Turner

Posted on October 30, 2012

MongoDB gets a lot of press because it is considered the easiest NoSQL database to understand when transitioning from a relational database background. This is due to support for relational features such as secondary indexes, explain plans and ad hoc queries.

Despite this relative ease of adoption, MongoDB still represents a significant change in the way data is stored, modified and retrieved. I wanted to learn more so purchased this book as it promised to be written for developers with no MongoDB or NoSQL experience.

1. A Database for the modern web

The book starts by providing background information on MongoDB including the initial drivers for developing the database. The key features are identified as being:

  • Document data model
  • Ad hoc queries
  • Secondary indexes
  • replication
  • Speed and durability
  • Scaling

MongoDB’s core server components and tools are identified and explained. A very useful comparison of MongoDB and other categories of NoSQL database is provided followed by a set of use cases describing when to consider MongoDB and (equally as important) when not to. The comparison is sufficient to put MongoDB in context to the rest of the NoSQL databases but if you are looking for a more comprehensive overview of NoSQL I recommend reading NoSQL Distilled.

Read More

NoSQL Distilled

by John Turner

Posted on September 17, 2012

I’ve been waiting expectantly for this book for a while now so as soon as it was published I was keen to obtain a copy. NoSQL is a set of persistence technologies that justifiably receive a lot of attention because of the way they force people to change the way they look at data access. But because NoSQL is a set of (complicated) technologies they are generally not very well understood. This coupled with Fowler’s ability to convey complex concepts in a way that the rest of us mortals can understand has resulted in a compelling read that I will try to summarise in what follows.

Part I: Understand

1. Why NoSQL

The book starts out by explaining the value of relational databases. For me this is very important because often when a new technology comes along there is a tendency to throw the baby out with the bath water and reject similar technologies that have went before. The impedance mismatch between OO models and relational models is described along with the emergence of ORM to address this mismatch. The difference between an application and integration database is described as well as the significant increase in IOPS demanded from databases due to the massive increases in the scale of applications (achieved by clustering). The emergence of NoSQL is explained as well as an attempt to define the term.

Read More

John Willis: DevOps Cloud Patterns

by John Turner

Posted on September 14, 2012

I’ve been a bit under the weather and was off work today so I decided that I would catch up on some reading (and watching video etc.). One of the things I stumbled upon was John Willis’ DevOps Cloud Patterns talk at Build a Cloud Day. As the title suggests, John speaks about DevOps and Cloud. He also spends some time discussing the history that has led us to DevOps and the companies that are the most successful practitioners. I found it really interesting and engaging and it’s well worth a watch if you have an hour to spare.

Event Processing in Action

by John Turner

Posted on August 26, 2012

I’ve been building systems using MOM and ESB for most of my career but have very rarely considered those to be event processing systems. When contemplating the design of a system I am currently working on, the concept of events (as opposed to messages) intuitively seemed to be a better fit. There is a significant amount of sharing of concepts between these types of systems so I was interested to learn what made an architecture an event processing architecture. This led me to pick up a copy of ‘Event Processing in Action’.

The Basics

1. Entering the World of Event Processing

The first chapter introduces event processing and contrasts an event based interactions with synchronous request driven interactions. The concepts of event producers, consumers and intermediary event processing are covered briefly as are a number of event processing languages and tools. The book utilises a fictional application (the Fast Flower Delivery application) to explain concepts throughout. A high level description of the application is also provided.

Read More
About - MonkeyLittle

Thoughts on Software Engineering, Infrastructure and everything in between.

Twitter Feed