ブログ

オープンソーススポットライト: 自動スケーリング Mesos

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2017年9月25日公開

クラウドのおかげで、アプリケーションの自動スケーリングはスケーラビリティとほぼ同義になりました。 自動スケーリングをサポートできない場合、ほとんどの人の評価ではスケーラブルではありません。

クラウド、コンテナ、従来の環境など、あらゆる環境でのアプリの自動スケーリングは、複数のシステム間での特定のアクションの調整に大きく依存しています。 この調整は API を介して実現されます。 これらは、クラウド環境とコンテナ化環境の両方の基礎となります。

最近まで、Mesos を使用したアプリの自動スケーリングは、ほとんど手動で行われていました。 これは、モノリシック アプリケーションやレガシー アプリケーションのデプロイにコンテナを検討した Mesos ユーザーの半数以上 (51%) (調査による) にとってはおそらくうまく機能したと思われます。 しかし、スケーラビリティによるリソースの効率性と俊敏性の向上を目的として Mesos を採用する人にとっては、これは持続可能ではありません。 アプリをスケーリングするために手動の方法にフォールバックする必要がある場合はいつでも、人為的エラーのリスクがあり、トランザクションあたりのコストが増加する運用コストが発生します。 結局のところ、人々は無償で働くわけではありません。アプリのスケールアップやスケールダウンに時間を費やしていると、組織の成長と成功に不可欠な他のプロジェクトに取り組むことができなくなります。 また、クラウド環境やコンテナ環境にとって、トランザクションあたりのコストは重要な指標です。コストを抑えるには、その効率性が求められるからです。 取引あたりのコストが高くなると、実現される利益や生産性は低下します。 そして、どちらも今日ではビジネスの健全性を測る重要な指標となっています。

Mesos を早期に導入した企業のエンジニアであるGaurav Kumar氏は、オープンソースの姿勢に即した方法でこの課題に取り組み、システムを構築しました。 API とオープンソースにより、コミュニティや顧客がそのようなことを実行できるようになるからです。

自動スケーリング mesos f5

F5 BIG-IPを使用して Mesos 内のアプリの自動スケーリングを有効にするには、次の 2 つの既存のオープン ソース ソリューションが必要でした。

  1. F5 Container Connector for Marathon は、Marathon イベントをリッスンし、BIG-IP を適切に構成する役割を担います。 
  2. 既存のオープンソース プロジェクトであるBIG-IP エクスポーターからフォークされた BIG -IP メトリック用の Prometheus エクスポーター。BIG-IP から関連するテレメトリ (TCP 接続数、HTTP リクエスト数など) を収集します。

その後、クマールは、このソリューションの 3 番目の柱である「 DCOS/Marathon サービス用の F5 ベースの自動スケーリング コンポーネント」(「F5 Autoscaler」と呼ばれる) を開発しました。  

F5 Autoscaler コンポーネントは、F5 Exporter から統計情報を取得し、定義されたしきい値と比較します。 これらのしきい値のいずれかに達すると、F5 Autoscaler は DCOS マスターにスケーリング要求を送信してプール メンバーを追加します。 Marathon は、新しいコンテナ/アプリ インスタンスを展開し、F5 Container Connector for Marathon を介して BIG-IP に通知し、新しいプール メンバーで BIG-IP を構成することで、通常どおりにその要求を満たします。

出来上がり! 自動スケーリングアプリ。

このソリューションは、オープンソースによって組織がコストと市場投入までの時間を削減する以上のことを実現できることを示す素晴らしい例です。 実際のビジネス課題を解決するためのフレームワークを提供します。  

このスポットライトで取り上げられているオープンソース ソフトウェア: