Monolith First in Elixir with Umbrella Projects

Microservices are the hot new trend in the startup scene lately. If you’re building a new project should you start with a microservice architecture? Microservices tend to bring more overhead in devops, project setup, testing, and deployments. The problems solved by services aren’t technical; they’re political. If you have a small team, you’re much better off starting with a monolith than a service architecture. You shouldn't start a new project with microservices, even if you're sure your application will be big enough to make it worthwhile.


Elixir Design Patterns - The Pipeline

Functional programming is all about manipulating data and Elixir is no different. One of the main ways this is handled in Elixir is through the pattern that I call “The Pipeline”. The Pipeline is defined by a collection of functions that take a data structure as an argument and return the same type of data structure. We can see an example of this in two of the central pieces of a Phoenix application Plug.