IBMがKabaneroパッケージでWebsphere開発者をKubernetesに誘導

Table of Contents

IBMがKabaneroパッケージでWebsphere開発者をKubernetesに誘導

IBM は、現在オレゴン州ポートランドで開催中の O'Reilly Open Source Software カンファレンスで Kabanero プロジェクトを発表し、DevOps の人気プロジェクト Kubernetes に参入した最新の企業です。

Googleによって開発され、K8sという愛称で親しまれているKubernetesは、今日ではマイクロサービスのオーケストレーションに最適なプラットフォームです。しかし、Kubernetesは完全なPaaS(サービスとしてのプラットフォーム)ツールではありません。この事実と悪名高い複雑さから、Kubernetesを中心に数多くのプロジェクトが生まれ、不足している部分を補ったり、機能を抽象化したりすることで、より簡単かつ安全に利用できるようにしています。

IBM Cloud Developer Technologies のプロダクトマネージャー、ネイト・ジーマン氏によると、IBM のオープンソース プロジェクトは、「開発者が Kubernetes を使用する際の参入障壁を下げる」ことを目的としているという。

Kabanero はまったく新しいものではありません。IBM の熱心なウォッチャーなら、この数か月間にさまざまな部分が統合されつつあることに気づいているはずです。カンファレンスでの発表は、IBM が後援するこの取り組みの開始を示すものでした。

「設計者と運用担当者は、選択肢、標準、コンプライアンスの負担で過負荷になります。Kabanero は、企業が定義する技術標準とポリシーを満たしながら、Kubernetes 向けに構築されたアプリケーションの開発を加速します」とサイトは主張しています。

Kabaneroとは? それぞれが「気まぐれな」名前を持つ、数々のプロジェクトが集結する準備をしましょう。Kabaneroは複数のプロジェクトで構成されており、まずはK8s開発者のほとんどが馴染みのある3つのプロジェクトをご紹介します。

Istio : 負荷分散、ルーティング、アクセス制御、ログ記録などの機能を備えた、接続されたマイクロサービスを管理および監視するためのツール。

Knative : 主要機能を抽象化するソフトウェアコンポーネント。Knative には3つのコンポーネントがあります。Knative Build は、ソースコードの取得、ビルド、コンテナイメージへのパッケージ化の手順をオーケストレーションするためのものです。Knative Eventing は、イベント駆動型サービスを作成するためのものです。Knative Serving は、アプリケーションのデプロイと自動スケーリングのためのものです。

Tekton : K8s 上で実行され、K8s またはその他の環境にデプロイするための CI/CD (継続的インテグレーションと継続的デリバリー) パイプラインを作成するためのコンポーネント。

これら 3 つに加えて、Kabanero は次の新しいプロジェクトと最近のプロジェクトを追加します。

Appsody:ベースコンテナーイメージとプロジェクトテンプレートを含む、事前構成されたアプリケーションスタック。スタックとは、言語ランタイムやフレームワークなど、アプリケーションやサービスの実行に必要なすべてのものを指します。初期スタックは以下の5つです。

  • IBM の Open Liberty Java アプリケーション サーバーを使用する Eclipse MicroProfile。
  • Open Liberty と Pivotal の Spring フレームワークを組み合わせた Spring。
  • Node.js;
  • Swift(IBMのサーバーサイドKituraフレームワークを使用)
  • サーバーレス、つまり Open Liberty を使用して最初のタッチで起動するコンテナー。

Appsodyは、スタックを管理するためのハブとコマンドラインツールも提供しています。ハブ内のスタックを更新することで、既存のアプリケーションを更新できます。Appsodyの出力は、アプリケーションのコンテナーイメージです。AppsodyはTektonと統合できます。

Codewind : コンテナベースのコーディングのための開発者ツール。Codewind は Eclipse プロジェクトであり、Eclipse プラグインと Visual Studio Code の拡張機能の両方を提供しています。

Razee : 複数のクラスターにわたる K8s リソースのデプロイメントを自動化および管理するためのツール。Razee には、Kapitan と呼ばれる継続的デリバリーツールが含まれています。

Kabanero を使用する開発者は、組織の Appsody ハブからスタックを選択することから始まります。Eclipse または Visual Studio Code を使用している場合、スケルトンプロジェクトを含むすぐに使える環境が提供されます。

Kabanero を使用した開発者ワークフロー

Kabanero を使用した開発者ワークフロー

Kabaneroを構成する様々なコンポーネント・プロジェクトの中で、IBMの戦略の中核を担うのはおそらくAppsodyでしょう。初期のAppsodyスタックで中心的な役割を果たすOpen Libertyは、IBMのマイクロサービス向けアプリケーション・サーバーであるWebSphere Libertyと同じソースコードに基づいています。開発者がデプロイメントとスケーラビリティの課題を解決するためにKubernetesに注目する中、AppsodyとKabaneroは、開発者がIBMのスタックを維持し、IBMのクラウドや、おそらくRed HatのOpenShiftが稼働しているオンプレミス・サーバーへのデプロイメントを容易にするでしょう(少なくともIBMはそう期待しています)。

IBMはここでいくつかの課題に直面しています。一つは、AppsodyとKabaneroに対するIBMコミュニティーを超えたサポートを構築することです。Kabaneroはオープンソースですが、IBMの色合いが強く残っています。理論上は、オープンコミュニティーが積極的に参加し、多様なランタイムやフレームワーク向けに多数のAppsodyスタックを作成すれば、Kabaneroはベンダー中立の優れたツールになる可能性がありますが、そのようなサポートを得るのは困難です。

もう 1 つの課題は、K8s に魅力を感じる開発者が、デプロイメントのために Google Cloud Platform や AWS へ流れて行かないように説得することです。

Kabanero は本当に Kubernetes を使いやすくするのでしょうか?まだ初期段階ですが、紹介ビデオでは「Hello world」が実にシンプルに見えますが、実際のアプリケーションを開発、デバッグ、最適化するには、開発者がテクノロジーを深く理解する必要があります。

ほぼすべてのクラウドプロバイダーがK8sの使いやすさ向上に取り組んでおり、かなりの成功を収めています。IBMにとって、Kabaneroを通じて自社プラットフォームに新たな開発者を獲得するのは難しいでしょうが、IBM中心の開発者の忠誠心を維持するのに役立つかもしれません。®

Discover More