
モビリティネットワーク企業のLyftが、AWSやKubernetes、Envoyといったウェブサービスのインフラ技術をまとめて管理できる「Clutch」をリリースしました。これまで別々の管理体系だったインフラ技術を、ひとつのサービスから管理することができるようになります。
Clutch · An extensible platform for infrastructure management.
https://clutch.sh/
Announcing Clutch, the Open-source Platform for Infrastructure Tooling | by Daniel Hochman | Jul, 2020 | Lyft Engineering
https://eng.lyft.com/announcing-clutch-the-open-source-platform-for-infrastructure-tooling-143d00de9713
Clutchはウェブサービスを支えるインフラ技術の管理に焦点を当てたソフトウェア。インフラ技術の発展により、新しいインフラの導入はますます容易になっていますが、それぞれのインフラが使用する設定やツール、ログは独自のものであるため、インフラ管理そのものの規模を大きくしていくことが困難であったとのこと。そうした問題を解決できるのがClutchで、それぞれのインフラ管理をひとつのサービスに統合することで、インフラ管理を直感的かつ安全に行うことが可能になります。

Clutchのアーキテクチャは以下の通り。クラウドコンピューティングサービスや監視システムなどをGoによるバックエンドシステムが操作しており、Reactで開発されたフロントエンドはバックエンドとProtocol Buffersで連携しているとのこと。

Clutchを実際に利用した事例も紹介されています。例えば、AWS EC2 Auto Scalingグループのサイズを変更する場合、従来はAWSの管理画面やAWS用のコマンドラインを使用する必要がありました。
AWS EC2 Auto Scalingの設定変更をClutch経由で行うとこんな感じ。Clutchのフロントエンド画面でAuto Scalingグループのサイズ変更を選択して……

グループ名を入力して「CONTINUE」をクリック。

グループのサイズを変更して「RESIZE」をクリックすればOK。AWSの管理画面を使わずにAWSの設定変更を行うことができます。
このように、Clutchを利用すればインフラ管理をサービスごとの管理画面ではなく、すべてClutch上でまとめて行うことができるというわけ。
設定変更を誰がどのように行ったのかをSlackなどに通知することも可能。
インフラ管理が容易になることで、障害の迅速な解消やメンテナンス時の操作ミス防止、開発を容易にするプラットフォームの提供が可能とのこと。今後は監視用のダッシュボードやエスカレーション機能などが実装される予定です。
ClutchはGitHubにソースコードが公開されており、誰でも利用することができます。
GitHub - lyft/clutch: Extensible platform for infrastructure management
https://github.com/lyft/clutch


