Home ¦ Posts ¦ RSS

Hello Tsuru PaaS

Tsuru is an open source PaaS (platform-as-a-service) built on top of Docker which has been around for quite some time and can be freely installed on your own existing infrastructure.

The open source PaaS space is flourishing, with solutions like Deis and Flynn receiving attention and news coverage. Deis alone has a whopping 600 forks and 4000 stars on its main Github project at the time of writing.

At work we are breaking down a few monolithic applications into smaller services, and I strongly believe that using a PaaS is the only sane way to create a microservice-oriented architecture while keeping both operations people and developers happy.

Without a PaaS, the operative pressure generated by developers and their environments would be just unsustainable, given the higher release/deployment frequency that microservices usually impose. Not to mention the boredom of this kind of work for operations people. A PaaS scrapes away all of this friction, empowering developers within a framework controlled by operations teams.

Enter Tsuru

After doing some research, our operations team decided to create the PaaS infrastructure using Tsuru.

Tsuru was created and is maintained by a group of people working at Globo.com, which is one of the largest mass media group of Latin America. It powers Globo.com web properties and has been in production since 2012.

Tsuru.io website screenshot

We chose Tsuru over other other solutions mostly because of its simplicity and modularity. We really liked the idea of being able to plug a service to the platform without touching the core of the provisioning machinery. In other terms, you can easily add your own database, object store, queue implementation, and have your developers use them. And this is really easy.

Another requirement that we took into account was the availability of a deployment workflow based on git, which is in turn similar to what you can do with Heroku.

Auto-scaling of applications is also something that can save tons of resources. Tsuru supports it in a very simple but effective way.

Conclusions

Tsuru is being loved by the development team, and it has clearly marked one of those "points of no return" in our organization. There's no coming back from it.

The only question about this project is the little marketing and community engagement around it. Community engagement is one of the strongest signals to consider when embracing a new open source project as part of your core architecture is the. For us, that's Tsuru only weak spot at the moment.


Zato, a Pythonic ESB (Enterprise service bus)

Enterprise service bus (ESB for short), is an enterprise integration pattern you can use to interconnect and organize your services in any non-trivially sized environment. It can be particularly helpful when dealing with legacy systems with limited possibilities to develop new APIs and services.

Zato developers have done a very …

→ read more

High Performance Python review

I had been meaning to read this book for a while now. It is a nice collections of strategies to deal efficiently with CPU, memory and I/O related problems which you might encounter while writing Python applications. The amount of topics covered is good but not hyper-extensive, which on …

→ read more

© Giuseppe Ciotta. Built using Pelican. Theme on github.