[ステップ3の図:バックエンドサーバー]アプリケーションのバックエンドを作成するには、リソース計算の別のセットが必要です。繰り返しますが、アプリケーションの動作の性質によって、サーバーのサイズとリソースが決まります。考慮すべき要素には、このレベルでサーバーが行う処理作業の種類と量が含まれます。これは、データ型と処理タスクの区別が関係するところです。画像アセットと消費者データを使用している場合、それぞれに適用される負荷と遅延の要件を考慮することができます。このレベルでは、次のような問題に対処するためにも監視が重要になります。画像資産とメディア資産をどのように処理していますか?これらの資産から情報を引き出していますか、それとも単に取得または再結合していますか?消費者トランザクションの量と種類は何ですか?共有プライベートネットワーク内でこのレベルのリソースを配置して、潜在的な帯域幅料金を計上できます。16.04でMySQLを使用してサイトのパフォーマンスを最適化するためのリモートデータベースのセットアップ。Djangoアプリを作成してデータベースに接続する方法。[ステップ4:HAProxyの図]ロードバランサーが外部リクエストを処理する方法と同様に、HAProxyはフロントエンドとアプリケーションレイヤー間の通信フローを管理します。ロードバランサとしての機能では、特定のポートからのトラフィックをリッスンしてリダイレクトするようにHAProxyを構成できます。これにより、アプリケーションの内部操作に別のセキュリティレイヤーを追加できます。スケーリングする必要がある場合、ノードを自動的に追加および削除するようにHAProxyを構成できます。HAProxyと負荷分散の概念の紹介。IPを使用して高可用性HAProxyセットアップを作成する方法]。[ステップ5の図:SQLデータベース]アプリケーションデータの特定のセグメントでは、SQLデータベースを使用します。これは、最新で正確かつ一貫性のあるデータである必要があります。販売トランザクション、ログイン/ログオフ情報、パスワードの変更などの構造は統一されており、安全である必要があるため、SQLデータベースを使用する合理的なケースがあります。繰り返しますが、メトリックスを検討する必要があります。処理中のトランザクションリクエストまたはセキュリティ保護されたリクエストの数。負荷が高い場合は、ProxySQLなどのツールを使用して着信リクエストのバランスをとることを検討できます。SQLデータベース間でレプリケーションを設定する場合、パフォーマンスを改善し、高可用性を確保するために追加の手順を実行できます。これは、データ処理をスケーリングする必要がある場合にも役立ちます。16.04に最新のMySQLをインストールする方法。16.04でMySQLグループレプリケーションを構成する。[ステップ6の図:NoSQLデータベース]データが不均一またはスケマティックでない場合、NoSQLデータベースを使用できます。写真、ビデオ、またはブログの投稿の場合、NoSQLデータベースは、アイテムのメタデータを非概略的な方法で保存する機能を提供します。このタイプのソリューションを使用すると、データの可用性が高くなり、その一貫性が最終的に得られます。パフォーマンスについて考えるとき、これらのデータベースに予想されるリクエストの種類と量を検討したいと思います。要求の負荷と種類に応じてパフォーマンスを最適化できる要因には、負荷分散ソリューションを使用してデータベース間のトラフィックを管理する、データベースとストレージソリューションにデータを分散する、データベースを複製または複製するのではなく追加または破棄するなどがあります。16.04にMongoDBをインストールして保護する方法。16.04でOrientDBをインストールおよび構成する方法。[ステップ7の図:ストレージのブロック]このセットアップは、データベースストレージ機能をアプリケーションの他の操作から分離します。目標は、データのセキュリティとアプリケーションの全体的なパフォーマンスを強化することです。この分離プロセスの別の部分として、SQLデータベースファイルのバックアップソリューションを作成できます。Oと回路図ファイルシステム構造のおかげで、この仕事をうまく行うことができます。簡単に破棄、サイズ変更、または乗算できるため、スケーリングのオプションも提供します。DigitalOceanでブロックストレージを使用する方法。ブロックストレージサービス。[ステップ8の図:ELKスタック]アプリケーションのパフォーマンスを監視することで、セットアップをスケーリングおよび改良する際に下した決定がわかります。ELKスタックなどの集中ログソリューションを使用できます。スタックには、ログを収集して視覚化するコンポーネントが含まれています。ログを処理するLogstash。それらを保存するElasticsearch。Kibanaを使用すると、検索して視覚的に整理できます。このスタックをフローティングIPの背後に配置すると、静的IPを使用してリモートでアクセスできます。共有プライベートネットワークにスタックを含めると、別のセキュリティ上の利点があります。レポートエージェントは、インターネット経由でスタックに情報を転送する必要がありません。[メトリック、モニタリング、アラートの概要]。DigitalOceanでフローティングIPを作成する方法。DigitalOceanでフローティングIPを使用する方法。[ステップ9の図:オブジェクトストレージ]アプリケーションの静的アセットを保存する場合、高いパフォーマンスを維持しながら可用性を確保したいと考えています。Spacesのようなオブジェクトストレージソリューションは、このニーズを満たすことができます。具体的には、データベースに大きなオブジェクトを保存することにした場合、データの流入でパフォーマンスの問題が発生し、バックアップが非常に大きくなる可能性があります。このシナリオでは、データをオブジェクトストレージに移動できます。データベースにURLを保存することで、ストレージ容量に影響を与えることなくデータベースからリソースを指定できます。これは、静的なままであると予想されるデータの最適なソリューションであり、スケーリングの追加オプションを提供します。ブロックストレージサービス。[ステップ10の図:DNSレコード]高可用性の設定が完了したら、DNSを使用してアプリケーションのドメイン名をロードバランサーにポイントできます。ラウンドロビンアルゴリズムを使用すると、アプリケーションの分散リソース間でクエリ応答のバランスを取ることができます。これにより、これらのリソースの可用性が最大化されると同時に、リソースクラスター全体にワークロードが分散されます。地理的ルーティングを使用して、リクエストを近接リソースに一致させることができます。DigitalOceanでホスト名を設定する方法。DNSの用語、コンポーネント、および概念の紹介。16.04でのハートビートとフローティングIPを使用した高可用性セットアップ]。ステップ11:回復戦略の計画リカバリ戦略には、管理上の障害やその他の障害が発生した場合にデータをバックアップおよび復元するツールと機能が含まれます。各Dropletについて、DigitalOceanスナップショットを活用および自動化して、Dropletの画像をDigitalOceanサーバーにコピーして保存できます。Spacesなどのストレージデバイスとともに使用して、データをコピーできます。これらのツールを評価して戦略を作成する際に、アプリケーションの各レイヤーのデータと、アプリケーションの機能を復元するための合理的なポイントを得るためにバックアップする必要がある頻度を検討します。[本番用の構築:Webアプリケーション-復旧計画]。VPSに効果的なバックアップ戦略を選択する方法。Storageなどのインフラストラクチャコンポーネントに依存する高可用性Webアプリケーションの潜在的なセットアップについて説明しました。このセットアップは、eコマースソリューションと統合できる購入、スコアキーピング、またはブログ機能だけでなく、ストレージと検索に焦点を当てた画像やその他のメディアの処理ソリューションをサポートする可能性があります。最終的に、開発者は、高可用性を維持しながら特定のニーズとユースケースを満たすために取ることができる多くの方向性があり、各アプリケーションのセットアップは、アーキテクチャの特異性におけるこれらの違いを反映します。