〜開発・ビルド・運用フェーズにおける課題とソリューション
Tanzu Application Platformは、Kubernetesを補完することで、開発者がインフラを意識することなくアプリケーション開発に集中し、運用者による安全なプラットフォーム運用を可能にする、アプリケーション志向のプラットフォームです。開発者と運用者が、開発・ビルド・運用のフェーズで直面する課題に対し、Tanzu Application Platformはどのようなソリューションを用意しているのでしょうか。開発者と運用者それぞれの視点から、詳しく深掘りしていきましょう。
※OSS : オープンソースソフトウェア製品
開発者にとってのTanzu Application Platformのメリット
開発フェーズにおける課題とソリューション
モダンアプリケーションの開発フェーズで直面する典型的な課題を、いくつかピックアップしてみましょう。以下のような問題にお悩みの開発者も多いのではないでしょうか。
(1) 環境間のギャップ
サーバへ気軽にデプロイできない環境では、個人の開発環境でギリギリまで開発を粘ってしまいがちです。その結果、サーバ側でしかテストできない項目や、パフォーマンスチューニングが不十分な状態で本番環境に投入されてしまい、様々な不具合を招く恐れがあります。
(2) 肥大化した開発ツール群
モダンアプリケーションの開発に必要なツールは増え続けています。Gitリポジトリ、IDE、CI/CD、ダッシュボードなど、大量のツールを同時に立ち上げている開発者は多いのではないでしょうか。大量のツールを行き来するような状況では、必要なものを探し出すのも一苦労ですし、ユーザーインタフェースが煩雑になってしまいます。また開発ツールの管理・統制も難しくなります。結果として、開発チームの生産性低下を招いてしまいます。
(3) 開発にとりかかるまでの初速
開発ツールの肥大化は、プロジェクト発足時や新規メンバー参加時のオンボーディングも困難にします。また開発にあたって、チーム独自のノウハウやローカルルールが蓄積している場合もあるでしょう。これらを習得するのに時間がかかると、開発にとりかかるまでの初速が遅くなってしまいます。その結果、想定以上に開発工数がかかってしまう恐れがあります。
これらの課題に対して、Tanzu Application Platformはどのようなソリューションを用意しているのでしょうか。
個人環境とサーバの開発環境をシームレスに統合
Live Updateは、個人の開発環境とサーバ間の環境ギャップを解消し、高速でコーディングやデバッグ作業を進めていくことを可能にする技術で、Tilt※OSSがベースになっています。Tanzu CLIやIDEと連携して、コンテナを再起動することなく更新されたコードの差分のみを転送し即座に反映することができます。例えば、IDEで右クリックすれば、完全自動で開発用Kubernetesクラスタへのデプロイを実行することができます。
TAP GUIによる開発ツールの統合管理と一貫したUI
肥大化する開発ツールの問題を解消するのが、TAP GUIです。こちらはSpotifyが開発したBackstage※OSSをベースにしています。開発者向けの統合ポータルを作成することで、開発ツールの統合管理や一貫したユーザーインターフェースを提供することが可能になります。プラグインにより、様々な開発ツールとAPIベースで連携し、ポータルで情報の確認や操作を行うことができます。例えば、Application Acceleratorは開発に必要なツールや設定をテンプレート化して、即座に開発に取り掛かれるようにするプラグインです。またApp Live Viewは、TAP GUIのポータルからアプリケーションの稼働状況をモニタリングすることができます。現在のTAP GUIはTanzuプラグインのみに対応していますが、将来的にはBackstageの持つ豊富なコミュニティプラグインにも対応予定です。
開発初速をスピードアップする学習用基盤の提供
開発初期のオンボーディングを加速する学習用の基盤がLearning Centerです。VMwareがコアコントリビューターとして開発しているEducates※OSSをベースにしています。カスタマイズ可能なチュートリアルに沿って、ドキュメントを読むだけでなく、実際のKubernetes環境を稼働させ挙動を確認しながら、必要なノウハウを習得できるツールです。Kubernetesさえあれば、ユーザーが独自にコンテンツを作成することができます。またオフライン環境に対応しているのも大きな特徴です。