クラウドネイティブなアプリケーション開発を始めよう! 〜 すぐに試せるRed Hatのマネージドサービス 〜

こんにちは。Red Hatでソリューションアーキテクトをしている杉本 拓です。 先日行われたRed Hat Summit 2022 では、Red Hatが注力しているマネージドサービスに関するビジョンやロードマップ について発表がありました。また、Open Hybrid Cloud Week 2022 の私のセッション[「アプリケーション開発を効率化する!Red Hatミドルウェア製品とマネージドサービスの最新情報」]でもRed Hatのマネージドサービスを紹介をしています。 今回の赤帽ブログでは、そのRed Hatのマネージドサービスとしてどのようなものがあるのか、そしてそのマネージドサービスの始め方について紹介したいと思います。


Red Hat Cloud Servicesとは

Red Hat Cloud Services は以下の3つのカテゴリに分類されます。

  • Managed OpenShift (Platform Services)
  • Application Services
  • Data Services

Managed OpenShiftはマネージドのコンテナ基盤としてパブリッククラウドベンダーからも既に提供が開始されており、利用されているお客様も多くいます。ただクラウドネイティブなアプリケーションを開発していくためにはコンテナ基盤があればいいという訳ではなく、そのコンテナ基盤上でマイクロサービスを効率的に開発したり、APIを管理したり、イベント駆動型のアーキテクチャでサービス間の連携を疎結合にしたり、リアルタイムなデータ連携を行ってデータの利活用を行っていくことができるようなアプリケーション開発のためのプラットフォームというものが必要になってきます。

Red HatのApplication ServicesとData Servicesは、Managed OpenShiftの上で動作し、そのようなアプリケーションプラットフォームを実現するためにRed Hatが提供するマネージドサービスで、以下のサービスが含まれています。

Application Services:

  • Red Hat OpenShift API Management
  • Red Hat OpenShift Streams for Apache Kafka
  • Red Hat OpenShift Service Registry
  • Red Hat OpenShift Connectors

Data Services:

  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Database Access

図1: Red Hat Cloud Servicesの全体像


Red Hat Application and Data Servicesのご紹介

ではそれぞれのサービスについて概要を紹介したいと思います。

Red Hat OpenShift API Management

Red Hat OpenShift API Management はManaged OpenShift上で動作するRed HatマネージドのAPI管理サービスです。API管理の機能をOpenShift上ですぐに始められるので、APIファーストのアプローチとアプリケーションのマイクロサービス化を進めることができ、顧客により早くデジタルサービスの価値を提供し、それに関わる運用コストを削減することができるようなサービスです。 OpenShift API ManagementはRed HatのAPI管理製品である 3scale API Management をベースとしており、マネージドのOpenShift環境でOpenShiftのアドオンとしてインストールして、利用することができるようになっています。3scaleと同様に、API管理の設定を行うためのAPI Managerと実際にAPIのトラフィック制御が行われるAPI Gatewayの2つのコンポーネントに加えて、オープンソースのシングルサインプロジェクトである Keycloak をベースとした Red Hat Single Sign-on が含まれています。このAPI管理のインフラはRed HatのSREが運用管理を行いますので、利用者はAPI管理のインフラ運用から開放されてAPIで提供するビジネス的な価値にフォーカスすることができるようになります。

図2: Red Hat OpenShift API Management概要

Red Hat OpenShift Streams for Apache Kafka

Red Hat OpenShift Streams for Apache Kafka は、ストリーム処理をするアプリケーションのためのフルマネージドな Kafka のサービスです。データをバッチで処理するのではなく、リアルタイムなストリーム処理をするためにApache Kafkaの採用が進んでいますが、Kafkaのクラスタ環境を構築し、運用するのは複雑で面倒な点が課題です。このOpenShift Streams for Apache Kafkaのサービスでは、Kafkaクラスタがマネージドサービスとして提供されており、Red HatのSREがグローバルでサポートし、99.95%のSLAで提供されているので、利用者は運用コストを削減し、運用の複雑さを軽減することができるようになります。 このマネージドのKafkaとRed Hatのミドルウェア製品や他のマネージドサービスを組み合わせることで、オンプレミスやハイブリッドクラウド環境にまたがって大量のデータをリアルタイムに処理したり、データ連携を行うための基盤を構築することがすぐに実現できます。

図3: Red Hat OpenShift Streams for Apache Kafka概要

Red Hat OpenShift Service Registry

OpenShift Service Registry は、イベントのスキーマ情報やAPIの定義情報を一元管理することができるようにするためのマネージドサービスで、OpenShift API ManagementとOpenShift Streams for Apache Kafkaと組み合わせて利用することで、API管理やデータ連携を更に効果的に行うことができるようになります。 Service Registryを使うことのメリットとして、APIドキュメントとスキーマを一元的に管理できるので、サービスの再利用性を向上させ、アプリケーション開発のスピードを上げることができるという点があります。 もう一つのメリットは、スキーマエボリューション(スキーマの進化)への対応ができるという点で、アプリケーションの改修や機能追加に伴ってスキーマ定義を変更する必要性が出てくることがありますが、変更される前後でその互換性を考慮する必要が出てきます。このService Registryでは、Apache AvroやJSON Schemaなど主要な業界標準のフォーマットに対応してデータのバリデーションを行ったり、互換性のチェックを行って、スキーマエボリューションに対応することができるようになります。 Apache Kafkaをデータ連携のハブとして使用する場合、このスキーマエボリューションへの対応という点においてこのService Registryは非常に重要な役割を持っていますが、Red Hatではそれをマネージドサービスとして提供しており、OpenShift API ManagementあるいはOpenShift Streams for Apache Kafkaの付加サービスとして無料で利用可能になっています。

図4: Red Hat OpenShift Service Registry概要

Red Hat OpenShift Connectors

Red Hat OpenShift Connectors はOpenShift Streams for Apache Kafkaと連携して動作する、事前に定義済みのコネクターのマネージドサービスで、ハイブリッドクラウド環境でデータ連携をする際の複雑さを軽減し、Time to Marketまでの時間の短縮を実現することが可能です。 このコネクターのサービスは、オープンソースのプロジェクトである CDC (チェンジデータキャプチャ) の Debezium とサーバーレスなインテグレーション機能を提供する Camel K をベースとしています。OpenShift Streams for Apache Kafkaと接続するためのSourceコネクタとSinkコネクタが50以上用意されており、このコネクターサービスを利用することで、開発者はコーディングすることなく、セルフサービスでデータ連携の設定や削除を行うことができるようになります。 なお、この記事執筆時点の2022年6月では、まだサービスプレビューとしての提供です。

図5: Red Hat OpenShift Connectors概要

Red Hat OpenShift Data Science

Red Hat OpenShift Data Science はマネージドのOpenShift上で動作するマネージドのAI/MLのためのサービスです。オープンソースのAI/MLプロジェクト Open Data Hub をベースとし、データセンターからクラウド、エッジに至るまで、柔軟でスケーラブルなAI/MLの導入を進め、データサイエンスを行うための基盤となるマネージドサービスです。Jupyter NotebooksやTensorFlow、PyTorchのようなデータサイエンス関連のツールや機械学習のフレームワークが含まれているのですぐにデータサイエンスを始めることができますが、様々なISVパートナーのソフトウェアと組み合わせて、お客様のニーズに応じたAI/ML基盤を構築することが可能になっています。また、OpenShiftの機能を活用してインテリジェントなAIアプリケーションの開発プロセスを自動化することができ、AI/MLのライフサイクルのイテレーションを高速化することができるようになります。 また初期リリースでは対応していませんが、今後GPUアクセラレーションにも対応する予定です。

図6: Red Hat OpenShift Data Science概要

Red Hat OpenShift Database Access

Red Hat OpenShift Databases Access は、マネージドのOpenShift上でISVパートナーが提供するデータベースサービス、Database as a Serviceを利用することができるようにするためのサービスです。このDatabase Accessのサービスを利用することで、開発者はセルフサービスで利用したいデータベースへの接続を設定でき、アプリケーションの開発とデプロイを効率化することができるようになります。 なお、この記事執筆時点の2022年6月では、まだサービスプレビューとしての提供です。

図7: Red Hat OpenShift Databases Access概要


Red Hat Application and Data Servicesの始め方

Red Hatでは、このようにマネージドサービスの提供を通じてクラウドネイティブなアプリケーション開発をサポートしており、これらのマネージドサービスはトライアルで無料ですぐに試すことができます。クイックスタートガイドやチュートリアルも用意されているので、これらのマネージドサービスを実際にどのように使ったらいいのかも体験することができるようになっています。 トライアルを始めるには、Red Hat Hybrid Cloud Console にアクセスしてログインしてみましょう。Red Hatアカウントが必要になりますのでお持ちでなければ作成してからアクセスしてみてください。

Red Hat Hybrid Cloud Console にログインし、左のナビゲーションメニューで Application and Data Services > Overview を選択すると、利用可能なマネージドサービスの概要一覧が表示されます。各マネージドサービスのメニューを選択し、利用を始めることができるようになっており、各マネージドサービスにはチュートリアルも用意されているので、すぐに試すことができるようになっています。マネージドサービスにはManaged OpenShiftのアドオンとしてインストールされるものと専用のOpenShiftクラスタが作成されるものがあるため、サービスの種類によって利用方法が若干異なります。

図8: Red Hat Hybrid Cloud Console画面

Red Hatのマネージドサービスは、Red Hat Hybrid Cloud Console で管理することができるようになっており、以下のサービスについてはこの管理コンソールからインスタンスを作成して、すぐに始めることができるようになっています。

  • Red Hat OpenShift Streams for Apache Kafka
  • Red Hat OpenShift Service Registry
  • Red Hat OpenShift Connectors

なお、OpenShift ConnectorsはOpenShift Streams for Apache Kafkaに対するコネクターとして動作するため、以下の画面のようにOpenShift Streams for Apache KafkaのKafkaクラスタを作成する必要があります。

図9: Red Hat OpenShift Connectors設定画面

また、以下のマネージドサービスはOpenShiftのアドオンとしてインストールされるため、OpenShiftクラスタがまだ登録されていない場合には、Red Hat Hybrid Cloud Consoleの OpenShift管理画面 でOpenShiftクラスタを作成する必要があります。

  • Red Hat OpenShift API Management
  • Red Hat OpenShift Data Science

ただし、Red Hatが開発者向けに無償で提供する OpenShiftのDebeloper Sandbox環境 を使用すれば、自分でOpenShiftクラスタを作成しなくてもすぐにOpenShift API ManagementとOpenShift Data Scienceを始めることが可能です。

OpenShift API ManagementをDeveloper Sandbox環境で始めるには、こちらのリンク にアクセスし、[Launch your Developer Sandbox for Red Hat OpenShift API Management]のボタンをクリックしてSandbox環境を作ることができます(Red Hatアカウントが必要になります)。

図10: Red Hat OpenShift API ManagementのDeveloper Sandbox作成画面

OpenShift Data ScienceをDeveloper Sandbox環境で始めるには、こちらのリンク にアクセスし、[Launch your Developer Sandbox for Red Hat OpenShift Data Science]のボタンをクリックしてSandbox環境を作ることができます。

図11: Red Hat OpenShift Data ScienceのDeveloper Sandbox作成画面

Red Hat OpenShift Database Accessについては、左のナビゲーションメニューでOpenShiftを選択し、このOpenShift Database AccessサービスをインストールしたいOpenShiftクラスタを選択し、そのOpenShiftクラスタにアドオンとしてインストールを行います。詳細についてはこちらの オンラインマニュアル に記載がありますのでご参照ください。

図12: Red Hat OpenShift Database Accessの設定画面

OpenShiftのDeveloper Sandboxについて

OpenShiftのDeveloper Sandboxでは、上記のマネージドサービスを試すことができるだけでなく、ブラウザベースのIDEである Red Hat OpenShift Dev Spaces (旧Red Hat CodeReady Workspaces) も利用できるようになっており、Kubernetes/OpenShift上でクラウドネイティブなアプリケーションを開発するためのチュートリアルやサンプルが多数用意されています。ぜひRed Hatアカウントを作成して、クラウドネイティブなアプリケーション開発を始めてみましょう!

図13: Red Hat OpenShift Developer Sandboxの概要画面


以下の記事もぜひご参考にしてください。

rheb.hatenablog.com

rheb.hatenablog.com

rheb.hatenablog.com

rheb.hatenablog.com

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。