DevOps Guidance は AWS が提供している Well-Architected Framework の派生コンテンツです。
Well-Architected Framework は 6 つの柱から構成される AWS のベストプラクティス集です。また、その派生コンテンツとして、特定の技術領域に関して 6 つの柱を再構築したものとして ○○○ Lens、そして、6 つの柱に拘らずに構成されたものとして ○○○ Guidance が公開されています。つまり、DevOps Guidance とは、DevOps に関して AWS がまとめたベストプラクティス集です。
この記事シリーズは、この DevOps Guidance の日本語での要約を試みるものです。第 1 回は、ガイダンス全体を俯瞰し、このガイダンスの文章構造を整理します。
概要 (Abstract and introduction)
Introduction
2000 年代初頭に Amazon は独自の DevOps 変革を行い、その結果として、ただのオンライン書店から AWS を結成するに至っています。この変革により、AWS は DevOps の重要性を認識し、今日までその採用と実装の最前線に立ってきました。そこで得られた教訓をもとに、クラウドで効率的にソフトウェアを設計、開発、保護、運用するための包括的なアプローチを DevOps Guidance として公開します。
ただし、DevOps の導入に万能のアプローチはありません。ここで紹介する推奨事項は適宜、個々の環境、品質、セキュリティのニーズに合わせて調整してください。
補足 : Amazon における DevOps の実践は The Amazon Builders’ Library からも情報を収集することができます
Definitions
このガイダンスは、5 つのサーガ(Saga; 長大な物語)から構成されます。DevOps の実現は一朝一夕では成らず、様々なプラクティスを継続的に実践していく必要があるためサーガという用語をあてています。それぞれのサーガは、達成すべき複数の能力で構成されます。
能力 (Capability) は、持続的に DevOps を実践していくために高めていくべき項目です。それぞれの能力は、プラクティス・メトリクス・アンチパターン、で構成されます。
プラクティス (Indicator) は、その能力を定性的に評価するためのアクティビティです。このガイダンスでは、重要度に応じてそれぞれのプラクティスを [基本] [応用] [任意] の 3 つに分類します。
メトリクス (Metrics) は、その能力を定量的に評価するための指標です。ただし、どのメトリクスを計測についても万能のアプローチはなく、DORA や SPACE といったフレームワークを利用することも検討できます。
アンチパターン (Anti-patterns) は、避けるべきプラクティスです。アンチパターンを特定して対処することで、DevOps の成功確率を最大限まで高めることができます。
(※ Indicator は本来 “指標” などとすべきでしょうが、個人的にプラクティスとした方がしっくり来たため、本記事シリーズではプラクティスに統一しています)
The DevOps Sagas
このガイダンスは、以下の 5 つのサーガで構成されます。
「組織的に導入」のサーガ (Organizational adoption)
顧客中心の文化を形成するための物語。
DevOps は何よりもまず、人と文化の醸成が重要です。これが満たされていれば、自然とその組織は適切なツールを適切に使用して、プロセスを自動化、調整、最適化し、ビジネス目標をより適切に達成できるようになります。
この物語を成功に導くには、以下の能力の向上が必要です。
- Leader sponsorship
- Supportive team dynamics
- Team interfaces
- Balanced cognitive load
- Adaptive work environment
- Personal and professional development
詳細は こちら をご確認ください。なお、近日中に近日中にこのサーガの日本語での要約記事を更新予定です。
「開発ライフサイクル」のサーガ (Development lifecycle)
迅速かつ安全にソフトウェア開発プロセスを回していくための物語。
このサーガの具体的な実装例は、Deployment Pipeline Reference Architecture として公開しています。
この物語を成功に導くには、以下の能力の向上が必要です。
- Local development
- Software component management
- Everything as code
- Code review
- Cryptographic signing
- Continuous integration
- Continuous delivery
- Advanced deployment strategies
詳細は こちら をご確認ください。なお、近日中に近日中にこのサーガの日本語での要約記事を更新予定です。
「品質保証」のサーガ (Quality assurance)
テストファーストの文化と自動化のための物語。
ソフトウェア開発プロセスにおけるあらゆるステージでテストを導入することにより、開発の俊敏性を失うことなく、品質やセキュリティ、可用性、信頼性、回復力を高めていくことができます。
この物語を成功に導くには、以下の能力の向上が必要です。
- Test environment management
- Functional testing
- Non-functional testing
- Security testing
- Data testing
詳細は こちら をご確認ください。なお、近日中に近日中にこのサーガの日本語での要約記事を更新予定です。
「ガバナンス自動化」のサーガ (Automated governance)
コンプライアンス遵守と適切なリスク管理のための物語。
ガバナンスを自動化することで、開発の俊敏性を失うことなく、標準化されたリスク管理、コンプライアンス遵守、セキュリティ対策を実施することができます。
この物語を成功に導くには、以下の能力の向上が必要です。
- Secure access and delegation
- Data lifecycle management
- Dynamic environment provisioning
- Automated compliance and guardrails
- Continuous auditing
詳細は こちら をご確認ください。なお、近日中に近日中にこのサーガの日本語での要約記事を更新予定です。
「オブザーバビリティ」のサーガ (Observability; 可観測性)
問題の観測と対処を実施しながらビジネス目標を達成していくための物語。
システムの内部情報を観察して理解することで、効率的な問題の検出、トラブルシューティング、対処を実施できます。参考資料として AWS Observability Best Practices も推奨します。
この物語を成功に導くには、以下の能力の向上が必要です。
- Strategic instrumentation
- Data ingestion and processing
- Continuous monitoring
詳細は こちら をご確認ください。なお、近日中に近日中にこのサーガの日本語での要約記事を更新予定です。