さらに、パンデミックは企業が苦しんでいる膨大な技術的負債を残していきました。例えば食料品店を考えてみましょう。COVID以前、ほとんどの企業は店内での非デジタル体験のみに注力していました。COVIDにより企業は一夜にしてオンライン小売業者となることを強いられ、店舗をさまざまなハイブリッド配送・受取・返品サービスと統合する必要が生じました。レストラン、ホスピタリティ、ヘルスケアもすべて同様の体験変革を経験し、リアルタイムのイベントドリブンアーキテクチャとストリーミングの必要性は、あらゆる業界のITグループにとって不可欠なものとなりました。
現在に話を進めると、必要なデジタル体験の変革を行った企業が、今度は同時に二つの新たな問題に直面していることがわかります。
- 世界経済の景気後退警告が赤信号を点灯させている
- パンデミック開始以降のITへの急速な変化により、技術的負債が過去最高水準に達している
直面している課題は、企業がIT予算を削減しながらも近年見てきたようなイノベーションを期待している中で、より少ないリソースで対応しながら、パンデミックがもたらした後遺症を修復・回復しなければならないということです。
古くからの課題:より少ないリソースでより多くを成し遂げる
KafkaとPulsarを活用したリアルタイムのイベントドリブンアーキテクチャとストリーミングの利用が、顧客体験の変革とともに花開いたと述べたことを覚えていますか?それがITと企業の双方に新たなチャンスを生み出しています。現在存在するイベントやデータストリームのほとんどは、特定のリアルタイムユースケースを解決するために使用されています。これらのやり取りの多くは、リアルタイムのアプリケーション間インテグレーションであることがわかっています。つまり、2つのアプリケーション間のリアルタイムな非同期処理が必要とされていたのです。その例として、食料品店内でオンライン注文の受注処理を行う必要があること、注文が配達されることなどが挙げられます。しかしイベントドリブンアーキテクチャとストリーミングの強みは、本来的に1対多のインテグレーションのために構築されており、ランタイムにおいて実質的に無償でそれを実現できることです。
では問題は何で、機会は何かとお思いでしょう?以下に、Event Portal for Kafkaで活かせる機会と対になった問題を挙げます。
問題1:データとディスカバリーの難題
知らなければ再利用できません。そのため、アーキテクトたちがリアルタイムデータストリームを開発し、物事を進めていた際、彼らはイベントストリームに関する情報を公開するどころか、自分たちの作業を文書化する時間を割きませんでした。彼らは厳しい時間的プレッシャー下に置かれ、画期的なビジネス能力の提供を期待されていました。確かに、テクニカルレビューのためにConfluentのページやdraw.ioのダイアグラムとして文書化されたかもしれませんが、ビジネスとITがイベントストリームを発見し、新しい革新的な方法で再利用できるような、社会的な側面での公開はなされていませんでした。
これと並行する世界が、誰もがよく知っているAPI管理です。以前は、企業にはビジネスやITの一般的な人々に知られていないRESTful APIが散在していました。解決策は、OpenAPIのような標準を使用してサービスを記述し、開発者ポータルを持つAPI管理ソリューションにインポートして、APIを内部・外部の関係者に公開することでした。
関連する機会:ビジネスにおける最も価値あるデータを公開する
今日、イベント管理が台頭し始めています。現在、AsyncAPI仕様が登場し、アーキテクトや開発者がアプリケーションを文書化し、開発者ポータルと統合するイベント管理ソリューションにインポートして、イベントストリームを内部・外部の関係者に公開できるようになりました。ただし今回は、エンティティの状態を照会するAPIとは対照的に、リアルタイムデータがすべてです。これは重要なことで、Gartnerをはじめ多くの人々が、データは生成された瞬間が最も価値が高いと考えているためです。したがって機会その1は、ビジネスにおける最も価値あるデータの公開です。特にイベントストリームのサードパーティマーケットプレイスの提供を検討するなら、新たなビジネスの価値創出にもつながります。
問題2:開発者の生産性の欠如
ストリーミングプラットフォームの使用は無料ではないことはご存知の通りです。ほとんどの人はライセンスと運用コストのみを考えますが、開発者コストはどうでしょうか?開発者は非常に高いスキルを持つコストのかかるリソースであり、アイドル状態や非生産的な状態に置いてはおけません。Kafkaを使用するビジネスの別チームから来る既存のストリームデータから新しいイベントストリームを作成するために今日必要な活動を考えてみてください。
- 利用可能なものについて議論し、スキーマを確認してセキュリティの機密性を判断し、関心のあるデータを持つクラスターを把握するためのミーティング:1時間
- 設計レビュー:ppt/draw.ioなどでデータフローを文書化・作図する準備およびミーティング:4時間
- チームがKafkaを使用するアプリケーション接続スキャフォールディングを記述するための開発時間:1時間
- ビジネスロジック/価値の創造:回避不可能な可変時間
- Kafkaインフラチームによるトピック、スキーマ、ACLのプロビジョニング:自動化とプロセスに応じて数時間〜数日
- アプリケーションのデプロイ:回避不可能な固定時間、理想的にはCICDパイプラインで自動化
- 環境を経由して本番環境へのプロモーション:回避不可能な固定時間、理想的にはCICDパイプラインで自動化
これらの活動が示しているのは、各アプリケーションとそのプロセスが個別対応であり、専門的なツールとプロセス自動化の欠如に苦しんでいるということです。
関連する機会:セルフサービスを実現してアジリティを向上させる
再びAPI管理の世界から教訓を得て、もしイベントストリーミングアプリケーションを構築する体験を、RESTfulサービスやRESTfulクライアントを記述するのと同じくらい簡単にできたらと想像してみてください。
- 何が利用可能かについての個別対応のミーティングを避けられる
- アプリケーションのアーキテクチャを表すアーティファクトを使用して、設計レビューを自動化された方法で実施できる
- コードジェネレーターを使用して、骨格/スキャフォールディングを迅速かつ一貫した方法で作成できる
- CICDパイプラインに統合された基盤インフラを持つ開発者セルフサービス体験を実現できる
これにより、開発者の無駄な時間を大幅に削減できるとともに、文書化、一貫性、市場投入までの時間においても具体的なメリットをもたらします。
問題3:セキュリティおよびライフサイクル・変更管理の欠如
セキュリティおよびデータ侵害、アプリケーションの障害/ダウンタイム、プロジェクトの遅延といった定義困難なコストは、ほぼ予測不可能です。これらのコストはビジネスやデータ・ユースケースの重要性に応じて非常に大きくなる可能性があります。以下の2つの問題を考えてみましょう。
1. セキュリティとデータ認識の欠如
- イベント/ストリーミングブローカーが各アプリケーションに最小限のアクセスを提供する細かいアクセス制御を備えていると確信していますか?ほとんどの人はそう思っていますが、詳しく調べるとACLはあまりにも広く開放されています。
- トピックを流れるデータにセキュリティ上の機密情報が含まれているか否か、そして適切なアプリケーションのみがそのデータを利用する権限を持っているか確信していますか?ほとんどの人はこの質問に確信を持って答えられません。
- 時間の経過とともに変更が生じる中で、問題aとbが一貫して検討・レビューされていますか?ほぼ皆無です!
これらすべての課題は、規制上の罰則、訴訟、顧客の信頼喪失を招いています。課題は、状況を把握できる明確な可視性と、最小アクセスを確保する自動化がない場合、これらすべてに時間と労力がかかるということです。
2. ライフサイクルと変更管理の欠如
- 良いニュース!イベントドリブンアーキテクチャとストリーミングは、ランタイムにおけるアプリケーションの疎結合を実現します。悪いニュース:この疎結合により、変更の影響/爆発半径を把握することが困難になります。確かに、前方/後方互換性のある方法で物事を進化させるべきですが…
- 多くの場合、自分のアプリケーション群にしか影響しないと思って変更を加えますが、下流に他のアプリケーションが存在し、それが壊れたり意図しない結果を招いたりして、最低でも遅延、最悪の場合は障害を引き起こすことに全く気づいていません。
- さらに、変更が前方/後方互換性を持っていたとしても、これらの変更をどのように周知・共有しますか?例えば、データの属性の追加を考えてみてください。このデータが存在することが他のステークホルダーのビジネス成果を生み出し向上させる可能性がある場合、彼らはどのようにこの新しいデータの存在を知るのでしょうか?
これらのシナリオは現実のものであり、実際に起こります。それを証明する経験を私は持っています。新しい・変化するビジネス要件に対応してアプリケーションを継続的に強化・進化させる中で、これらの問題のコストは簡単に膨らんでいきます。リアルタイムイベントストリームとアプリケーションのライフサイクル・変更管理が容易にできないというだけで、価値実現までの遅延を今後も許容し続けられますか?
関連する機会:安全かつセキュアにイベントストリームを進化させる
適切なイベント管理戦略によって、市場投入までの時間とアジリティを高めながら、これらの課題を克服できます。この戦略には以下の重要なステップが含まれます。
- すべてをバージョン管理する!(理想的にはセマンティックバージョニングを使用): これにはアプリケーションインターフェース、イベント/トピックの定義、スキーマが含まれます。セマンティックバージョニングは変更のコンテキストを提供し、使用されているものについての適切なコミュニケーションを可能にします。
- リリース状態を活用する: ドラフト、リリース済み、非推奨、廃止のいずれかをユーザーに通知し、何を使うべきか正しい判断ができるようにします。プロセスの早い段階でコストのかかる混乱や手戻りを避けられます。
- 早期に変更影響分析を行う: 変更を行う場合は、その変更の影響を受けるステークホルダーをレビューし、自分だけが影響を受けると思い込まないようにします。さらに、すべての環境とクラスターを確認して360度の認識を持ち、予期せぬ事態が生じないようにします。これらの変更には、キー/バリュースキーマ、トピック名、設定、アプリケーションインターフェースなどへの変更が含まれます。
これらのステップを実行することで、障害や故障(および関連するコストのかかるトラブルシューティングと緊急バグ修正)のリスクを軽減しながら、顧客への価値提供スピードを高めることができます。ビジネス機能が本番稼働している毎日が、収益と利益の両方に貢献することを忘れないでください。
結論
前述の機会のいずれかを活かしたいのであれば、ツールを自社で実装するか、イベント管理ツールを購入するかを決める必要があります。御社のビジネスは世界最高のイベント管理ツールを作ることではなく、顧客に最高のデジタル体験を提供することにあると確信しています。そのためにも、最小限の資本投資で提示されたすべての機会を実現するSolace Event Portalをぜひご確認いただくことをお勧めします。生産性の向上と新しいリアルタイムデジタル体験を提供する能力により、より少ないリソースでより多くを成し遂げられるようになります。
