開発者向けの「コンテナネイティブなプラットフォーム」とは、どのようなソフトウェアで構成されているのか?[PR]

2017年11月27日


クラウドが企業の新たなIT基盤として定着しつつあるなかで、クラウドに最適化されたアプリケーション開発と運用環境として注目されているのがコンテナ型仮想化プラットフォームです。

コンテナ型仮想化は、開発、テスト、デプロイの全体をカバーする基盤となった

Dockerに代表されるコンテナ型仮想化の最大の特徴は、軽量でポータブルな点にあります。

Docker登場当初はこの特徴を生かして、開発者が用いるノートPCなどの開発環境におけるDocker環境から、アプリケーションをシームレスにテスト環境、本番環境へ投入できる点が重宝されました。

さらに、軽量な特徴を生かしたクラスタ構成でのコンテナ運用が注目されるようになり、クラスタのオーケストレーションツールとしてDocker SwarmやMesos Marathon、Kubernetesなどが登場します。

同時に、コンテナをクラスタ化した分散アプリケーションのあり方としてマイクロサービスアーキテクチャが浸透しはじめました。

現在では、コンテナを基盤とした新しいアプリケーション実行基盤のサーバレスコンピューティングの登場と活用がはじまっています。

そしてクラウドは、コンテナ型仮想化を活用する上で必要な、アプリケーションの開発とテスト、デプロイ、本番環境での運用まで、ライフサイクル全体をカバーする重要な基盤となりました。

そのためクラウド大手各社は、このライフサイクル全体をシームレスにカバーする製品やサービス群の拡充を進めています。

その代表的な企業のひとつがオラクルです。

Oracle OpenWorld 3日目の基調講演Oracle OpenWorld 2017で、コンテナネイティブなプラットフォームの発表を行うオラクル プレジデント 製品開発担当のトーマス・クリアン(Thomas Kurian)氏

「Oracle Container Native Application Development Platform」発表

オラクルはいまから1年以上前、2016年9月の「Oracle OpenWorld 2016」で、Docker対応のOracle Container Cloud正式リリースを発表。同時にDockerイメージのレジストリサービスであるOracle Container Registryも発表し、この時点でクラウドにおけるコンテナ対応を正式に開始しました。

Oracle Container Cloud

そこから1年後の今年10月に行われた「Oracle OpenWorld 2017」では、Oracle Container Cloudを発展させた「Oracle Container Native Application Development Platform」を発表します

Oracle Container Native Application Development Platformとはその名前の通り、コンテナネイティブなプラットフォームとして構成された、アプリケーションの開発、テスト、デプロイ、運用のアプリケーションライフタイム全体をカバーするソフトウェアやサービス群です。

fig

その主要なコンポーネントが、マネージドなKubernetesのサービスなどを提供する「Oracle Container Engine」と、全体をひとつのパイプラインとしてつなぐことで継続的インテグレーション/継続的デリバリ(CI/CD)を実現する「Oracle Container Pipelines」(サービス名:Wercker(ワーカー))、そして「Fn Project」ベースのサーバレスコンピューティングのランタイムサービスです。

マネージドKubernetesサービスを提供

コンテナを組み合わせてアプリケーションを実現するには、複数のコンテナをクラスタ構成で運用した場合の運用管理を司る仕組みであるコンテナオーケストレーションの機能が欠かせません。

このコンテナオーケストレーション機能を提供するソフトウェアとして事実上の標準とみなされているのがオープンソースで開発されているKubernetesです。

オラクルは今年の6月にKubernetesへの注力を表明。9月にはKubernetesの開発をホストする独立団体であるCloud Native Computing Foundationに加盟し、コンテナオーケストレーションツールとしてKubernetesを推進する立場を明確にしています。

Oracle Container Engineは、コンテナランタイムに加えてオーケストレーションツールのKubernetesをマネージドサービスとして提供するため、ユーザーは必要なコンテナをデプロイするだけで、運用をOracle Container Engineにまかせることができます。

fig

アプリケーションの構造を発展させ、サービスを提供する小さなソフトウェアが多数連係するマイクロサービスアーキテクチャとするには、サービス間をつなぐための複雑なルーティングの設定やトラフィックの管理、ロードバランシング、通信の暗号化や全体のモニタリングなど、ネットワーク関連のさまざまなサービスが求められます。

こうした機能はサービスメッシュと呼ばれます。

Oracle Container Native Application Development Platformでは、ここでもオープンソースで開発されているIstioを採用。マイクロサービスアーキテクチャの実現を支援します。

Wecrkerを使ってCI/CDのパイプライン

マイクロサービスアーキテクチャに対応したコンテナ基盤であるOracle Container Engineは、Restful APIなどを通じて代表的な開発ツールやオートメーションツールと連携できるようになっています。

代表的なのはビルドやデプロイの作業を自動化するJenkinsでしょう。

fig

オラクルには、このJenkisと同様にビルド、テスト、デプロイなど開発の一連の作業を自動化するサービス「Wercker」(ワーカー)があります。

Werkerの最大の特徴はコンテナネイティブなワークフローを構築できる点です。コンテナレジストリと統合することでコンテナイメージをワークフロー内で扱えます。

GitやSlackとの統合機能も備えており、柔軟なDevOps環境を構築可能です。

オラクルは2017年4月にこのWerckerを買収。「Oracle Container Pipelines」としてOracle Container Native Application Development Platformに組み込んでいます。

fig

サーバレスコンピューティング環境も発表

さらにオラクルはサーバレスコンピューティングを実現するオープンソースのプロジェクト「Fn Project」を、2017年10月のJavaOneで発表。Oracle Cloud上で商用サービスの提供も発表しました。

Fn ProjectがJavaOne 2017で発表Fn ProjectがJavaOne 2017で発表

同社クラウドのDockerコンテナとKubernetesを基盤に構築され、マネージドサービスとして提供されます。Fn Projectもコンテナネイティブなサーバレスコンピューティングとして開発されているとのことです。

オラクルはコンテナプラットフォームにおいて、DockerやKubernetesのように、事実上の標準やオープンソースとなっているテクノロジーを用いることを基本的な戦略としています。それがコンテナの軽量でポータブルな特徴を生かすためのプラットフォームの要件でもあるといえるでしょう。

そしてコンテナのテクノロジーはさまざまな面で発展途上です。今後も多くのソフトウェアが登場し、プラットフォームの進化や強化を支援していくことになると考えられます。

クラウドネイティブ開発などオラクルの最新テクノロジーを紹介するイベント、Oracle CloudWorld Tokyoの詳細はこちら

Oracle Cloud Platformの詳細はこちら

30日間無料トライアル

(本記事は日本オラクル提供のタイアップ記事です)

このエントリーをはてなブックマークに追加
follow us in feedly


≫次の記事
Visual Studioを、VSCodeのコード補完や文法チェックを実現するLanguage Server Protocol対応にする拡張機能が登場

≪前の記事
「VMware virtualization on Azure」に、VMwareは関わっていないしサポートもしていないと。VMwareがマイクロソフトを牽制


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



新着記事 10本


PR - Books


fig

fig

fig