Aim of the talk: Show different ways how a developer can think about product.


Microservices and Serverless are all really cool Architectural strategies but if you are productive with monolith and don’t have any scaling or team organization issue stick with Monolith. Monolith is not dead.

You really need to have a good reason to reach for microservices / serverless and if you do I hope this talk will be helpful :)




Note: When it comes to Monolith a I’m fan of both good object oriented practices (e.g.: SOLID, object composition, abstractions …) and pragmatic principles as proposed by DHH (minimize abstractions, stick with conventions, …)

I’m fan of both “Majestic Monolith” and “FE / BE split with JSON API in the middle”

They all work, but team need to agree on one strategy form day one and stick with it. Changing your mind on how to develop stuff every other day is the true reason why your software is a mess.

Majestic Monolith Architecture

Object Composition Monolith Architecture

My articles related to this topic:

Note: I recommend every Ruby developer to try in depth Elixir and Phoenix framework. This will make you better OOP developer. Yes it’s a functional language but the way how processes work and send messages inbetween each other strangely mimics how messages are sent from one object to another in OOP languages.

Recommended paid resources:

Learning real OOP is a long road and requires some investment

Monolith with Bounded Contexts



Other monolith approaches

JWT Token






Ruby as FaaS:

AWS Lambda:


Please help request FaaS providers to support Ruby

Also please :+1 these discussions if you can:

Serverless on Kubernetes

If you want to be your own FaaS provider. And yes you can run Ruby.

Iron Functions

Iron Functions is an OpenSource FaaS platform that supports Ruby! Problem is that you either provision it yourself or you will pay for monthly provisioning to (It’s not pay for what you execute as AWS Lambda has)

Photos from the event