Tobias Oberstein - Scaling Microservices with Crossbar.io
Channel: EuroPython Conference
Date: 06/08/2016

Tobias Oberstein - Scaling Microservices with Crossbar.io
[EuroPython 2016]
[22 July 2016]
[Bilbao, Euskadi, Spain]
(https://ep2016.europython.eu//conference/talks/scaling-microservices-with-crossbario)

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 [Crossbar.io][1], an open souce application router
(written in Python), and all demo code is open source.

[1]: http://crossbar.io

-----

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,][1] an open source router for the open
[Web Application Messaging Protocol (WAMP) ][2] 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][3]), 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.

[1]: http://crossbar.io
[2]: http://wamp-proto.org
[3]: http://autobahn.ws/python