CC is a new taxi agency with huge potential. Today, the company has just two taxi drivers and two developers, but they want to expand a lot in the upcoming year. CC has already built a website in Ruby and started out with a backend, also written in Ruby, that stores CC trips in a database. CC also has some scripts, written in Python, that generate route reports.
So far, CC's system runs as follows:
- The company's website and blog runs on Ruby.
- The Rich Internet Application that stores route data, such as the starting point and the endpoint of the trip, is written in Ruby.
- There's a back-office that sends route updates to drivers and is written in Ruby.
- Multiple ad hoc Python scripts are used to extract and message data to generate route reports.
- Taxi applications are written in Python.
The old architecture is illustrated as follows:
![](https://static.packt-cdn.com/products/9781789131666/graphics/assets/31b397de-241d-45ae-af51-4b191c803e71.png)
Fig 1.12: CC software landscape
Why is CC looking at adding RabbitMQ to an already busy environment? The main reason...