Microservices – the blind leading the blind

This is a reflection on our experiences with trying to build a micro-service architecture for Loadzen – our load testing platform, we started on this path about a year ago when there was even less documentation about how to go about things than there is today. Please note this post isn’t a how-to, or even assumes that we got anything right, it’s simply a report on our experiences and what we learnt.

When we decided to re-develop the Loadzen service, we switched modes, we decided to move towards a SOA-based design, influenced heavily by Erlang’s actor model and the emerging popularity of microservcies to build scalability and specificity into the heart of the webapp.

Continuous Deployment with AWS and Saltstack

One of the key things we learnt while re-developing our load testing suite: Loadzen, was that being able to continuously deploy our code to live would be awesome. It did come with quite a few challenges: Tests would need to be solid How do we reduce downtime but not waste money? How do we manage(…)

Redesigning Loadzen’s Architecture

We’ve been very busy at Jively HQ recently – working up the next release of the Loadzen platform. “Loadzen Reloaded” as we call it internally, is a complete ground-up rewrite of the original Loadzen platform, here the first incarnation of our site was built to ship as fast as possible (it took a year to(…)

Using TykRMQ to make working with RabbitMQ more fun

So last week we made TykRMQ open source, TykRMQ is a wrapper around the Pika library that helps integrate and work with RabbitMQ queues in Python. Don’t get me wrong, Pika is great (it’s made by the guys at RMQ, how can it not be!?), but it also introduces a lot of overhead when working(…)

Using OpenCV, Python and for simple face recognition

I’ve been interested in computer vision for quite some time, and the opportunity to tinker with face detection (in an ongoing project to weaponise our beer fridge) was just the the thing to get to grips with the rather awesome bit of technology that is OpenCV.

An intro into the PyOfSauron image detection project in Python, using both OpenCV and the API to perform face detection and recognition.

Use Tornadio to create a websockets RabbitMQ bridge

If you want to enable real-time push notifications to your users, SocketIO is your friend, if you don’t like NodeJS running on your server, or like me you are a python fan, then this guide to Tornado and TornadIO will make it simple to set up an implementation on your system.

In this post we go further and show you how to plug your Tornado implementation into a RabbitMQ message queue, and show you how to publish into Tornado (and your web client) to enable real-time communications for your web users without being tied to a single platform.

A Quick Guide on Python Remote Objects (PYRO)

Recently I have been contemplating client-server applications, how these can eventually be tied into a web app and how best to write all of this in Python. This post will outline the usage of one of the more awesome XMLRPC libraries and also discuss why it’s better than what else is out there…