第2章. 作業環境を整える
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
第 1 章では、AWS クラウドにおけるレジリエンスについて紹介し、複雑なシステムにおける障害モー ドを予測、可観測、緩和するためのフレームワークとレジリエンス・メンタルモデルを取り上げた。 本章では、一連のレジリエンス・ハンズオン・レッスンに備えて、自分自身とソフトウェア開発作業環 境を準備する。 本書のハンズオン・レッスンでは、AvailableTrade という架空の電子取引アプリケーションのレジリエン ス・コンポーネントを構築していく。 この章では、レッスンを実行するために必要なツールのインストールと設定に重点を置いている。 ハンズオンの例を通して作業するつもりなら、それが最善の学習方法であるとわれわれは考えているが、まずはリストにある各ツールをインストールすることから始めてほしい。 まだインストールしていない場合や、必要なときにインストールする方法がわからない場合は、各ツールの公開ドキュメントへのリンクが用意されている。
本書のレッスンで示したレジリエンスのパターンは、AvailableTrade アプリケーションや金融サービ ス業界以外の業界やユースケースにも及んでいる。 しかし、金融サービスをモデルにすることで、 本書で示したユースケースやレッスンの重要性を、われわれの身近な現実世界のシナリオに照らし合わ せることができる。 意図的にレジリエンスに注力する必要がある重要なシステムには、企業のブランドと顔を提供す る顧客対応アプリケーション、リアルタイムで資金を移動させる決済システム、および中核的なビジネス機 能を実行するシステムなどがある。 これらのシステムは、収益を生み出し、利用できない場合にはレピュテーションリ スクを引き起こし、時には可用性と事業継続性に関する規制要件に準拠しなければならない。
あなたが新しいオンライン株式取引ポータルで株式取引市場を破壊することを決めたとしよう。 あなたは破壊的なアイデアを持ち、適切なチームを配置し、アプリケーションを安全に構築する方法を知っている。 さらに、プラットフォームを稼動させて収益を上げる必要があり、金融サービス業界はレジリエンスを規制しているため、あなたのチームは可用性の目標を達成するためにプラットフォームを構築する方法を学ぶ必要がある。 あなたはシステムのビジネス影響評価を完了し、RTOとRPOを定義した。
マイクロサービスではハンズオンを学ぶ
本書では、ドメイン問題と HTTP で通信するサービスによって境界づけられた、ハンズオン・レッスンを紹介する。これらのコンポーネントは、マイクロサービスとして設計されている。 各章をカスタマージャーニー(例えば、新しい証券口座を開設する)と考えてみよう。 このジャーニーは、アプリケーション、データストレージ、および他のコンポーネントとの対話のための境界づけられたコンテキストを提供する。 各章は、別々のマイクロサービスとして機能を構築する。これらのサービスは、クライアント向けの機能的な株式取引アプリケーションに組み合わせることができる。 本書で検討するユーザージャーニーとマイクロサービスの例については、図 2-1 を参照されたい。
図2-1. ユーザージャーニーとサービス
なぜマイクロサービス設計を選択したのか? アプリケーションを構築する際には、いくつかの先行設計の選択をする必要がある。 ...