@@ -5,11 +5,11 @@ This document describes the Helpful Engineering account and identity architectur
55## Problem Statement
66
77[ Helpful Engineering] ( https://helpfulengineering.org ) is creating and deploying applications to AWS as part of
8- its mission to address the COVID-19 pandemic. These applications are needed or developed by project teams
8+ its mission to address the COVID-19 pandemic. These applications are needed or developed by project teams
99staffed by volunteers from all over the world.
1010
1111The applications and project teams develop and operate independently, have limited time, and use a wide set of
12- implementation technologies. HelpfulEng has neither the time nor the staff to support high touch, high coordination
12+ implementation technologies. Helpful Engineering has neither the time nor the staff to support high touch, high coordination
1313solutions.
1414
1515## Solution Benefits
@@ -19,32 +19,32 @@ execution efficiency.
1919
2020The solution should:
2121
22- * enable project delivery teams to deploy applications safely and independently
23- * safeguard customer and organization data from external and internal threats, both accidental and malicious
24- * minimize demand for scarce DevOps & Cloud skills
22+ * Enable project delivery teams to deploy applications safely and independently.
23+ * Safeguard customer and organization data from external and internal threats, both accidental and malicious.
24+ * Minimize demand for scarce DevOps & Cloud skills.
2525
2626## Key Use Cases
2727
2828### UC1 - Deliver & Operate Applications Independently
2929
3030HelpfulEng project teams and deployments are independent, do not generally depend on each other, and expect a high
31- degree of autonomy. Project teams need to be able to develop applications, deliver them, and perform some amount of
31+ degree of autonomy. Project teams need to be able to develop applications, deliver them, and perform some amount of
3232operational activities in a self-service, low coordination manner.
3333
3434We anticipate that project teams will use a mix of manual and automated Cloud configuration and application deployment.
35- Manual configurations are likely to be used in early prototyping and development. The DevOps team will enable and
35+ Manual configurations are likely to be used in early prototyping and development. The DevOps team will enable and
3636encourage automated configurations delivery and operation to production. The DevOps team has no plans to enforce that.
3737
3838### UC2 - Provision Accounts
3939
40- The HelpfulEng DevOps team will provision AWS accounts for both shared and project delivery accounts. The DevOps team
40+ The HelpfulEng DevOps team will provision AWS accounts for both shared and project delivery accounts. The DevOps team
4141would like provision these accounts in a standardized way with low effort and simple adoption of Cloud security and
4242governance practices.
4343
4444## Logical Architecture
4545
4646This design provisions a set of AWS accounts for each project team to deliver their applications and a few shared
47- accounts for prototyping, security, and governance. The Helpful Engineering AWS Organization will look like:
47+ accounts for prototyping, security, and governance. The Helpful Engineering AWS Organization will look like:
4848
4949```
5050HelpfulEng AWS Org
@@ -63,16 +63,16 @@ HelpfulEng AWS Org
6363 └ ...
6464```
6565
66- The design accommodates the wide set of people, skills, and techniques used throughout HelpfulEng and scopes the
66+ The design accommodates the wide set of people, skills, and techniques used throughout Helpful Engineering and scopes the
6767management, fault, and security domain to the project team. Using separate AWS accounts for each project team
6868creates a strong security boundary between teams that isolates each project's activities, resources, and
6969data from each other.
7070
71- The Helpful Engineering AWS Organization OU will be configured to match the depicted hierarchy. This OU
71+ The Helpful Engineering AWS Organization OU will be configured to match the depicted hierarchy. This OU
7272structure enables use of both shared and project-specific Service Control Policy.
7373
7474The DevOps team will use [ AWS Control Tower] ( https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html )
75- to provision both the shared and project accounts. Control Tower provides a simple account provisioning model that
75+ to provision both the shared and project accounts. Control Tower provides a simple account provisioning model that
7676provides a number of security and governance best practices out of the box.
7777
7878** Core Accounts**
@@ -81,26 +81,26 @@ The `Security` account contains the organization's security logs such as CloudTr
8181
8282The ` Audit ` account contains the organization's audit findings such as Config and GuardDuty reports.
8383
84- ** Sandbox Accounts **
84+ ** Sandbox Accounts**
8585
8686The ` he-sandbox2 ` account is a '[ sandbox] ( https://chariotsolutions.com/blog/post/building-developer-sandboxes-on-aws/ ) '
8787account teams can use to experiment and prototype solutions. Applications should not be operated for customers out of
8888sandbox accounts. The DevOps team should consider enforcing this policy with a governance tool like Cloud Custodian
8989that destroys resources some number of days after provisioning, e.g. 10 days.
9090
91- ** Project Delivery Accounts**
91+ ** Project Delivery Accounts**
9292
9393The DevOps team will provision two 'delivery' accounts for each project team: ` dev ` and ` prod ` . Teams will use the
9494` dev ` account to develop their applications and test application deployments. Applications should be delivered
9595to the production account for operation and use by customers and end users.
9696
9797The project team is responsible for delivering applications to their accounts with support by the DevOps team.
9898
99- Project teams should adopt automated continuous integration to build application artifacts. These artifacts can be
99+ Project teams should adopt automated continuous integration to build application artifacts. These artifacts can be
100100stored in:
101101
102- * a trusted external repository such as Docker Hub
103- * an internal repository such as an S3 bucket hosted within a project account as is the case for the Serverless Framework
102+ * A trusted external repository such as Docker Hub.
103+ * An internal repository such as an S3 bucket hosted within a project account as is the case for the Serverless Framework.
104104
105105The DevOps team recommends that project teams adopt automated continuous delivery to deploy and configure applications.
106106
0 commit comments