/microservices-in-times-of-elixir

Microservices in times of Elixir

Primary LanguageElixir

Microservices in times of Elixir

Motivation

For Martin Fowler, "the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms."

This (public) repository is a personal exploration of monolith and service-based software architectures styles and how it can translate to the Elixir ecosystem. How hard or easy it is ? None of the code is meant to be working at any time or be put in production in any future. Basically, a draft notebook!

Application

The repository is a demo showcasing the deployment of the same application using differents architecture styles. Language requirements are full defined in the .tool-versions file. With asdf and just installed,

just # List all available commands
just install    # Install requirements & dependencies
just quality    # Check code quality
just test       # Run the tests
just docs       # Generate the documentation
just ready      # Is the application ready to commit?
just run        # Run the monolith application in development mode
just build      # Build the releases in production mode
just deploy app # Deploy the application
just remote app # Connect to the application

Documentations

Presentations

Presentations are available in the docs/ressources folder. Send me a DM if you want me to give the presentation IRL or online for you or your team.

  • Monolith or microservices ?, a 10-20 minutes presentation, comparing the monolith and microservices approaches during the developement/build/deployment phases of a project, is available under the form of a PNG with an embedded excalidraw.

Ressources

Personal notes about ressources are available in the docs/ressources folder.