Running an FI Ware Specific Enabler on Giant Swarm
TL;DR: Running webservices like PPnet - a simple social network - from the european FICONTENT project on Giant Swarm was no problem at all.
When looking for exciting use-cases for our microservice platform, one obvious candidate was Pixelpark, conveniently situated right here in beautiful Cologne. While we are working on multiple things together, one interesting project jumped out in the first meeting I had with Dirk Krause, head of PixelPark’s Innovation Lab. But first, we need a bit of background.
A few years ago, the EU started FI PPP, Future Internet Public Private Partnership. They started by looking at base technologies needed to run efficient Internet services in the future and enlisted companies in Europe to help them build a reference implementation. Additionally, the companies needed to build some basic tools that users could leverage. These are called: Generic Enablers.
As with any multi-year project of such magnitude, it was a bumpy ride, but they are now in the beginning of the third phase and all enablers are starting to be bundled in something call FI Ware. To make the onboarding easy, the conglomerate built something called FI Ware Lab, an AWS type hosting service on OpenStack, where everyone can get an account to build their future applications on the FI Ware stack. This stack includes those generic enablers as well as some specific enablers, which have been built in the second phase of FI PPP.
The specific enablers are tools, at best open source, that allow for other projects to build upon them. One such specific enabler has been developed and made available under open source license by Pixelpark. It's a proof of concept social network called PPNet that can now be used by anyone.
Theoretically, it should be easily deployable on FI Lab but that is sadly still problematic from an infrastructure perspective. Ever built an OpenStack Cluster? Ever built one in a conglomerate of companies? Ever made sure workloads could be moved easily between clusters by different providers? Enough said. Amazing idea if it works, and I seriously commend their effort sadly, having done numerous software projects, it feels like it is bound to fail from the outset, and this is no fault of the idea or the people, just one of structure and communication overhead that they can do nothing against.
What we saw directly though is that the goals of Giant Swarm and FI Ware Lab or even the FI PPP are very similar, in that we want developers to focus on their apps and give them the right infrastructure to easily start and quickly scale their service, while relying, wherever possible, on existing architecture templates to share.
Hence, we took a quick look, tried to put PPNet on Giant Swarm and it went smooth as butter.
With PPnet being a simple proof of concept, showing people that building social networking functionality into their apps is more than doable, it actually only takes a very simple swarm.json to configure your application:
And to get your own PPNet running, based on your own source-code with your own database all you need to do is a simple: `swarm up`. Go checkout the code for yourself.
And if you're more the visual type, we have a special video guide prepared for you.
If you would want to use PPNet as part of your own system now, you could just create other components around it and connect them through dependenkcies. If you are the maintainer of another specific or generic enabler, and maybe even have packaged it into a docker container already, you are very welcome to try it out on the swarm. In the survey you get after registration, simply add which project you are trying to deploy on Giant Swarm, and we will be happy to push you through registration a bit faster.