Introducing Spring Cloud Gatewayand API Hubfor VMware Tanzu
VMwareのテクニカルスタッフ/エンジニアであるGareth Clay氏とAlexey Nesterov氏は、本セッションでSpring Cloud Gateway(以下SCG)と現在開発中であるAPI Hubの状況と今後のプランを紹介しました。
Spring Cloud Gateway for VMware Tanzuは、今年の1月に正式リリースされた製品です。セキュリティ、リクエスト数制御、Single Sign On統合等の機能を持ち、簡単に構成可能なオンデマンドのAPI Gatewayインスタンスを提供します。
Clay氏はまずSCGが生まれた背景として、VM上に存在するアプリケーションをマイクロサービスとして切り出す際に発生するAPI変更の影響を最小限にしたい、という開発者の課題を挙げました。そのためAPI Gatewayには、利用者にバックグラウンド・アプリケーションの変更を隠蔽し、かつ強化されたセキュリティや想定以上の急激なリクエスト増加を遮断するネットワークを同時に提供する必要があります。SCGはそれを実現するための製品であり、このアーキテクチャを採用することでマイクロサービスを切り出す際のサービスレイテンシを下げることができると述べました。
SCGの大きな特徴の一つとして、Nesterov氏はSingleSignOnを挙げています。これは「No Surprise SingleSignOn」というTanzu向けの機能であり、OktaやActive Directory、Google AuthenticateやCloud Foundryの認証基盤を統合するプロキシのような働きをすると述べていました。JWT Tokenを利用することで、ある認証基盤のcredential(認証情報)を他認証基盤のそれとして利用できるため、複数の認証基盤をまたがったサインインが不要になることが利点です。もちろん、設定によりその認証情報をアプリケーションに連携することも可能です。
また「Rate Limiting」として、1秒間に処理するリクエスト数をcfコマンドで簡単に設定・変更することができます。SCGはメモリデータグリッドを内部に持っており、それを全クラスター間で同期しているため、Rate Limitに関するあらゆる情報やセッションを保持するのにRadisのようなソリューションが不要となるそうです。
「API Hub」も開発者向けの製品であり、複数のSCGインスタンスを介して公開されるすべてのAPIへのアクセスを簡単に集約、視覚化、探索、および保護します。視認性の高いAPIの一覧とその詳細ページに分かれており、詳細ページにはSSOの利用可否や、得られるレスポンスの詳細などが掲載されています。
その後はSpring Bootのサンプルアプリケーション(Rescue Animal)とSCGの設定ファイル(JSON)を用いて、SCGとAPI Hubのサービス起動から連携までを10分で実施するデモがありました。最後に今後の課題としてSCGのKubernetes対応を挙げ、セッションを締めくくりました。
DevSecOps関連の2セッション
SpringOneでは、DevSecOpsに関する発表が2件ありました。そこで共通的に語られていたコンセプトは「開発やイノベーションをいかに妨げずにセキュリティを担保するか」です。
Maria Gabriella Brodi(VMware)氏のセッション「DevSecOps with Confidence」では、VMware社が手掛けるTanzuを用いて、どのようにDevSecOpsのパイプラインを構築し作業を簡素化したかの実例を紹介していました。具体的には、パイプラインの構成要素の中で、「テスト」「ビルド」「スキャン・サイン」「デプロイ・モニタ」の各フェーズでTanzuと各種ツールを組合せ、セキュリティと効率性を両立させるための工夫などの説明がありました。
Jeff Williams(Contrast Security)氏のセッション「Practical DevSecOps Using Security Instrumentation」では、従来の「外から内」に対する防御アプローチから「内から外」の防御アプローチへシフトし迅速な開発とセキュリティの担保を実現する手法としてsecurity-instrumentationを使用する手法を紹介していました。この手法は、オリジナルのアプリケーションのソースコードにinstrumentation(ソフトウェアの状態を報告する機構)を埋め込むことで、DEV(開発)、CI/CD、TEST、STAGES、PRODのフェーズにおいて継続的に自動でセキュリティテストと脆弱性悪用の防御が可能となり、イノベーションを妨げず加速させることができると説明がされていました。
おわりに
以上、SpringOne 2020のハイライトをレポートしてきました。セッションはMain Stageを含めてSpringOne公式サイト、およびYouTubeのSpringDeveloperチャンネルにて動画が公開されていますので、本稿で興味を持ったセッションがあればそちらもチェックしてみて下さい。