DUICUO

傍観者からCTOへ: Cloud Foundry Foundationでの5年間

[51CTO.com クイック翻訳] 最近、Cloud Foundry プロジェクトがわずか 5 年でどれだけ変化したかについてよく考えるようになりました。

1 つの結論は、オープンソース エコシステムとエンタープライズ コンピューティング市場が 2015 年以降劇的に変化したということです。その結果、Cloud Foundry とそのより広範なエコシステムの共同開発により、両者は互いに異なる方向に進むようになりました。

これは私のキャリアの中で最も早い5年間であると同時に、最も長い5年間でもありました。

[[314820]]

Cloud Foundryの最初のアイデアは2009年にVMware社内で生まれました。プロジェクトが正式に発表されたのは2011年4月でした。このプロジェクトがまさに市場のニーズを満たしていたことを、私ははっきりと覚えています。発表されたプラットフォームは、アプリケーションの開発と展開を簡素化することを目指していました。その後数年間、私は製品が成熟していく過程(そして何度か所有者が変わること)を目の当たりにしました。2014年には、プラットフォームに統合された最初のサービスブローカーを作成し、コミュニティとのより緊密な関係を築くことができました。

2015年、現在オープンソースとなっているCloud Foundryプロジェクトを中心に、新興のオープンソースコミュニティが誕生しました。Cloud Foundry Foundationは2015年1月下旬に設立されました。この時点で、私の役割はオブザーバーからコミュニティ内のサービスプロバイダーへと変化しました。

基盤となるアーキテクチャの変更

このプラットフォームは、内部アーキテクチャと、プラットフォームを使用する開発者に提供する機能の両方において、2015 年以降大きな変化を遂げてきました。

Cloud Foundry Foundationは設立当初から、プラットフォームの基盤となるアーキテクチャの大幅な見直しに取り組んでおり、当初のRubyベースのコードベース(DEAアーキテクチャ)から新しいGoベースのアーキテクチャ(Diegoアーキテクチャ)への移行を進めていました。これは、成功させるのが最も困難なアーキテクチャ変更の一つでした。課題は新しいアーキテクチャそのものではなく、変革、つまり既存のアーキテクチャ内での新機能への相反する要求と、より不確実性の少ない新しいアーキテクチャへの要望にありました。私はこれまでのキャリアの中で、このような変革を数多く経験してきましたが、Cloud Foundryコミュニティで最も印象的な点の一つは、その変化へのアプローチです。

もちろん、オープンコラボレーションは混沌としたものになり得ますが、その結果、組織化された変革が実現し、下流ディストリビューションのエコシステムとエンドユーザーに移行を完了するための十分な時間を与えることができました。DEAアーキテクチャからDiego(およびそのすべてのサブシステム)への正式な移行は、Diegoバージョン1.0がリリースされた2016年11月に始まりました。この重要なリリースは、コミュニティに2つのことを示しました。1つは、機能面でDEAと同等であること、そしてもう1つは、一部の下流ディストリビューションが望んでいた25万コンテナという目標を達成したことです。

管理人と庭

Diego自身の開発と並行して、ノードレベルのコンテナ管理を担うCloud Foundryコンポーネントにも大きな変更が加えられました。DEAアーキテクチャでは、この部分はWardenと呼ばれるコンポーネントです。WardenはDockerより少なくとも2年ほど前から存在していますが、エンドユーザーが容易に利用できる技術ではありません。Diegoの開発と並行して、Wardenの補完的な書き換えも行われていました。この作業はGardenと呼ばれていました。

Gardenの設計は、ユーザーがオペレーティングシステムレベルのコンテナ機能をサポートするために、コードの最も低レベルの詳細を簡単に変更する必要があることを想定して、綿密に設計されています。Cloud Foundryコミュニティは、2015年という早い時期に、LinuxベースとMicrosoft Windowsベースの両方のホストをサポートするGarden実装を構築していました。基盤となるオペレーティングシステムレベルのコンテナ技術を変更できるこの能力により、Cloud Foundryプラットフォームは、DockerがOpen Container Initiative (OCI)に寄贈したrunCライブラリを採用することも可能になりました。実際、Cloud Foundryプロジェクトは(Dockerに次いで)runCを採用した2番目のプロジェクトであり、エコシステム全体にわたる本番環境レベルのクラスタでrunCを大規模に実行しています。

ディエゴはなぜ重要なのですか?

Diegoのリリースにより、新たな機能が可能になりました。コンテナ間ネットワークとボリュームサービスは、Diegoの開発成功後に最初に追加された2つの機能です。これらの2つの機能は、内部最適化(North-Southトラフィックの削減など)と見なすことができますが、開発者が強化された機能を体験するにつれて、その重要性は増しました。C2Cネットワーク機能により、より複雑なアプリケーション間ロジックが可能になりました。この時点で、Cloud Foundryはより広範なオープンソースネットワークの世界も受け入れ始めました。ボリュームサービスにより、プラットフォーム上でホストできるアプリケーションの種類が拡大し、運用者はアプリケーション開発者にネットワークアドレス指定可能なストレージデバイスのファイルシステムマウントを提供できるようになりました。

コンテナネットワーク

ネットワークの世界に戻ると、コンテナ間ネットワークは開発者にとって貴重な機能を豊富に追加しました。これはCloud Foundryコミュニティにとってのターニングポイントであり、サービスメッシュ分野における標準とプロジェクトの始まりを象徴しています。この取り組みは、コンテナベースのプラットフォームと基盤となるネットワーク層間の相互作用を容易にし、構成を簡素化する仕様であるContainer Network Interface(CNI)の採用から始まりました。次の段階は、2017年のEnvoyプロキシの採用でした。最近では、Cloud Foundryネットワークスタック全体で、クラスターのインバウンド/アウトバウンドおよびコンテナ間ネットワーク機能をサポートするために、Istio + Envoyがデフォルトコンポーネントとして使用されています。

Kubernetes + クラウドファウンドリー

最近、Cloud Foundryコミュニティは新たなオープンソースプロジェクト、Kubernetesを迎え入れました。これは、Pivo​​tal、Google、VMwareが共同開発したプロジェクトであるKuboの寄贈から始まりました。KuboはすぐにCloud Foundry Container Runtimeとなり、Elastic Runtime(従来のCloud Foundry PaaSとしてよく知られています)はApplication Runtimeに改名されました。これは、コミュニティにとって、Kubernetesを基盤となるコンテナオーケストレーションレイヤーとして採用するための次のステップを踏み出すために必要な自信を与えてくれました。

Eirini プロジェクトの目的は、Cloud Foundry クラスターがそのアーキテクチャ内で Kubernetes を使用できるようにし、最終的に Diego コードベースを置き換えることです。

過去5年間、コミュニティは数多くの変更や拡張プロジェクトを立ち上げてきたため、すべてを綿密に追跡することは困難です。一部のプロジェクトは、現在インストールされているCloud Foundryシステムの主要コンポーネントへと進化しました。一方で、ミッションを達成した後、財団の屋根裏部屋に追いやられたプロジェクトもあります。

変わらないものは何でしょうか?

過去5年間、特に強調すべき2つの点があります。それは、世界クラスのエンタープライズ開発エクスペリエンスを提供するというコミュニティのコミットメントと、プラットフォームの継続的な進化へのコミットメントです。この2つの当初の目標は「テクノロジー」そのものではなく、コミュニティの核となる精神です。私たちは、Cloud Foundryを利用する何千もの組織と、このプラットフォームにソフトウェアをデプロイする何千もの開発者を惹きつけるために、一貫して努力してきました。エンタープライズ開発者により良いサービスを提供する方法を常に学び、このエクスペリエンスを反復的に強化し、充実させています。また、より広範なオープンソースコミュニティから利用可能な最高のテクノロジーを活用し、アーキテクチャを継続的に改良しています。もちろん、これらの変更は慎重かつ細心の注意を払って行います。この進化によって、リリースを頻繁に行いながら、徐々に新機能を導入していくことができます。

大きな変化がありましたが、エコシステムを継続的に開発するという Cloud Foundry コミュニティの取り組みは変わりません。

原題: 傍観者からCTOへ: Cloud Foundry Foundationとの5年間の旅、著者: Chip Childers

[この記事は51CTOによって翻訳されました。提携サイトへの転載の際は、元の翻訳者と出典を51CTO.comとして明記してください。]