Erlang OTP本おすすめ5選|GenServer・Supervisor・並行処理と耐障害性を実践で学ぶ

PR:この記事にはアフィリエイトリンクが含まれます。

Erlang OTPの本は、初学者向けの入門書からGenServerやSupervisorを扱う設計書まで幅広く、迷いますよね。まず見るべきなのは、言語の基礎を学ぶ一冊か、運用設計まで掘り下げる一冊かです。

ここでは初学者向けから耐障害性を深く学ぶ本、Elixir経由でOTPを実践する本まで紹介します。並行処理の考え方と各書の内容を見ながら、自分の課題に合う本を探していきましょう。

早見表

本主な内容参考価格
Programming Erlang (2nd Edition)Programming Erlang (2nd Edition)Erlang入門、GenServer、supervision tree—
Learn You Some Erlang for Great Good!: A Beginner’s GuideLearn You Some Erlang for Great Good!: A Beginner’s Guide入門、OTP、テスト、releaseUS$59.99(紙+電子書籍セット)
Erlang Programming: A Concurrent Approach to Software DevelopmentErlang Programming: A Concurrent Approach to Software Development並行・分散処理、OTP演習刊行時US$49.99
Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant SystemsDesigning for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems耐障害設計、release、拡張US$49.99
Mastering Elixir: Build and Scale Concurrent, Distributed, and Fault-Tolerant ApplicationsMastering Elixir: Build and Scale Concurrent, Distributed, and Fault-Tolerant ApplicationsElixir上のOTP実践US$50.99

表示価格は参考値です。実売額は時期や販売店、為替によって変わるので、注文時に販売ページで価格と在庫を確かめてください。

表の前半は入門からOTPへ進む本、後半は設計や実装を深める本です。Elixir本では同じBEAM上のOTP実践例を学べます。

言語の基礎とOTP設計、Elixirでの実装という目的ごとに眺めると、各書の役割がわかります。似た内容の本を重ねて買う心配も減るでしょう。

ErlangとOTP

Erlangは軽量なプロセスを多数動かし、メッセージを使って連携させる言語です。役割ごとのプロセスに状態を持たせる設計を得意とします。

OTPは標準ライブラリと設計上の約束事をまとめたもので、サーバーや監督役の動きを共通化し、業務ロジックに集中しやすくします。

常時動く接続やメッセージ処理を、部分的な故障が起きても動かし続けたい。そんなシステムを学ぶならErlangとOTPは有力です。並行処理の考え方も身につきます。

GenServerの位置づけ

GenServerは状態を持つプロセスの定番形です。初期化、同期呼び出し、非同期メッセージの入口が用意され、状態管理の流れを追いやすくなります。

たとえばチャットルームごとにプロセスを置けば、参加者一覧や直近のイベントを部屋ごとの状態として扱えます。更新を一か所に集められる一方、重い処理を抱えると詰まりのもとになります。

callback名を覚えるだけでなく、誰が状態を持ち、どのメッセージに同期応答するのかまで追うと、GenServerを使う理由を説明できます。

Supervisorの考え方

Supervisorは子プロセスの起動や再起動を管理し、子が落ちたときの戦略と回数を定めます。アプリ全体の回復方法をそろえる役目です。

one_for_oneなら落ちた子を個別に再起動し、one_for_allなら関連する子をまとめて起動し直します。プロセス同士の依存関係が強いほど、どの単位で束ねるかが重要ですね。

再起動設定だけで耐障害性が完成するわけではありません。落ちた状態を再構築できるか、外部への副作用を二重に実行しないかまで考える必要があります。

Armstrongの本

Joe Armstrongの第2版は546ページで、Erlangの基礎と並行処理を扱います。GenServerのcallbackやOTP application、supervision treeを取り上げ、分散実行とマルチコア処理にも触れます。

関数型や並行プログラミングの予備知識なしで読めるため、小さなプログラムから概念を積み上げたい初学者に合います。

2013年刊で対象はErlang R17です。プロセスやOTPの設計原理を学べる一方、最新の構文やビルド、release作成には現行ドキュメントも確認すると安心です。

Programming Erlang (2nd Edition)

Programming Erlang (2nd Edition)

Pragmatic Bookshelf

Amazonで見る

Hébertの本

Fred Hébertの624ページ本は、Erlangが初めての読者向けです。OTPの導入から有限状態機械やイベントハンドラへ進み、SupervisorとOTP applicationも扱います。

並行処理に加え、分散OTP applicationとreleaseも扱います。 EUnitやCommon Testの章もあります。

出版社直販のPrint Bookと電子書籍セットの参考価格はUS$59.99です。実売価格は時期によって変わります。入門からテストや配布まで一冊で追いたい人には、守備範囲が広く頼れるでしょう。

Learn You Some Erlang for Great Good!: A Beginner’s Guide

Learn You Some Erlang for Great Good!: A Beginner’s Guide

No Starch Press

Amazonで見る

並行処理を深掘る本

Francesco CesariniとSimon Thompsonの494ページ本は2009年刊で、中級から上級向けです。基礎を知って並行処理を深めたい読者におすすめします。

OTP behavioursを軸にGenServerやSupervisorの演習、applicationとrelease handlingを扱い、プロセスのエラー処理や分散Erlangへ進みます。

刊行時の参考価格はUS$49.99で、現在の実売額とは異なる場合があります。基礎と演習を深めるにはよい本ですが、入門書を探す人には難度が高めです。

Erlang Programming: A Concurrent Approach to Software Development

Erlang Programming: A Concurrent Approach to Software Development

O’Reilly Media

Amazonで見る

耐障害設計の本

Francesco CesariniとSteve Vinoskiによる482ページ本は、OTPで堅牢なシステムを設計・運用する中級者向けです。GenServerやbehaviourの基礎を踏まえて読み進めます。

supervision treeやapplication、releaseとアップグレードを扱います。分散アーキテクチャ、スケーリング、監視まで学べる内容です。

公式カタログ価格の目安はUS$49.99で、GenServerの実装に加えてプロセス分割や故障範囲の設計まで学びたい人におすすめします。

Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

O’Reilly Media

Amazonで見る

Elixirの実践書

Elixir経験者がBEAM上のOTPを実例から学べる574ページ本です。Erlangそのものの入門書とは対象が異なり、Elixirで開発している人に合います。

GenServerやGenStageに加え、supervision treeと障害回復も扱います。ファイルサーバーやPhoenixを取り上げ、クラウド展開と監視に進みます。

参考価格はUS$50.99です。すでにElixirを使っているなら本書を入口にし、Erlang本で基本設計を押さえてから読む人は比較しながら進められます。

Mastering Elixir: Build and Scale Concurrent, Distributed, and Fault-Tolerant Applications

Mastering Elixir: Build and Scale Concurrent, Distributed, and Fault-Tolerant Applications

Packt

Amazonで見る

古典と現行版

紹介したErlang本は2009年から2016年の刊行です。基本概念や監督ツリーは今も学べますが、依存管理や開発ツール、アップグレード手順は現行版と異なる場合があります。

コードを試すときは例の意図をつかみ、現在のOTPリリースノートや公式マニュアルで用語とAPIを確かめましょう。エラーが出たら文法かライブラリかツールのどこが原因か調べると、原因を特定しやすくなります。

Elixirもreleaseや監視の道具が更新されていきます。本で設計原理を学び、現行仕様を公式資料で確かめると、古典の良さを活かせます。

結論

初めてErlangとOTPを学ぶ人には、段階的に学べるProgramming Erlangと、テストやreleaseまで扱うLearn You Some Erlangをおすすめします。 入門用には後者が特に合います。

仕事でOTP設計や故障範囲を見直す人には、Designing for Scalabilityをおすすめします。 基礎と演習を深めたい読者には、Erlang Programmingが合います。

Elixirを現場で使う人にはMastering Elixirがおすすめです。価格は参考額と実売額が異なることもあるため、購入時に販売ページを確かめ、出版年と現行OTPの差を補いながら読んでください。

【2026年版】Amazonで買えるおすすめノートPCランキング!コスパ最強のモデルはこれだ
DELLのノートパソコンがテーブルの上に置いてある画像

Amazon の PC をスコア化してみた

Specsy Hub

Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。

タイトルとURLをコピーしました