Microservices are the new black, but what are they and why should you use them? This workshop's goal is to demonstrate the advantages of microservice architecture and teach you how to build your first production-ready Erlang microservice! Together we will build a simple distributed key-value store with a RESTful API and go over all aspects of an Erlang project (from build tools to scaling out our microservice).

 
1 favorite thumb_down thumb_up 9 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

In this workshop, you'll build a simple distributed key-value store with a RESTful API using Erlang.

We will cover to following topics:

  • what's a microservice?
  • microservice architecture
  • build tools
  • dependency management
  • code (Erlang)
  • tests (unit, functional, property)
  • code analyzers (Xref, Dialyzer)
  • documentation tools (EDoc)
  • deployment strategies
  • monitoring (availability, performance)
  • scaling (load-balancing, clustering)

Learning Outcome

After this workshop, you will understand the advantages of microservice architecture and should be able to build your own microservice.

Target Audience

Anyone interested in microservice architecture and in building a production-ready Erlang microservice!

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • madhavan
    By madhavan  ~  2 years ago
    reply Reply

    hi Louis, i am one of the participants in your workshop... is there a github repo, that has setup instructions for this workshop.....

    • Louis-Philippe Gauthier
      By Louis-Philippe Gauthier  ~  2 years ago
      reply Reply

      I moved the code to:

      https://github.com/lpgauth/ms

      This way each service is split in it's own repository. 

      • Pramode
        By Pramode  ~  2 years ago
        reply Reply

        Tried compiling the code just now on Ubuntu 14.04 (32 bit) - there is some problem with compiling eleveldb ... tested on a 64 bit system and it seems to work fine. From the gcc error log, it looks like the code will not compile on 32 bit systems. Are there any workarounds for this?

        • Louis-Philippe Gauthier
          By Louis-Philippe Gauthier  ~  2 years ago
          reply Reply

          Actually, I'll use HanoiDB. I'ts pure Erlang.

          https://github.com/krestenkrab/hanoidb

        • Louis-Philippe Gauthier
          By Louis-Philippe Gauthier  ~  2 years ago
          reply Reply

          can you try building this backend?

          https://github.com/basho/bitcask

        • Louis-Philippe Gauthier
          By Louis-Philippe Gauthier  ~  2 years ago
          reply Reply

          Oh, I don't think it will be easy to fix. I'll try to find another backend to replace eleveldb as a workaround.

    • Louis-Philippe Gauthier
      By Louis-Philippe Gauthier  ~  2 years ago
      reply Reply

      Code will be at:

      https://github.com/lpgauth/kv

      No instructions yet, work in progress.

  • Harisankar P S
    By Harisankar P S  ~  2 years ago
    reply Reply

    Is knowledge of erlang required to attend this workshop?

    • Louis-Philippe Gauthier
      By Louis-Philippe Gauthier  ~  2 years ago
      reply Reply

      I will explain most Erlang concepts, but knowledge of the syntax is expected.