[Erlang] Adopting Erlang (self-published) (free)

Announcing…

cover

Adopting Erlang is a collaborative effort between myself (Tristan), Fred Hebert and Evan Vigil-McClanahan. It is an ongoing effort to gather all the resources that will help you use Erlang in a business. The booksite is divided in three sections focusing particularly on Erlang/OTP’s higher level concepts in the current open source ecosystem, how to use it in production (while setting up a pipeline for continuous development and delivery), and how to build a team when you’re starting from scratch.

The booksite is currently a work in progress, and updates will regularly be posted, aiming for a chapter per month. You can come back here to check for new material, or follow the authors on social media to get notifications, at least until we add some RSS Feed in here.

As more chapters become available we will comment on this thread with an update, however here’s what we have planned so far:

  • Development
    • Supervision Trees
    • Dependencies
    • Umbrella Projects
    • Configuration
    • Documentation
    • Testing
    • Hard Things to Get Right
      • Unicode
      • Time
      • SSL
  • Production
    • Releases
    • Docker
    • Kubernetes
    • Operations
      • Remote access
      • Metrics
      • Logging
      • Tracing
  • Team Building
    • Who to Put on the Team
    • Repository Structures
    • Processes
    • How to Hire

Read it online here: http://adoptingerlang.org/

Comments and fixes for the text can be made on the repository https://github.com/adoptingerlang/adoptingerlang

51 Likes

Looks good Tristan :023:

Do you have a rough idea of chapters or what’s coming?

1 Like

Good question! I should have thought to put that in the original post :slight_smile: Some of the planned chapters are:

  • Development
    • Supervision Trees
    • Dependencies
    • Umbrella Projects
    • Configuration
    • Documentation
    • Testing
    • Hard Things to Get Right
      • Unicode
      • Time
      • SSL
  • Production
    • Releases
    • Docker
    • Kubernetes
    • Operations
      • Remote access
      • Metrics
      • Logging
      • Tracing
  • Team Building
    • Who to Put on the Team
    • Repository Structures
    • Processes
    • How to Hire
5 Likes

Thanks Tristan! I have updated the first post for you so it’s inline with our book threads and moved the thread to our #learning-resources:books section - hope that’s ok! :003:

1 Like

@tristan Thanks! Very nice writing style. I have a small question about https://adoptingerlang.org/docs/development/otp_high_level/ Figure 1 - why is there a boundary around some of the “Erlang/OTP release” components?

1 Like

The red boundary around applications in the OTP install is to group the applications included in the release. Not all of the OTP applications are included in the release, just those within that area.

2 Likes

We’ve published a few new chapters today. You’ll notice from the ToC I gave above that we are not going in order :slight_smile:

Supervision Trees: https://adoptingerlang.org/docs/development/supervision_trees/

Hard Things to Get Right: Only the sections on unicode and time currently, SSL is still in the works https://adoptingerlang.org/docs/development/hard_to_get_right/

Releases: https://adoptingerlang.org/docs/production/releases/

Chapters on Docker and Kubernetes are nearly ready as well as the chapter on dependencies.

4 Likes

The Docker chapter has been published: https://adoptingerlang.org/docs/production/docker/

Up next will be Kubernetes and a chapter on managing dependencies with rebar3.

5 Likes

The chapter on Dependencies has been published: https://adoptingerlang.org/docs/development/dependencies/

Get in loser, we’re going library shopping!

8 Likes

New chapter out today, on multi-App projects: why, when, and how to use them: https://adoptingerlang.org/docs/development/umbrella_projects/

It’s a short one, give it a read!

10 Likes

New chapter out today on Kubernetes: https://adoptingerlang.org/docs/production/kubernetes/

There are still sections to add and I’m sure places that more details could help, I’m hoping that publishing will lead to some feedback, so please give it a read and let us know what you think :).

Note the site is in a public repo, so you can open issues if you find something confusing or missing https://github.com/adoptingerlang/adoptingerlang

We are also on Slack. You can ping me on either Erlang or Elixir Slack.

4 Likes

Two new chapters out today:

Both of which are probably of interest regardless of the programming language used.

10 Likes

Hi, this material is extremely useful and valuable for newcomers to erlang that have previous experience with other languages. I hope you manage to find some time to enrich the book with testing and production operations like debugging, metrics, tracing etc.

Also from Docker if you click next you go straight to team building, whereas it should be Kubernetes!