Skip to Content
AWS上のシステム設計
book

AWS上のシステム設計

by Jayanth Kumar, Mandeep Singh
March 2025
Beginner to intermediate
612 pages
9h 29m
Japanese
O'Reilly Media, Inc.
Content preview from AWS上のシステム設計

第1章 システム設計のトレードオフとガイドライン システム設計のトレードオフとガイドライン

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

今日の技術革命は、大規模なソフトウェア・システムによって起きている。Google、Amazon、Oracle、SAPといった大企業は、いずれも大規模なソフトウェア・システムを構築し、自社(および顧客)のビジネスを運営している。このような大規模ソフトウェアシステムを構築・運用するには、実際にシステムをコード化する前に、技術アーキテクチャを設計・開発するファースト原則思考が必要となる。なぜなら、ユーザがシステムを必要とするようになったときに、これらのシステムが機能しなかったり、拡張できなかったりするような状態にはしたくないからである。

設計が最初に正しければ、実装の残りの旅はスムーズになる。そのためには、ビジネス要件に目を向け、顧客のニーズとオブジェクトを理解し、さまざまなトレードオフを評価し、エラー処理とエッジケースについて考え、アルゴリズムやデータ構造のような基本的な細部に気を配りながら、将来の変更と堅牢性について熟考する必要がある。企業は、システムについて注意深く考え、ボトルネック、システム要件、対象とするユーザ、ユーザ・アクセス・パターン、その他多くの決定事項を理解するために時間を投資することで、無駄なソフトウェア開発努力という過ちを避けることができる。

この章では、基本的な概念、大規模なソフトウェア・システムで当然発生するトレードオフ、そのようなシステムを構築する際に避けるべき誤り、そしてシステム設計のガイドライン、つまり長年にわたる大規模ソフトウェア・システムの構築から学んだ教訓を理解してもらうことを目的として、システム設計の基本を取り上げる。この章では、基本的なことを紹介する。詳細については後の章で掘り下げていくが、まずは基礎をしっかり固めてほしい。システム設計の基本概念から始めよう。

システム設計の概念

システム設計の構成要素を理解するためには、システムにまつわる基本概念を理解する必要がある。ここでは、、 抽象化を活用することができる。コンピュータサイエンスの概念で、システム設計の概念のモデルを作成するために、内部の詳細を抽象化することで、全体像を把握することができる。システム設計の概念は、それがどのようなソフトウェア・システムであっても、コミュニケーション、一貫性、可用性、信頼性、スケーラビリティ、システムの保守性、フォールト・トレランスを中心に展開される。これらの概念のそれぞれについて詳しく説明し、メンタル・モデルを作成すると同時に、大規模なシステム設計においてこれらの概念がどのように適用されるかを探っていく。

コミュニケーション

大規模なソフトウェアシステムは、サーバと呼ばれる小さなサブシステムで構成され、互いに通信を行う。つまり、ネットワークを介して情報やデータを交換し、ビジネス上の問題を解決したり、ビジネスロジックを提供したり、ビジネス機能を構成したりする。通信は、システムのニーズや要件に応じて、同期的または非同期的に行われる。図1-1は、同期通信と非同期通信における動作シーケンスの違いを示している。

注

通信プロトコルや非同期通信のメカニズムについては、第6章で詳しく説明する。

図1-1. 同期通信と非同期通信のシーケンス図

同期通信

、友人と電話で会話しているところを想像してみてほしい。相手の声が聞こえ、同時に相手と話し、会話が完了するまでの間にポーズを挟む。これは ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハイパフォーマンスPython

ハイパフォーマンスPython

Micha Gorelick, Ian Ozsvald, 相川 愛三
ウェブAPIの設計

ウェブAPIの設計

Brenda Jin, Saurabh Sahni, Amir Shevat
ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

John Arundel, Justin Domingus, 須田 一輝, 渡邉 了介

Publisher Resources

ISBN: 9798341634060