Dockerが4年前にソフトウェアコンテナを民主化して以来、エコシステム全体がコンテナ化を中心に成長し、この圧縮された期間に2つの異なる成長段階を経てきました。 これら2つのフェーズのそれぞれで、コンテナシステムを製造するためのモデルは、ユーザーコミュニティの規模とニーズ、プロジェクト、および成長するコントリビューターエコシステムに適応するように進化しました。
Moby Projectは、ソフトウェアのコンテナ化の動きを促進し、エコシステムがコンテナを主流にするのを助けるための新しいオープンソースプロジェクトです。 コンポーネントのライブラリ、それらをカスタムコンテナベースのシステムに組み立てるためのフレームワーク、およびすべてのコンテナ愛好家が実験してアイデアを交換するための場所を提供します。
今日の場所にたどり着いた経緯を確認しましょう。 2013年から2014年にかけて、パイオニアはコンテナを使用し、モノリシックなオープンソースコードベース、Docker、およびその他のいくつかのプロジェクトで協力して、ツールの成熟を支援し始めました。
その後、2015年から2016年にかけて、コンテナはクラウドネイティブアプリケーションの本番環境に大規模に採用されました。 このフェーズでは、ユーザーコミュニティは、数百のエコシステムプロジェクトと数千の貢献者に支えられた数万のデプロイをサポートするように成長しました。 このフェーズでは、Dockerは本番モデルをオープンコンポーネントベースのアプローチに進化させました。 このようにして、イノベーションとコラボレーションの両方の表面積を増やすことができました。
生まれたのは、パートナーエコシステムとユーザーコミュニティの成長を促進するのに役立つ新しい独立したDockerコンポーネントプロジェクトでした。 その間、Dockerコードベースからコンポーネントを抽出して迅速に革新し、システムメーカーが独自のコンテナシステム( runc、 HyperKit、 VPNKit、 SwarmKit、 InfraKit、 containerdなど)を構築するときにそれらを独立して再利用できるようにしました。
コンテナの波の最前線にいる2017年に見られるトレンドの1つは、コンテナが主流になり、コンピューティング、サーバー、データセンター、クラウド、デスクトップ、モノのインターネット、モバイルのあらゆるカテゴリに広がることです。あらゆる業界と垂直市場、金融、ヘルスケア、政府、旅行、製造。 そして、あらゆるユースケース、最新のWebアプリケーション、従来のサーバーアプリケーション、機械学習、産業用制御システム、ロボット工学。 コンテナエコシステムへの多くの新規参入者に共通しているのは、特定のインフラストラクチャ、業界、またはユースケースを対象とした特殊なシステムを構築することです。
企業として、Dockerはオープンソースをイノベーションラボとして使用し、エコシステム全体と協力しています。 Dockerの成功はコンテナエコシステムの成功に結びついており、エコシステムが成功すれば成功します。 したがって、私たちはコンテナエコシステムの成長の次の段階を計画してきました:コンテナを主流にするという約束を果たすためにコンテナエコシステムを拡張するのに役立つ生産モデルは何ですか?
昨年、お客様はLinux以外の多くのプラットフォーム(MacやWindowsデスクトップ、Windows Server、アマゾンウェブサービス(AWS)などのクラウドプラットフォーム、Microsoft Azure、Google Cloud Platformなど)でDockerを求め始め、これらのプラットフォームに特化した12のDockerエディションを作成しました。 これらの特殊なエディションを構築して出荷できるようにするには、比較的短い時間で、小規模なチームで、スケーラブルな方法で、車輪を再発明する必要はありません。新しいアプローチが必要であることは明らかでした。 コンポーネントだけでなく、コンポーネントのアセンブリを再利用してまったく異なる車を製造するという 自動車業界のアイデア を借りて、チームがコンポーネントだけでなくコンポーネントのアセンブリについても協力する必要がありました。
コンテナエコシステムを次のレベルにスケーリングしてコンテナを主流にする最善の方法は、エコシステムレベルでアセンブリで協力することだと考えています。
この新しいレベルのコラボレーションを可能にするために、本日、ソフトウェアのコンテナ化運動を推進するための新しいオープンソースプロジェクトであるMobyプロジェクトを発表します。 数十のコンポーネントの「レゴセット」、それらをカスタムコンテナベースのシステムに組み立てるためのフレームワーク、およびすべてのコンテナ愛好家が実験してアイデアを交換する場所を提供します。 Mobyはコンテナシステムの「レゴクラブ」と考えてください。
Mobyは以下で構成されています。
- コンテナ化されたバックエンドコンポーネントの ライブラリ (低レベルビルダー、ロギング機能、ボリューム管理、ネットワーキング、イメージ管理、コンテナ化、SwarmKitなど)
- コンポーネントをスタンドアロンのコンテナー プラットフォームにアセンブルするための フレームワーク と、これらのアセンブリの成果物を構築、テスト、およびデプロイするためのツール。
- Moby Originと呼ばれる参照アセンブリは、Dockerコンテナプラットフォームのオープンベースであり、Mobyライブラリまたは他のプロジェクトのさまざまなコンポーネントを使用するコンテナシステムの例です。
Mobyは、Dockerやその他のコンテナプラットフォームを使用できるアプリケーション開発者向けではなく、独自のコンテナベースのシステムを構築したいシステムビルダー向けに設計されています。 Moby プロジェクトの参加者は、Docker から派生したコンポーネントのライブラリから選択することも、コンテナーとしてパッケージ化された "独自のコンポーネントを持ち込む" (BYOC) を選択し、すべてのコンポーネントを組み合わせてカスタマイズされたコンテナー システムを作成することもできます。
Dockerは、MobyプロジェクトをオープンR&Dラボとして使用し、実験、新しいコンポーネントの開発、およびコンテナ技術の将来に関するエコシステムとのコラボレーションを行っています。 私たちのオープンソースコラボレーションはすべてMobyプロジェクトに移行します。 Dockerは、コンテナの構築、出荷、実行を可能にするオープンソース製品であり、今後もそうであり続けます。 ユーザーの観点からはまったく同じままです。 ユーザーは引き続き docker.com Web サイトから Docker をダウンロードできます。 Docker と Moby のそれぞれの役割の詳細については、Moby の Web サイトを参照してください。
ソフトウェアコンテナを主流にし、コンポーネントとアセンブリで協力することでエコシステムとユーザーコミュニティを次のレベルに成長させるためにご参加ください。
Mobyプロジェクトの詳細については、以下をご覧ください。