第3章. フロントエンドのウェブアプリケーション
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
今日のテクノロジー主導の状況では、個人であれ企業であれ、オンライン・アプリケーションは必要不可欠なツールである。中断やパフォーマンスの不調は、ユーザに大きなフラストレーションを与え、金銭的な損失や組織の評判や顧客基盤へのダメージにつながる可能性がある。
テクノロジーの進歩に伴い、シームレスで中断のないサービスに対するユーザの期待も高まっている。このような技術進歩の高まりにより、システム稼働時間の基準値が全体的に上昇し、ユーザがほぼ一定の可用性を期待する環境が作成されている。このような期待の高まりに応えることは、単にユーザの満足度を高めるだけでなく、組織の収益や評判に大きな影響を与える重要な要素であることがわかるだろう。サービスが一時的にでも停止すると、その影響は深刻なものとなる。顧客の不満は、財務的な損失やブランド価値の低下に直結する可能性があり、アプリケーションの設計と演算子におけるレジリエンスの重要性が強調される。
アプリケーションのフロントエンドは製品の顔であり、ユーザ体験を形成する重要な要素である。レジリエンスに優れたフロントエンドは、キャッシュ、スロットリング、グレースフル・デグラデーションなどの戦略を組み込んで、予期せぬ障害時でもシームレスなエクスペリエンスを保証する必要がある。これらのレジリエンスパターンを積極的に組み込むことで、ユーザの満足度に直接影響を与え、アプリケーションの信頼性を高めることができる。
ソフトウェア開発とデリバリーにおいてレジリエンスが果たす重要な役割を理解することで、ユーザ体験の水準を高めることができるようになる。この知識は、業務においてレジリエンスを優先させる力を与え、困難に直面してもアプリケーションの堅牢性とパフォーマンスを維持できるようにする。
この章では、AvailableTrade のフロントエンドの作成について掘り下げていく。このハンズオンアプローチでは、様々な障害シナリオに遭遇し、それに対処し、フロントエンドのレジリエンスを強化するためのパターンとベストプラクティスを実装する。このプロセスを通じて、機能だけでなく、さまざまな条件付きで堅牢性と信頼性を持つアプリケーションを構築するための貴重な洞察を得ることができる。
デプロイ後、様々な障害シナリオを検討し、フロントエンドをよりレジリエンスにするためのパターンとベストプラクティスの実装を学ぶ。この実践的なアプローチにより、機能だけでなく、レジリエンスと信頼性を備えたアプリケーションを構築するためのツールと知識が身につき、最終的には常に快適なユーザ体験を提供することができるようになる。
技術要件
フロントエンド・アプリケーションとのほぼすべての対話において、ユーザはウェブ・ブラウザやモバイル・アプリを通じてリクエストを開始する。このリクエストは、Webサイトのコンテンツがホスティングされている場所への経路を発見する必要がある。このリクエストの典型的な流れを図3-1に示す。
図3-1. ユーザ対話フロー図
このリクエストを分解してみよう:
- 1.ユーザのブラウザ