今日は、開発者に焦点を当てたDockerストーリーの次の章を開始します。 この次の章を書く機会があるのは、私たちのコミュニティであるあなたのおかげです。 開発者への焦点は最近の歴史に基づいていますが、Dockerの始まりにも焦点を当てています。
初めは
Dockerの創設者であるSolomon Hykesが2013年にDockerプロジェクトを発表したとき、彼はDockerが解決しようとした問題を「開発者にとって、サーバーにコードを出荷するのは難しい」と簡潔に述べました。 これに対処するために、DockerはOSカーネルの複雑なコンテナプリミティブを抽象化し、開発者向けのCLIベースのワークフローを提供し、不変で移植可能なイメージ形式を定義しました。 その結果、開発者の作業方法が変わり、どのサーバーでもアプリの構築、出荷、実行がはるかに簡単になりました。 そのため、コンテナプリミティブは何十年も前から存在していましたが、Dockerはそれらを民主化し、次のように使いやすくしました。
docker run hello-world
残りは歴史です。 過去6年間で、Dockerのコンテナ化はマイクロサービスベースのアプリケーションの成長を促進し、開発チームがアプリケーションを何倍も速くリリースできるようにし、データセンターからクラウドへのアプリケーションの移行を加速させました。 Dockerのみの取り組みとはほど遠い、オープンソースと商用テクノロジーの活気に満ちたコミュニティエコシステムが生まれ、採用が合理化されました。 特に、Google のオーケストレーション テクノロジーである Kubernetes は、新しいレベルの規模で信頼性の高いコンテナ デプロイを可能にしました。 また、この間、DockerコンテナはLinux x86の始まりから、Microsoft WindowsやArmなどの他のOSやアーキテクチャで動作するように拡張されました。 コミュニティの取り組みを導くために、CNCF、OCI、CNABなどの新しいガバナンス組織が登場しました。 この市場が成長するにつれて、開発者コミュニティは Docker Desktop と Docker Hubを急速に採用し、数百万のコンテナ化されたアプリを共有し、数十億のアプリイメージをプルする数百万のアクティブユーザーに成長しました。
わずか6年でこれ以上のこと、そして最高のものはまだ来ていません。
今後の道のり
今後、Docker は、これらの基盤に基づいて、最新のアプリの開発者ワークフローを前進させることに重点を置いています。 実際のメリットに加えて、過去6年間は、複雑さが増し、選択肢が爆発的に増加し、ロックインの新たな潜在的な脅威も生じました。 これらの課題に照らして、Dockerとコミュニティエコシステムは、 Docker Desktop と Docker Hub のオープンスタンダード、機能、自動化ツール、クラウドサービスを拡張して、開発者が最新のアプリを構築、共有、実行できるように支援する機会があります。
ビルド。 6 年前は、ほとんどのアプリは 1 つまたは 2 つのコンテナーを使用してカプセル化できました。現在、クラウドネイティブのマイクロサービスベースのアプリは、多くのコンテナだけでなく、サーバーレス機能やホスト型クラウドサービスで構成されています。 この複雑さの増大に対処し、開発者がこれらのアプリの定義、構築、パッケージ化を簡素化できるように、Dockerはオープンソースフレームワークと、Docker Compose、Docker Apps、Dockerアプリテンプレートなどの開発者生産性ツールの機能を拡張し続けます。
シェア。2013 年には、摩擦のない、言語に依存しない共有可能なアプリケーション コンテンツは非常に限られていました。 現在、Dockerによって可能になった機能のモジュール化、 事実上 の業界標準としてのDockerコンテナの急成長、 およびDocker Hubのようなコミュニティ配布の場のおかげで、開発者は共有オープンソースおよび商用コンテナで自分で作成したコードを拡張できるようになりました。 しかし、より多くのパブリッシャーが毎日より多くのアプリをプッシュし(Docker Hubだけで500万以上)、新しいパッケージ形式の出現は、開発者を圧倒し、遅らせるリスクを冒しています。 Docker Desktop と Docker Hub は、アプリケーションに関連する新しいテクノロジをすばやく見つけるのに役立ちます。
走る。初期の頃、コンテナインフラストラクチャは開発者が広く利用できませんでした。 サーバー上で Docker コンテナー化されたアプリを実行するには、開発者は IT チームに Docker エンジンのインストールと、規模を拡大するために Kubernetes や Docker Swarm などのオーケストレーターのインストールを依頼する必要がありました。 そして、このコンテナインフラストラクチャを監視し、パッチを適用し、管理する必要がありました。
AWSやAzureなどのクラウドサービスプロバイダーパートナーが、個々のコンテナとマルチコンテナアプリケーションの両方にDocker互換のオンデマンドコンテナインフラストラクチャサービスを提供する今日まで早送りします。 これにより、開発者はスピードと俊敏性を得ることができますが、ロックインのリスクが伴います。 したがって、開発者がこれらのサービスの速度からさらに簡単に利益を得ることができるように、アプリの移植性とインフラストラクチャの選択をあきらめることなく、Docker Hubは開発者の「構築」および「共有」ワークフローを選択したクラウド「実行」サービスとシームレスに統合します。
乞うご期待
Dockerの初期の頃、私たちは開発者にとって物事を簡単にするというビジョンを共有していました。 過去6年間のDockerとKubernetes周辺のオープンソースおよび商用コミュニティの成長は、私たちが何かに取り組んでいることを示唆しています;-)。 しかし、私たちはまだ始まったばかりであり、やるべきことはまだたくさんあります。 この未来を前に、Dockerストーリーのこの次の章で優れたDockerチームを率いることは特権です。 そして、それは私たちが開発者コミュニティであるあなたと一緒に書くことを楽しみにしているものです。