EuroPython 2016

Scaling Microservices with Crossbar.io

Speaker(s) Tobias Oberstein

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 Crossbar.io, an open source router for the open Web Application Messaging Protocol (WAMP) written in Python. WAMP supports routed Remote Procedure Calls, and Crossbar.io 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.

This presentation is online here

in on Friday 22 July at 11:15 See schedule

Do you have some questions on this talk?

New comment