本「スケーリングアプリケーション。 複雑なシステムの成長»

画像 私たちは成長するアプリケーションの世界に住んでいます。 ほとんどすべてのソフトウェア製品は、遅かれ早かれ、拡大するユーザー基盤とピーク負荷に対応するために拡張、構築、適応する必要があります。 このようなスケーリングをスムーズかつ迅速に進めるためには、アプリケーションアーキテクチャのレベルで既にそのような機能を実装する必要があります。 このアプリケーションブックでは、Lee Atchisonが効率的なアプリケーションスケーリングに必要なアーキテクチャの微妙さだけでなく、そのような作業に固有のリスク、スケーリングの有能な組織、およびクラウドサービスの使用についても説明しています。 この本では、可用性、サービスクラス、定期検査、リスクマトリックスなど、スケーラブルなシステムの重要な決定と実践について説明しています。





出版物は誰のためですか?



この本は、大規模なアプリケーションとシステムを作成および操作するプログラマー、システムアーキテクト、テクニカルマネージャー、およびディレクターを対象としています。 プログラマー、システム信頼性エンジニア、DevOpsスペシャリストを管理する場合、または大規模なアプリケーションとシステムを使用する組織を運営する場合、本書の推奨事項とガイドは、これらのアプリケーションをよりスムーズかつ確実に機能させるのに役立ちます。



最初はアプリケーションが小さく、信じられないほどの成長(および付随する成長病)を経験している場合、その信頼性とパフォーマンスが低下する可能性があります。 技術的な負債と関連するアプリケーションの障害を処理できない場合、この本はこれらの負債を処理する方法を示し、アプリケーションをよりスケーラブルにします。



この本はなぜ書かれたのですか?



Amazonで小売とアマゾンウェブサービス(AWS)の両方の大規模アプリケーションの設計に何年も費やした後、Lee Otchisonは爆発的な成長期を経験していたNew Relicに移りました。 同社は、大規模なアプリケーションを管理するためのシステムとプロセスの苦痛を感じていましたが、これまでのところ、アプリケーションをスケーリングするための明確に確立された手順には至っていません。



New Relicで、彼は企業がアプリケーションを拡張するという課題に直面しました。 その後、多くの企業が毎日同じ問題に直面していることに気付きました。



この本の目的は、急速に成長するアプリケーションで作業する人々が、スケーリングの際の落とし穴を避けるのに役立つプロセスとベストプラクティスについて学ぶのを支援することです。



増加がユーザー数、トランザクション、保存データ、コードの複雑さのいずれで表されるかに関わらず、アプリケーションが年間10倍または10%成長したかどうかは関係ありません。可用性レベル。



現在のスケーリングの問題



クラウドサービスは非常に速いペースで成長および拡大しています。 サービスとしてのソフトウェア(SaaS)アプローチは、主にクラウドサービスの需要により、現代の開発プラクティスの標準になりつつあります。 SaaSアプリケーションは、マルチユーザーの性質により、スケーリングの問題に特に敏感です。



世界は変化しており、大量のデータを処理するSaaS、クラウドサービス、およびアプリケーションにますます注目が集まっています。 クラウドアプリケーションのサイズと複雑さの成長に終わりはありません。



今日のスケーリング管理の分野における技術の最後の言葉を表すメカニズムは、明日の基本的な構成要素に過ぎません。 現在のスケーリング問題の解決策は、将来の問題の解決策と比較して、シンプルで最小限に見えます。 ソフトウェア業界では、将来の負荷に耐えることができる複雑なシステムがますます必要になります。



この本の目的は、1年以上に関連する情報を提供することです。



本の構造



スケーリング管理は、着信リクエストの数を管理するだけでなく、リスクと可用性も管理します。 これらの側面はすべて、さまざまな角度から同じ問題を説明することが多く、それらはすべて密接に関連しています。 したがって、スケーリングの問題を完全に検討するには、アクセシビリティ、リスク管理、およびマイクロサービスやクラウドコンピューティングなどの最新のアーキテクチャパラダイムの問題を検討する必要があります。



したがって、この本の構造は次のとおりです。



パートI.可用性



アクセシビリティとアクセシビリティ管理は、アプリケーションの成長の影響を最初に感じることが多い分野です。



第1章アクセシビリティとは 最初に、高可用性とは何か、信頼性との違いを定義しましょう。



第2章アプリケーションのアクセシビリティを改善するための5つの優先分野。 この章では、可用性を向上させるためにアプリケーションを作成する際に注意すべき5つの重要なポイントをリストします。



第3章アクセシビリティの測定。 この章では、可用性を測定するための標準アルゴリズムについて説明し、高可用性の概念をさらに詳しく検討します。



第4章アクセシビリティの改善。 アプリケーションにアクセスできない場合、または将来この問題の発生を防止したい場合は、この章の構成手順がアプリケーションの可用性の向上に役立ちます。



パートII リスク管理



システムへのリスクが何であるかを理解することは、その可用性を高め、現在および将来必要とされるレベルまでスケーラビリティを改善するために不可欠です。



第5章リスク管理とは。 この章では、大規模アプリケーションでのリスク管理のトピックを拡大し、このタスクの基本概念と本質を検証します。



第6章臨界および確率。 この章では、リスクの重大度と発生の可能性の違いについて説明します。 これらの要因は両方とも重要ですが、それぞれ独自の方法です。



第7章リスクマトリックス。 この章では、大規模アプリケーションのリスクを理解して管理するためのシステムを紹介します。



第8章リスクの軽減。 この章では、アプリケーションへの悪影響を最小限に抑えながら、意図的にリスクを取る方法について説明します。



第9章ビッグゲームの日々。 この章では、リスク管理、軽減、および災害復旧計画の継続的なレビューと評価について説明します。 また、本番環境での使用方法とその利点も提供します。



第10章リスクを軽減したシステムの作成。 この章では、アプリケーションのリスクを軽減し、リスクの低いアプリケーションを作成する方法に関する推奨事項を示します。



パートIII。 サービスとマイクロサービス



サービスとマイクロサービス-大量のリクエストを処理する大規模で複雑なアプリケーションを構築するためのアーキテクチャ戦略。



第11章なぜサービスが必要なのか。 この章では、スケーラブルなアプリケーションを作成するためにサービスが重要である理由を学びます。



第12章マイクロサービスの使用。 この章では、マイクロサービスベースのアーキテクチャの作成について紹介します。 スケーラビリティと可用性を向上させるために、サービスのサイズとその境界の定義に特に注意が払われます。



第13章サービス障害の処理。 このパートの最後の章では、障害を正しく処理するサービスを作成する方法について説明します。



パートIV アプリケーションのスケーリング



スケーリングは、リクエストの数だけでなく、組織全体と成長するアプリケーションのニーズに対処する能力にも関係します。



第14章2つのエラーのストック。 この章では、システムを拡張し、障害が発生した場合でも可用性を高める方法について説明します。



第15章サービスの所有権。 この章では、組織とアプリケーションを拡張するために、サービスの所有権に注意を払うことの重要性を見ていきます。



第16章サービスのクラス。 この章では、サービスの重要性を判断する方法論について説明します。その結果、サービスの特定の要件を設定できます。



第17章サービスクラスの使用。 サービスクラスを定義したら、それらを使用して、リスクの結果、応答時間の要件、およびユーザーの期待を管理します。



第18章サービスレベル契約。 この章では、SLAをサービス所有者の相互依存関係を管理するメカニズムと見なします。



第19章継続的な改善。 この章では、アプリケーション全体のスケーラビリティを改善するためのテクニックと推奨事項を示します。



パートV.クラウドサービス



クラウドサービスは、高いスケーラビリティと管理要件を備えた大規模で重要なアプリケーションの作成において、ますます重要な役割を果たし始めています。



第20章クラウドとその変化。 この章では、クラウドコンピューティングが高度にスケーラブルなアプリケーションを構築するアプローチをどのように変えたかについて説明します。



第21章クラウド配布。 この章では、リージョンとアクセシビリティゾーンを効果的に使用して、アクセシビリティとスケーラビリティを向上させる方法の概要を説明します。



第22章インフラストラクチャ管理。 この章では、RDS、SQS、SNS、SESなどのマネージドサービスを使用してアプリケーションをスケーリングし、管理コストを削減する方法について説明します。



第23章クラウドリソースの配布。 この章では、クラウドでのリソースの分散方法と、さまざまな分散戦略がアプリケーションのスケーラビリティにどのように影響するかについて説明します。



第24章スケーリングの他の手段。 この章では、AWS Lambdaなどのスケーラブルなコンピューティングモデルについて説明します。 これらは、アプリケーションのスケーラビリティ、可用性、および管理性を改善するために使用されます。



第25章AWS Lambda。 この記事の最後の章では、AWS Lambdaをさらに詳しく見ていきます。AWSLambdaは、処理能力の低い要件でイベントをスケーリングするための超ワイドな機能を提供します。



パートVI。 おわりに



第26章スケーリングのすべての側面の一般的な概要。 この章では、本で説明されている主要なトピックを簡単に要約します。 これにより、各章で説明した内容を思い出すことができます。



著者について



Lee Atchisonは、New Relicのチーフクラウドアーキテクトです。 彼はそこで4年間働いていました。 この間、LeeはNew Relicインフラストラクチャ製品を設計および管理し、また、New Relicが単純なSaaSスタートアップから負荷の大きい大企業まで、組織全体に拡張する堅牢なサービス指向アーキテクチャの作成を支援しました。 Leeは、アクセスしやすいシステムの開発で最も多くの経験を積んでいます。



Leeはこの業界に28年間在籍しており、Amazon.comのゼネラルマネージャーとしてクラウドベースのスケーラブルなシステムを7年間研究しています。 Amazonで、彼は同社の最初のダウンロード可能なソフトウェアストアを率いて、AWS Elastic Beanstalkを作成し、Amazonのオンラインストアをシームレスからサービス指向アーキテクチャに移行するチームを率いました。



»本の詳細については、出版社のウェブサイトをご覧ください

» 感嘆

» 抜粋



ホーカーのクーポンが20%オフ-Scale for Architect



All Articles