OCIが指し示すクラウドネイティブへの道筋

2024年2月1日(木)
Think IT編集部
提供:日本オラクル株式会社

OCI (Oracle Cloud Infrastructure)には、クラウドネイティブを実現するための数多くのサービスが用意されている。2023年12月11日〜12日に開催された「CloudNative Days Tokyo 2023」のセッションでは、日本オラクル株式会社 ソリューションアーキテクトの市川豊氏が登壇。コンテナアプリケーション開発を主軸に、「IaC(Infrastructure as Code)」、「Kubernetes」「DevOps」「Observability」 といった機能に焦点を当て、 OCI のクラウドネイティブサービスとアーキテクチャの解説が行われた。

クラウドネイティブにも注力するOCI

「OCIは、開発、実行、スケール、モダナイズのためのすべてのサービスを提供しており、インフラ、プラットフォーム、SaaSを単一のクラウドで実現するクラウドサービスです。コンピュートからコンテナといったクラウドネイティブな技術、サーバレス、AIや機械学習、データレイク等、多彩なワークロードを実現する豊富なサービスが用意されています」と強調するのは、日本オラクル ソリューションアーキテクトの市川 豊氏(写真)だ。そうした機能拡充に加え、規模の拡大も継続的に実施しており、現在、OCIは23か国46のパブリックリージョンでサービスを提供、さらに今後は6つのリージョンが新規に追加される計画だ(2024年1月時点では、48のパブリックリージョン、今後4つのリージョンを計画)。

写真:日本オラクル株式会社 クラウド事業統括 クラウド・エンジニアリング統括 COE本部 ソリューション・アーキテクト部 プリンシパル ソリューション・アーキテクト 市川 豊氏

そしてOCIは、昨今の企業・組織におけるクラウドシフト・リフトに対するニーズを捉え、クラウドネイティブなシステム、アプリケーションの構築・運用を支援するサービス群の強化も進めてきた(図1)。セッションでは「IaC」「コンテナ」「DevOps」「オブザーバビリティ」にフォーカスし、そのサービスの特長と優位性が説明された。それぞれについて、見ていこう。

図1:OCIのクラウドネイティブサービス

IaCツールのTerraformをOCI上に実装

「IaC」はInfrastructure as Codeと名が示すように、「ITシステムにおけるインフラストラクチャの状態を、人手を介した手順の羅列としてではなく、ソフトウェアによって実行可能なコードの形で記述するもの」といわれる手法である。サーバやネットワーク等のインフラの構成を、プログラムのようなコードで記述することにより、構成の管理、プロビジョンニングを可能とするものだ。

そのメリットには、作業の省人化と効率化によるコスト削減をはじめ、コード化による高度な品質管理、そして、DevOpsとの連携によりソフトウェアとインフラを組み合わせ、開発からテスト、インフラのセットアップに至る一連の工程を自動化し、効率的に管理できるようになることが挙げられる。

このIaCを可能とするものが、HashiCorp 社が開発したオープンソースのインフラ自動構築ツール「Terraform」だ。Terraform の特長は、構築したいインフラの構成をHCL (HashiCorp Configuration Language) という専用の宣言型の設定言語で定義し、ターミナルからコマンドを実行するだけで、自動的にインフラのプロビジョニングや効率的なインフラ構成管理を実現できること。そしてOCIでは、IaC機能を提供するため、Terraformの実行エンジンをOCI上に実装し、OCIに特化したTerraformのマネージドサービスとして、「OCI Resource Manager」を提供(図2)。市川氏はスタンドアロン版Terraformとの比較を行いながら、「同サービスを利用することにより、人手による煩雑なTerraformのStateファイル管理が不要になるほか、リソースの操作権限の管理、そして複数のStateファイルの一括管理も可能となります」と説明する。

図2:スタンドアロンでTerraform を利用する場合の課題を解消するOCI Resource Manager

コンテナの運用管理を高度化するサービスも拡充

近年、コンテナは、クラウドネイティブなアプリケーションの開発に必要不可欠なものとなっており、そのオーケストレーションツールとしてKubernetesの活用も広がっている。OCIでは、Kubernetesをサービスとして提供する「Oracle Container Engine for Kubernetes(OKE)」 、また、コンテナをサービスとして利用可能とする「OCI Container Instances」を提供している。

OKEの特長は、高性能なインフラによる分散アプリケーション環境や冗長構成の自動化により、エンタープライズ品質の性能と可用性を提供可能であることだ。市川氏は、「OKEは、OCIの高性能なIaaS 上に構築されており、確実な性能を提供しています。例えば、各ホスト間は低遅延かつ広帯域のネットワークで接続されており、ボトルネックの無いインフラを実現。大規模な数のコンテナのデプロイメントにおいても、ネットワークの性能劣化による品質低下を確実に防止することが可能です」と語る。加えて、物理障害に対する耐障害性を高めていることもその優位性の1つだという(図3)。

図3:物理障害に対する耐障害性をマネージド機能により確実かつ容易に実現

また、マネージド環境として、コンテナの実行ホストを提供する「ワーカーノード」の柔軟な管理を可能とする「Managed Nodes」や、オプション機能としてワーカーノードの管理さえも不要とする「Virtual Nodes」も用意。

Managed Nodesでは、ワーカーノードの各ノードにSSH ログインして柔軟な管理を可能とするほか、「Cluster Autoscaler」機能を利用することで、自動ノードスケールを行うこともできる。このほか、永続化ではOCI Block Volume、File Storageとの連携も可能であるほか、AMD以外の仮想マシンインスタンスを利用することもできる。

Virtual Nodesでは、ワーカーノードに対するセキュリティパッチやトラブルシューティングなどのメンテナンス負荷をなくして、ステートレスなコンテナアプリケーションをスケーラブルに利用できる(図4)。

図4:ワーカーノードの管理を不要とするVirtual Nodes

OCI Container Instancesは、先に述べたようにコンテナをサービスとして提供する。つまり、コンテナのインフラ管理が不要で、サーバレスによるコンテナ実行環境を実現する。ユーザーによるパッチ適用、トラブルシューティングといったインフラレイヤーの管理を不要とし、コンテナを即座に実行可能、さらにセキュアに分離、最適化されたコンテナ実行環境が提供されていることも大きな特長だ(図5)。

図5:インフラ管理不要(サーバレス)のコンテナ実行環境 Container Instances

「ユーザーはコンテナイメージを指定するだけでよく、あとはOracle Managedによってコンテナランタイム、仮想マシン、物理マシンが実現されます。一般的に仮想マシンに必要となる、OS管理やアップグレード等の作業を行わずに済むようになることがポイントです」と市川氏は説明する。

DevOpsを加速させるCI/CDにも対応

市川氏は、OCIで実現するDevOpsについても言及する。クラウドネイティブに必要な要素の1つに、ソースコードの変更を契機に、自動的なビルド、テスト、そしてステージング環境、および本番環境へのデプロイといった一連のフローを自動化する「CI(Continuous Integration:継続的インテグレーション )」と「CD(Continuous Delivery:継続的デリバリー)」がある。このCI/CDをOCIで実現するサービスが「OCI DevOps」だ(図6)。

図6:OCI DevOpsの全体イメージ

コード管理をはじめ、ビルド・パイプライン、アーティファクト管理、デプロイメント・パイプラインから構成される各機能を用い、エンドツーエンドの開発・運用プロセスを実現する。また、OCIネイティブであることから、コンピュートだけでなく、先述したOKE、そして、FaaS(Function as a Service)のプラットフォームである「OCI Functions」 環境とのスムーズな連携が可能だ。さらに、コンテナイメージであればOCI Registry、jarファイルのようなアーティファクトであればArtifact Registryサービスといったアーティファクト管理の連携も行える。そのほかにも、GitHub、GitLab、Bitbucketといった外部システムのコードリポジトリとシームレスに連携できる点も特徴だ。

OCI DevOps のトリガー機能を利用し、コードリポジトリへのイベントをトリガーにビルド・パイプラインを自動実行する工程がOCI DevOpsにおけるCIであり、デプロイメント・パイプラインと連携して対象となるアプリケーションを自動デプロイする工程がOCI DevOpsにおけるCDである。この一連のパイプライン連携をUIおよびCLIで構築、管理を行える。

オブザーバビリティの実現によりシステムの可観測性と分析を強化

近年、システムの安定的な運用を維持するための考え方として注目を集めているものに、「オブザーバビリティ」(Observability:可観測性)がある。これは、主に「メトリクス」「ログ」「トレース」といったデータを収集、分析を行い、システムに生じている状況をリアルタイムで把握することを可能にするものだ。これらのデータを収集しオブザーバビリティを実現するためのサービス群もOCIでは提供されている(図7)。

図7:オブザーバビリティを実現するOCIのサービス

メトリクス収集に該当するものは、「OCI Monitoring」だ。メトリックおよびアラーム機能による、OCI リソースをアクティブおよびパッシブに監視。「例えばあらかじめ設定したCPUやメモリの使用量の閾値を超えたらアラートをあげたり、OCI Notifications(OCIにおける通知専用サービス)と連携しメールやSMS、Slackなどのメッセージサービスを使用して関係者に通知させたりすることも可能です」と市川氏は説明する。

ログに該当するものが、「OCI Logging」で、「監査ログ」「サービスログ」「カスタムログ」といった3種類のログ生成と管理を実現。また、拡張性に優れるとともに、完全に管理された一元的なビューを提供することに加え、テナント内の全てのログにアクセスすることも可能だ。

複数のサービスの間でやり取りされる処理を可視化する、「トレース」を実現するものが「OCI Application Performance Monitoring」である。アプリケーションのパフォーマンスを可視化するとともに、サーバおよびユーザー側からの問題の根本的原因を分析することを支援する。「分散トレーシング」をはじめ、「合成モニタリング」「リアル・ユーザー・モニタリング」「サーバー・モニタリング」を用意しており、様々な側面からの可視化を実現する。

「なお、近年では、オブザーバビリティの実現にあたっては、これまで説明してきた3要素だけでは不十分であり、『プロファイル』『例外』『イベントデータ』などについても取得する必要があると言われています。現時点でOCIはこれらのデータを取得するためにオープンソースソフトウェアの利用を検討する必要があります。」と市川氏は補足する。

これまで説明してきたように、OCIはクラウドネイティブを加速させるための様々なサービスを提供する。さらに最近では、フルマネージドのキャッシングサービスである「OCI Cache with Redis」や、高可用性とストレージのオートスケールを兼ね備えたマネージド型のPostgreSQL サービス「OCI Database with PostgreSQL」の提供も開始されている。

最後に市川氏は、「OCIには30日間無料トライアル版が用意されているので、まずはトライアル版を試用して実際の操作を体感してもらえたらと思います。併せて、OCI に関する様々なチュートリアルも用意されているので、ぜひご活用ください」と述べ、セッションを締めくくった。

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

セキュリティイベント
第9回

CloudNative Days Tokyo 2023から、業務でのOSSコントリビューションのありかたとKeycloakについて解説したセッションを紹介

2024/2/28
CloudNative Days Tokyo 2023から、OSSコントリビューションを企業の業務として成立させるために必要なことを解説したセッションを紹介します。
クラウドイベント
第8回

CloudNative Days Tokyo 2023から、ドコモのAPI基盤のGKE移行とSysdig採用の事例を紹介

2024/2/26
CloudNative Days Tokyo 2023から、NTTドコモのAPI基盤RAFTELのGKEへの移行とSysdig採用の事例を解説したセッションを紹介する。
セキュリティイベント
第7回

CloudNative Days Tokyo 2023から、クラウドネイティブセキュリティの脅威や論点を紹介

2024/2/19
CloudNative Days Tokyo 2023から、クラウドネイティブに関するセキュリティの脅威や論点を解説したセッションを紹介します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています