:これは、DigitalOceanSolutionsEngineersが提供するナビゲーターガイドブックの内容の初期リリースバージョンです。 この本の目的は、ビジネス顧客がインフラストラクチャのニーズを計画し、その過程で実用的な例を提供し、技術的なニュアンスと、いくつかの決定を他の決定よりも優れたものにする「理由」を含めるのを支援することです。

この本と付随するコードは、GitHubリポジトリで公開されます。 これは初期のリリースであるため、この本はまだ完成しておらず、リポジトリはまだ公開されていませんが、ご期待ください。

出航する前に、インフラストラクチャの歴史について簡単に説明します。 これは、クラウドインフラストラクチャが満たすニーズと、それを最大限に活用してインフラストラクチャから最大の価値、パフォーマンス、および安定性を引き出す方法に関するコンテキストを提供するのに役立ちます。

これまで、オンラインプレゼンスには、次の3つの主要なインフラストラクチャオプションのいずれかが必要でした。

  • 共有ホスティング。これは主にWeb開発者と小さなWebアプリケーションにのみ適していました。
  • 専用サーバー。データセンターまたはオンプレミスでホストできる、最も高価で柔軟性の低いオプションです。
  • 専用ハードウェアのリソースを共有する、VPS(仮想プライベートサーバー)として広く知られている仮想サーバー。 仮想化による固有のパフォーマンスの低下にもかかわらず、最新のサーバーハードウェアを使用した全体的なVPSは、大多数のユーザーの要件を超えています。

規模を拡大するために、高価なオンプレミスサーバーに依存していた企業は、はるかに前に追加のハードウェアを要求する必要があります。 いつでも、彼らのコンピューティングリソースは彼らの要件を超えるか不足するでしょうが、決して一致しません。 また、仮想サーバーは共有サービスと専用サーバーの両方の長所を提供しましたが、料金体系は依然として専用サーバーと同様でした。 厳格な月次請求サイクルには、コミットメントと低い柔軟性が必要でした。

2000年代後半、これらの増大する市場の需要に応えて、仮想サーバー市場は拡大し、より大規模に運用され始め、それが「クラウドコンピューティング」のブランド化をもたらしました。 クラウドコンピューティングは、オンデマンドリソースを提供することで、スケーラビリティの問題を解決しました。 時間の小さな増分で請求するという概念により、オンデマンドリソースは非常に費用対効果が高くなりました。 開発クラスター全体は、時間単位の料金で請求され、開発とテストに必要な短時間しか存在しなかった場合、わずかなコストで展開できました。

クラウドコンピューティングは、初期にはあまり明確に定義されていませんでしたが、この概念は、データの冗長性が組み込まれたフォールトトレラントな常にオンラインのインフラストラクチャソリューションとして販売されていました。 デフォルトではそうではないかもしれませんが、ビルドすることは可能であり、この本はその方法を示します。 一般的なクラウドインフラストラクチャの問題を防ぐためのソリューションを設計します。最終的に、インフラストラクチャはオンラインのままになり、必要に応じて拡張でき、安全でトラブルシューティングも簡単になります。

単一のクラウドインスタンスは、単一障害点です。 当社の推奨事項、計画、およびソリューションは、アプリケーションを多くのインスタンスに分散するのに役立ちます。

この概念を説明するために、おなじみのユースケースを採用し、スケーリングとクラウドの方法論を適用しています。 WordPressは人気のあるCMSおよびブログプラットフォームであり、多くの場合、共有ホスティングプロバイダーを使用してホストされます。 トラフィックの急増が見られるWordPressサイトでは、パフォーマンスを向上させるために専用サーバーまたはVPSに切り替える必要があります。 これらの導入的および反動的なアクションは、将来のスケーラビリティや冗長性のニーズに対応していません。 WordPress CMSソフトウェアを使用しているWebサイトがあり、99.999% uptimeを確保する必要があるとします。 Webサイトがほぼオンラインであり、常に完全に機能しているというビジネスケースがあります。 この複雑な問題は、専用サーバーパラダイムを使用する場合と比較して、クラウドコンピューティングを使用すると簡単に解決できます。

この本では、個々のWordpressインストールの概念を採用し、ダウンタイムとデータ損失の懸念が適切に計画されていることを確認しながら、大量のトラフィックとユーザーを処理するようにスケーリングします。

私たちのソリューション

この本は5部に分かれています。 それぞれの詳細な概要は次のとおりです。 これらの概要の概念のいくつかを理解していなくても、心配しないでください。 それはまさにこの本があなたに教えることです。

パート1—はじめにとセットアップ

これはあなたが今読んでいるものです。 次の最後の章では、スターターインフラストラクチャを構築するために使用するツールと、それに続くように環境をセットアップする方法について説明します。

パート2—ダウンタイムのスケーリングと防止

インフラストラクチャをオンラインに保つことができない場合は、多くのことを行うのに苦労することになります。

このセクションでは、インフラストラクチャのすべてのリソースが標準化され、迅速に展開できるようにするための構成管理を紹介します。 そこから、ダウンタイムの原因となる問題の大部分を排除するために、負荷分散と高可用性を導入します。 スケーラブルなソリューションを導入したら、継続的な開発コントロールを追加して、インフラストラクチャを反復および更新できるようにします。

パート3—データを安全に保つ

あなたのデータはあなたの会社が持っている最も重要な資産の1つです。 データ損失はオプションではありません。

ここでは、特定のユースケースに最適なストレージソリューションを紹介します。 データ損失の落とし穴を概説し、影響の大きい停止を計画することで、基本的なバックアップの概念を超えています。 目標は、停止を減らすための計画を立て、データ回復のための複数のソースを常に用意することです。

パート4—インフラストラクチャについてすべてを知る

この時点で、インフラストラクチャは拡張され、データが失われることはありませんが、予測できなかった、または予測できなかった問題が常に発生します。

インフラストラクチャがどれほど適切に設計されていても、問題のトラブルシューティングと診断を効果的に行う必要があります。 このセクションでは、ボトルネックとエラーの特定、パフォーマンスの定義、およびテストについて説明します。

パート5—インフラストラクチャの保護

ダウンタイムが発生する可能性がある限り、セキュリティ関連の問題が発生すると、代わりに単純なスケーリングの問題が発生したいと思う可能性があります。

この本全体は、壊滅的な問題を防ぐためにあなたが取ることができる予防的な措置についてです。 この最後の部分では、セキュリティを念頭に置き、インフラストラクチャを主流のセキュリティの脅威から保護するためのベストプラクティスを確認します。