Contribute Media
A thank you to everyone who makes this possible: Read More

Scaling Microservices with


Tobias Oberstein - Scaling Microservices with [EuroPython 2016] [22 July 2016] [Bilbao, Euskadi, Spain] (

Microservices offer an efficient way to only scale those parts of your application which are performance bottlenecks.

We will demo and explain open source tech which allows the easy scaling out across distributed devices. The audience will be able to donate processor cycles from their devices to our demo application (and win a hardware prize).

The demo uses, an open souce application router (written in Python), and all demo code is open source.

Microservices offer an efficient way to only scale parts of your applications which are hotspots. Instead of running multiple instances of a monolithic application, with all the complexity and operational run-time overhead that entails, you can scale only the functionality which is a bottleneck. Today that increasingly means scaling out, not up.

We will go over open source technologies which allow the easy scaling out across distributed devices.

A live demo will allow the audience to participate with its devices (including mobile phones) in an application. (There will be prizes for the donors.)

The demo uses, an open source router for the open Web Application Messaging Protocol (WAMP) written in Python. WAMP supports routed Remote Procedure Calls, and uses these to implement various load-balancing strategies across endpoints which register a particular procedure.

WAMP has a first-class library for Python (Autobahn|Python), but is cross-language, with support for a total of 11 languages. This allows you to implement polyglot and heterogenos microservices applications, from Python to Node.js to C# right into the browser. Microservices can run anywhere, since the outgoing connections to the router which WAMP uses avoid NAT problems.

All software used is open source, and all demo code is provided on GitHub under the MIT license.

Improve this page