4章設計におけるトレードオフ

執筆:Christoph Kern

協力:Brian Gustafson、Paul Blankinship、Felix Gröbert

 セキュリティと信頼性のニーズは多くの場合、プロジェクトの機能やコストの要件と両立させるのが難しいように思われます。本章では、システムにおけるセキュリティと信頼性のニーズをソフトウェア設計フェーズのできるだけ早い段階で確認する重要性について説明します。

 まず、システムの制約とプロダクトの機能との関係について考え、次に、セキュリティと信頼性についてよくあるトレードオフを示す2つの例(決済処理サービスとマイクロサービスフレームワーク)を紹介します。最後に、セキュリティと信頼性の作業を先延ばしにする自然な傾向について、また、セキュリティと信頼性への早期投資がプロジェクトの速度の持続につながりうる取り組みであることについて議論します。

 これから(ソフトウェア)プロダクトを構築しようとする場合には、高レベルの計画を立ててからコードをデプロイするまで、この複雑なジャーニーで実に多くのことを考えていかなければなりません。

 通常は、そのプロダクトまたはサービスが何をするのかについての大まかなアイデアから始めることになるでしょう。これは例えば、ゲームの高レベルのコンセプトか、クラウドベースの生産性向上アプリケーションに関する高レベルの一連の要件かもしれません。また、サービス提供に必要な資金調達の方法についても高レベルの計画を立てることになるでしょう。

 設計プロセスを掘り下げていき、プロダクトのあるべき姿に関するアイデアが具体的になってくるにつれて、アプリケーションの設計と実装に関する追加の要件と制約が明確になる傾向があります。プロダクトの機能性に関する特定の要件もあれば、開発や運用のコストなど一般的な制約もあるでしょう。また、セキュリティと信頼性に関する要件と制約にも直面します。サービスには可用性と信頼性について一定の要件があるはずですし、アプリケーションが処理するユーザーの機密データを保護するためのセキュリティ要件があるかもしれません。 ...

Get セキュアで信頼性のあるシステム構築 ―Google SREが考える安全なシステムの設計、実装、保守 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.