Open Container Initiative (OCI) は今週、コンテナランタイムとイメージ仕様の最初のバージョンの完成を発表しました。 OCIは、Linux Foundationの後援の下で、コンテナ・ソリューションをサポートするための仕様と標準を開発するための取り組みです。 過去2年間、これらの仕様の構築に多くの努力が払われてきました 。それを念頭に置いて、過去2年間に生じたいくつかの神話を見てみましょう。
神話: OCIはドッカーの代わりです
標準は重要ですが、完全な本番プラットフォームにはほど遠いものです。 たとえば、ワールドワイドウェブを考えてみましょう。 過去25年間にわたって進化し、TCP/IP、HTTP、HTMLなどのコアで信頼できる標準に基づいて構築されました。 TCP/IPを例にとると、企業がTCP/IPを共通のプロトコルとして統合したとき、ルーター、特にシスコの成長が促進されました。 ただし、シスコは、ルーティングプラットフォームの差別化された機能に焦点を当てることで、市場のリーダーになりました。 OCI仕様とDockerとの類似点が存在すると考えています。
Dockerは、コンテナベースのソリューションを開発、配布、保護、および調整するための完全な本番プラットフォームです 。OCI仕様はDockerで使用されていますが、コードの約5%と、コンテナの実行時動作とコンテナ・イメージのレイアウトに関係するDockerプラットフォームのごく一部にすぎません。
神話: 製品およびプロジェクトはすでにOCI仕様に認定されています
ランタイムとイメージの仕様は、今週1.0としてリリースされました。 ただし、OCI認定プログラムはまだ開発中であるため、今年後半に認証が正式に展開されるまで、企業はコンプライアンス、適合性、または互換性を主張することはできません。
OCI 認定ワーキング・グループ は現在、製品およびオープンソース・プロジェクトが仕様への準拠を実証できるように、標準を定義しています。 標準と仕様はソリューションを実装するエンジニアにとって重要ですが、正式な認証は、使用しているテクノロジが本当に標準に準拠していることを顧客に安心させる唯一の方法です。
神話: DockerはOCI仕様の作業をサポートしていません
Dockerには、OCIへの貢献に関する長い歴史があります。 OCIコードの大部分を開発して寄付し、プロジェクトのメンテナとしてOCIランタイムおよびイメージ仕様の定義に尽力してきました。 2013年にオープンソースとしてリリースされた後、Dockerランタイムとイメージ形式がすぐに事実上の標準になったとき、断片化を回避し、イノベーションを促進するために、コードを中立的なガバナンス機関に寄付することが有益であると考えました。 目標は、信頼性が高く標準化された仕様を提供することで、Dockerはランタイム仕様作業の基礎として単純なコンテナ・ランタイムであるruncを提供し、後にOCIイメージ仕様作業の基礎としてDocker V2イメージ仕様を提供しました。
Michael CrosbyやStephen DayなどのDocker開発者は、この作業の最初から主要な貢献者であり、Dockerの数十億のコンテナ・イメージのホスティングと実行の経験がOCIに引き継がれるようにしています。 認定ワーキング・グループが作業を完了すると、Dockerは製品をOCI認定プロセスに通し、OCIへの準拠を実証します。
神話: OCI仕様はLinuxコンテナに関するものです
OCIはLinux Foundationの支援下にあるため、Linuxコンテナ・テクノロジにのみ適用できるという誤解があります。 現実には、Docker テクノロジは Linux の世界で始まりましたが、Docker はマイクロソフトと協力して、コンテナー テクノロジ、プラットフォーム、およびツールを Windows Server の世界に導入しています。 さらに、DockerがOCIに提供した基盤テクノロジーは、Linux、Windows、Solarisなどのマルチアーキテクチャ環境に広く適用でき、x86、ARM、IBM zSeriesをカバーしています。
神話: DockerはOCIへの多くの貢献者の1つにすぎませんでした
組織としてのOCIには、コンテナ業界の幅広さを代表する多くの賛助会員がいます。 とは言うものの、初期仕様を作成する努力に時間と技術を提供したのは、個々の技術者の小さいながらも献身的なグループでした。 DockerはOCIの創設メンバーであり、ランタイム仕様の基礎となる最初のコード・ベースと、後にリファレンス実装自体に貢献しました。 同様に、Dockerは、OCIイメージ仕様の基礎として機能するDocker V2イメージ仕様を提供しました。
神話: CRI-OはOCIプロジェクトです
CRI-Oは、Cloud Native Computing Foundation(CNCF)のKubernetesインキュベーターにあるオープンソース・プロジェクトであり、OCIプロジェクトではありません。 これは以前のバージョンの Docker アーキテクチャに基づいていますが、containerd は runc 参照実装を含むより大きなコンテナー ランタイムである直接 CNCF プロジェクトです。containerdは、イメージの転送と保存、コンテナの実行と監視、およびストレージとネットワーク接続をサポートするための低レベルの機能を担当します。Dockerは、Alibaba Cloud、AWS、Google Cloud Platform、IBM Softlayer、Microsoft Azureの5大クラウドプロバイダーの支援を受けて、複数のコンテナプラットフォームとオーケストレーションシステムのコアコンテナランタイムになるという憲章で、コンテナをCNCFに寄付しました。
神話: OCI仕様が完成しました
ランタイムとイメージ形式の仕様のリリースは重要なマイルストーンですが、まだやるべきことがあります。 OCIの最初のスコープは、開発者がコンテナの実行時動作に依存することができる狭い仕様を定義し、業界の断片化を防ぎ、進化するコンテナ・ドメインでの革新を可能にすることでした。 これは後に、コンテナー イメージの仕様を含むように拡張されました。
ワーキンググループが実行時の動作と画像形式に関する最初の安定した仕様を完了すると、新しい作業が検討されています。 将来の仕事のためのアイデアには、配布と署名が含まれます。 ただし、OCIの次に重要な作業は、最初の仕様が安定した今、テストスイートに裏打ちされた認証プロセスを提供することです。
OCIおよびオープン・ソースの詳細については、Dockerを参照してください:
- v1.0ランタイムおよびイメージ形式の仕様のOCIリリースに関するブログ投稿を読む
- Open Container Initiativeのウェブサイトをご覧ください
- モビープロジェクトのウェブサイトをご覧ください
- DockerCon Europe 2017に参加する
- OSS NAと一緒に モビーサミットLA に参加する