AWS Amarathon 2025 振り返り

大規模パフォーマンステストによる効率性と信頼性を重視したアーキテクチャ設計

振り返りシリーズ

セッションノート

テストのカテゴリ:

  • コードテスト: コード分析、単体テスト
  • 統合とインターフェース: コントラクトテスト、インターフェーステスト
  • 機能テスト: ユーザー受け入れテスト、回帰テスト
  • 非機能テスト: パフォーマンステスト、カオスエンジニアリング
  • エンドツーエンドテスト: あらゆる側面を網羅する包括的なテスト パフォーマンス指標:
  • 負荷: 想定される利用状況下でのシステムパフォーマンス
  • ストレス: 極端な負荷条件下でのシステムの挙動を評価
  • 耐久性: 長期的な問題を特定するための継続的な負荷テスト
  • スケーラビリティ: ユーザー数やトランザクション量の増加に伴うパフォーマンスを測定
  • スパイク: 負荷を急激に増減させ、回復力と挙動を評価
  • ボリューム: 大量のデータを処理することによる影響を評価 測定基準:
  • パーセンタイル: 50th、90th、95th、99th、99.9th、100th
  • 件数と平均値: 総トランザクション数、成功、失敗、応答時間、レイテンシー、接続時間、帯域幅
  • エラー: すべてのエラー(重大なものを優先)
  • リソース: CPU 使用率、メモリ消費量、ディスク I/O、ネットワークトラフィック テスト戦略:
  • 早期: 開発ライフサイクルの早い段階でテストを組み込む
  • 事後: インフラストラクチャ変更後にテストを実施
  • 常時: 開発プロセス全体を通じて継続的にテストを実施
  • 開発: 開発ワークフローにテストを統合
  • インフラストラクチャの変更: インフラストラクチャを変更するたびにテストを実施
  • ステージング: 本番環境への移行前にステージング環境でテストを実施
  • 主要イベント: 重要なシステムイベントの前にテストを実施
  • 本番稼働後: デプロイ後のパフォーマンスを検証
  • マイルストーン: プロジェクトの特定のマイルストーンでテストを実施 メリット:
  • 効率性: システム効率の向上
  • 信頼性: システム信頼性の向上
  • より優れたユーザー体験: パフォーマンスの最適化による優れたユーザー体験
  • スケーラビリティ: システムのスケーラビリティ向上
  • コスト最適化: リソース利用の最適化によるコスト削減 Amazon Web Services のソリューション:
  • 1M+ のデプロイ: 豊富なデプロイ経験
  • 検証済み、サポート付き: 徹底的に検証され、専門的なサポートが提供されるソリューション
  • ソリューションライブラリ: 検証済みソリューションの包括的なライブラリ
  • 使用分のみの支払い: 使用量に基づく柔軟な料金モデル
  • シングルテナント: シングルテナント環境向けに設計されたソリューション
  • 100% オープンソース: オープンソースソリューションへのコミットメント