SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2025 セッションレポート(AD)

コンテナで始めるIDP構築——開発者を支援するプラットフォームエンジニアリングとは?

【14-A-3】プラットフォームエンジニアの目線で見たコンテナ技術と活用方法を解説

  • X ポスト
  • このエントリーをはてなブックマークに追加

IDP構築のポイント(1):コンテナランタイム

 以下の図はIDPをKubernetesで構築した例だ。プラットフォームエンジニアは開発者と協議して、必要な要求を適用してプラットフォームを提供する。開発者はこのプラットフォームを活用して、アプリケーションをコンテナ化するだけで良い。

KubernetesをベースにIDPを構築したアーキテクチャの具体例
KubernetesをベースにIDPを構築したアーキテクチャの具体例

 「なぜコンテナがIDPの構築に適しているかと言えば、先に挙げたプラットフォームエンジニアリングの3つの目標と、コンテナのメリットがマッチしているからである」と語るのは、続いて登壇した同社の岡田雄真氏だ。

 「なかでも、デプロイが頻発するような開発環境においては、コンテナの『Quick Deployment(迅速なデプロイ)』や『Portability(可搬性)』『Consistency(一貫性)』といった特徴が効いてくる。また、バーチャルマシンと比較しても、コンテナはゲストOSのカーネルを必要としない分、オーバーヘッドが軽くなり、迅速に起動できるメリットがある」(岡田氏)

株式会社ジール クラウドマネージドサービスユニット・コンサルタント 岡田 雄真氏
株式会社ジール クラウドマネージドサービスユニット・コンサルタント 岡田 雄真氏

 次に、コンテナの内部構造について話が及んだ。

 コンテナを構築・操作する際に内部で実行されているソフトウェアを「コンテナランタイム」という。コンテナランタイムには、高レベルと低レベルがあり、それぞれ次のような役割がある。

  • 高レベルコンテナランタイム:コンテナイメージの取得や、コンテナネットワークやストレージの管理を行う。(代表例:CRI-O・containerd・Docker・libpod)
  • 低レベルコンテナランタイム:高レベルランタイムからの指示を受け、コンテナの作成や削除を実行する。(代表例:runc・kata-runtime・gVisor)

 まず、Kubernetesのようなコンテナオーケストレーションシステムと、高レベルコンテナランタイムがやりとりをする。その際のインターフェースとなるのが「CRI(Container Runtime Interface)」というKubernetes向けに標準化された規格である。

 次に、「OCI(Open Container Initiative)」というコンテナ技術の標準仕様を策定する団体が定めた規格に則り、高レベルコンテナランタイムが低レベルコンテナランタイムとやりとりを行う。

 そして最後に、低レベルコンテナランタイムが実際にコンテナの操作を行う。

 「Dockerがリリースされた当時は、『コンテナ=Docker』と評されるほど、Dockerは支配的なポジションを築いていた。しかしDockerはCRIに対応しておらず、Kubelet(Kubernetesのノード管理エージェント)がDockerエンジンとやりとりするには、Docker Shimという中間レイヤーが必要だった。他にもいくつかの課題もあり、Docker依存を解消するために進化してきたコンテナランタイムもある。このようにコンテナランタイムが進化すると、実運用ベースでの切り替えが発生することがあるため、プラットフォームエンジニアはトレンドをきちんと押さえておくことが重要だ」(岡田氏)

次のページ
IDP構築のポイント(2):コンテナオーケストレーション

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2025 セッションレポート連載記事一覧

もっと読む

この記事の著者

野本 纏花(ノモト マドカ)

 フリーライター。IT系企業のマーケティング担当を経て2010年8月からMarkeZine(翔泳社)にてライター業を開始。2011年1月からWriting&Marketing Company 518Lab(コトバラボ)として独立。共著に『ひとつ上のFacebookマネジメント術~情報収集・人脈づくり...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

篠部 雅貴(シノベ マサタカ)

 フリーカメラマン 1975年生まれ。 学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。 卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や商品まで幅広く撮影。旅を愛する出張カメラマンとして奮闘中。 Corporate website Portfolio website

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ジール

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21043 2025/03/26 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング