メインコンテンツにスキップ
ブログコンピュート複雑さをスキップ:Akamai App Platform が Kubernetes を本番環境に対応 - 現在 GA を実施中

複雑さをスキップ:Akamai App Platform が Kubernetes を本番環境に対応 - 現在 GA を実施中

MP-55222 ブログヘッダーとソーシャル画像_ブログヘッダー_1920x1008

Kubernetesはプラットフォームを構築するためのプラットフォームだ。しかし、Kubernetesプラットフォームエンジニアリングの取り組みは、必ずしも成功が保証されているわけではない。しかも、当初の予算を超える可能性も十分にある。なぜか?Kubernetesベースのプラットフォームを構築するのは簡単なことではないからだ! 

プラットフォームエンジニアリングには、セットアップやメンテナンスに圧倒され、時間のかかるさまざまなツールやテクノロジーが含まれる。その結果、プラットフォームチームはプラットフォームの技術的な側面に集中することになり、プラットフォームが提供するはずだった価値(開発者の認識負荷を下げ、シャドウ・プラットフォーム化を防ぐ)を見失ってしまうことがよくある。

Kubernetesベースのプラットフォームの設計(0日目)、構築(1日目)、そして保守(2日目)にかかる時間を短縮し、代わりに20分以内にすぐに使えるプラットフォームを提供できるとしたらどうでしょう?破壊はここにあります。Akamai App Platform を GA に導入すれば、LKE クラスターを Akamai App Platform でプロビジョニングし、コンテナ化されたアプリケーションの構築、デプロイ、セキュリティ保護、監視、管理を 20 分以内に開始できます。追加費用は一切かかりません!

Akamai App Platform とは何ですか?

Akamai App Platform は、オープンソースの Kubernetes プロジェクトを高度に統合および事前設定したスタックであり、ボタンをクリックするだけで有効にすることができます。 

この2つの側面をもう少し掘り下げてみよう。

オープンソースのKubernetesプロジェクトが統合され、事前に構成されたスタック

Kubernetesだけでは空のデータセンターのようなものだ。Kubernetesクラスターをスピンアップし、kubectl applyコマンドを実行してすべてのアプリケーションをデプロイするような単純なものであればいいのだが。観測可能性、ネットワークの暗号化、ポリシーの強制、ストレージ、ネットワークポリシー、ネットワークゲートウェイ、秘密管理、GitOps、自動化、そして独自のオペレーターの構築などだ。 

仕事に適したツールを選択し、それらのツールを学び、仕事ができるように設定するのは時間のかかる仕事だ。また、これらのツールに依存関係があり、連携する必要がある場合は、さらに複雑になる。そのため、初期設定の作成に少なくとも6ヶ月を費やす企業も見られます。

Akamai App Platform では、Kubernetes プラットフォームに必要な機能のほとんどすべてについてツール(オープンソースソフトウェア)を選択し、統合フレームワークを使って組み合わせました。フレームワークに追加されたツールは、他のツールと組み合わせることができます。連鎖したツールは、継続的デリバリー・パイプライン、カスタマイズされたK8sランタイム、GitOpsデプロイメント・パターンを提供する。 すべてのツールは、最も一般的なユースケースをサポートし、スムーズなユーザーエクスペリエンスを提供するようにあらかじめ設定されている。使用されているツールはほとんどすべて、CNCF の Graduated Projects および Incubating Projects で、安定したものとみなされ、本番環境でうまく使用されています。Akamai App Platform で最もよく使用されているツールは、Harbor(コンテナレジストリサービス)、Argo CDGitea(GitOps 用)です、 Prometheus(メトリクス)、Kyverno(セキュリティポリシー)です。

簡単な開発者のセルフサービス

必要な機能をすべて設定すると、プラットフォーム管理者は Akamai App Platform で「Team」と呼ばれるものを作成できます。Team は、プラットフォーム上で孤立したテナントです。チームのメンバーはセルフサービスポータルにアクセスし、ソースコードリポジトリの登録、コンテナイメージのビルド、イメージのデプロイ、シークレットの作成、アプリケーションの公開、ネットワークポリシーの作成、共有プラットフォーム機能へのアクセス(ログ、メトリックス、トレースの参照)を行なうことができます。セルフサービス・フォームは、プラットフォーム・エンジニアリングの経験が浅い開発者でも、Kubernetesを使い始めるための低いエントリー・レベルを提供する。

しかし、セルフサービス・ポータルの最も強力な機能の1つは、カタログでしょう。カタログは、開発者がアプリケーションのデプロイに使用できるゴールデンパス・テンプレートのコレクションです。App Platformの初期インストール時に、カタログにはデプロイメントを作成するためのテンプレートがあらかじめ用意されています。Redisクラスタ、PostgreSQLクラスタ、RabbitMQクラスタをデプロイできます。あらかじめ用意されているテンプレートをカスタマイズしたり、組織固有のテンプレートに置き換えたりすることもできます。これにより、ベストプラクティスを共有し、アプリケーションのデプロイ方法を標準化することができます。

建築

Akamai App Platform は、GitOps と Configuration as Code (CaC) の原則の組み合わせに基づいています。GitOps は、インフラ アプリケーションの両方のデプロイメントにおける単一の真実のソースとして Git リポジトリを使用し、継続的なデリバリーとデプロイメントを可能にします。一方、CaCは、アプリケーションと環境のコンフィギュレーションをコードとして定義し、バージョン管理に保存するプラクティスです。プラットフォームの中心はプラットフォームAPIだ。APIはGitリポジトリに保存されたCaCを管理する。Kubernetesオペレータは定期的にGitリポジトリから変更をフェッチし、すべてのファイルを1つのデータブロブにコンパイルし、Argo CDアプリケーションのマニフェストをレンダリングし、それらをKubernetesクラスタにデプロイする。更新されたArgo CD ApplicationはArgo CDコントローラによってピックアップされ、要求されたHelmチャートを対応する値でデプロイします。

Configuration as CodeのGitリポジトリには、インフラ (クラスタ上にデプロイされる)とプラットフォーム・アプリケーションの特定の構成の両方の構成が含まれている。Keycloak(アイデンティティとアクセス管理用)、Harbor(セルフホスト型コンテナレジストリサービス)、Gitea(セルフホスト型Gitサービス)などのプラットフォームアプリケーションの設定変更は、アプリケーションAPIを活用してカスタムビルドされたKubernetesオペレータによってデプロイされる。

例を見てみよう:プラットフォーム管理者は、セルフサービスポータルを使って Harbor を有効にする。プラットフォーム API は、まず CaC Git リポジトリに必要な変更を加えます。Harbor が有効になっているため、新しい Argo CD アプリケーション マニフェストがレンダリングされ、Harbor、(CloudNativePG)PostgreSQL データベース、およびプラットフォーム Harbor オペレータをインストールするためにデプロイされます。プラットフォームHarborオペレータが実行されると、Harborを設定するための設定指示を取得します。この場合、オペレーターはプラットフォーム上のすべてのチームに対してプロジェクトを作成し、OIDCを設定し、ロボットアカウントを作成し、チームのネームスペースにプッシュ・シークレットとプル・シークレットを作成します。わずか数分後、すべてのチームがHarborのプロジェクトにアクセスできるようになり、セルフサービスポータルを使用して、Harborに自動的に保存されるコンテナイメージを作成できるようになります。

Akamai App Platform の対象者は?

正直に言いましょう。上記の例では、Akamai App Platform を利用することで、完全に自動化されたコンテナ・レジストリ・サービスをわずか数分で手に入れることができます。これを手作業で行なえば、大変な労力となります。社内のプラットフォームを構築するよりも、お客様に価値を提供することに重点を置いているのであれば、Akamai App Platform は間違いなくお客様のお役に立ちます。より具体的に言えば、Akamai App Platform は、中小規模の SaaS 企業など、動きの速いソフトウェア企業にとって最も興味深いものであると考えます。

Akamai App Platform を使用する理由

Akamai App Platform は、Kubernetes プラットフォームが必要とするすべての機能を提供します。また、すべてが事前に設定され、完全に自動化された方法で提供されます。そのため App Platform は、本番環境におけるコンテナ化されたマイクロサービスアーキテクチャの構築、導入、監視、およびセキュリティ保護に理想的なプラットフォームとなっています。

しかし、Akamai App Platform はそれ以上の用途にも使用できます。Akamai App Platform は LKE に自動的にインストールされるため、10 分ほどで使い始めることができます。また、このプラットフォームには CNCF Graduated Projects および Incubating Projects の包括的なスイートが付属しているため、Akamai App Platform は教育目的にも最適です。

私たちが話しそびれたテーマのひとつにマルチテナントがある。プラットフォームのTeams機能を使って、同じクラスタ上に無制限の(ここでは必要なクラスタリソースを考慮しない)テナントをオンボードする。各チームはプラットフォーム上で独立したスペースを獲得し、共有アプリケーション(先に挙げた例のHarborのような)に自動的にオンボードされる。 

開発者が Kubernetes の利用を熱望しているが、何から始めたらよいかわからない場合は、Akamai App Platform をお試しください。お好きな機能を有効にして、個々の開発者、プロジェクト、または完全な開発者チーム用の Team を作成してみてください。場合によっては、Akamai App Platform はお客様の理想的なプラットフォームではないかもしれません。しかしその場合は、リファレンス・アーキテクチャとして活用することができます。

次はどうする?

Akamai App Platform が GA になったからといって、これで終わりというわけではありません。Kubernetes を取り巻くテクノロジーは電光石火のスピードで進歩しているだけでなく、より良いユーザー体験のために提供したい改善点もまだまだたくさんあります。今後のスプリントでは、セルフサービスポータルのアップデートを皮切りに、本気度を示すアップデートをいくつかリリースする予定です。すでに Akamai App Platform をご利用の場合は、ポータルのプラットフォーム・ダッシュボードでアップデートが自動的に通知されます。

私たちが取り組んでいるもう1つのエキサイティングなことは、人工知能 推論や検索拡張生成(RAG)のような人工知能 コア機能を統合することです。これらの機能は、大規模言語モデル(LLM)の実行、プラットフォーム上に配置されたLLMを消費するためのチームアクセスの提供、ベクターデータベースの配置、大規模言語モデル(LLM)がその応答を強化するために使用することができる文書、データ、その他の情報のコレクションに基づいてベクターデータベースにエンベッディングを作成することによる知識ベース(RAG)の作成など、人工知能 セルフサービス機能を強化するためにも使用されます。

App Platformを始める準備はできましたか? ドキュメントをお読みください。 

こちらもどうぞ...

コメント 

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。