Serfの足りない機能を補うConsul 前回の記事の復習になりますが、Serf(https://serfdom.io)の主要な役割は、オーケストレーション(自動的に複数のサーバなどのインフラ上で処理すること)と、クラスタ上のメンバ管理です。 Serfを単純なツールとして見た場合は、オーケストレーションを簡単に行える便利なツールと言えるでしょう。しかし、実際の運用シーンを考えますと、次のような弱点が浮かび上がります。 メンバ管理はSerfエージェント間の通信正常性が基準であり、アプリケーションやミドルウェアの状況に応じた自動処理が行えない(サーバは稼働しているが、ウェブサーバやデータベースが停止するような状況) 何らかの状態を保持する仕組みがないので、冗長化の仕組みは自分で考慮する必要がある Serfクラスタとの通信には独自のCLIかAPIを使う必要があり、他のツールとの親和性が低い これ