{ "contents" : [ { "title" : "Abstract and introduction", "href" : "welcome.html", "contents" : [ { "title" : "Definitions", "href" : "definitions.html" }, { "title" : "On architecture", "href" : "on-architecture.html" }, { "title" : "General design principles", "href" : "general-design-principles.html" } ] }, { "title" : "The pillars of the framework", "href" : "the-pillars-of-the-framework.html", "contents" : [ { "title" : "Operational excellence", "href" : "operational-excellence.html", "contents" : [ { "title" : "Design principles", "href" : "oe-design-principles.html" }, { "title" : "Definition", "href" : "oe-definition.html" }, { "title" : "Best practices", "href" : "oe-bp.html", "contents" : [ { "title" : "Organization", "href" : "oe-organization.html" }, { "title" : "Prepare", "href" : "oe-prepare.html" }, { "title" : "Operate", "href" : "oe-operate.html" }, { "title" : "Evolve", "href" : "oe-evolve.html" } ] }, { "title" : "Resources", "href" : "oe-resources.html" } ] }, { "title" : "Security", "href" : "security.html", "contents" : [ { "title" : "Design principles", "href" : "sec-design.html" }, { "title" : "Definition", "href" : "sec-def.html" }, { "title" : "Best practices", "href" : "sec-bp.html", "contents" : [ { "title" : "Security foundations", "href" : "sec-security.html" }, { "title" : "Identity and access management", "href" : "sec-iam.html" }, { "title" : "Detection", "href" : "sec-detection.html" }, { "title" : "Infrastructure protection", "href" : "sec-infrastructure.html" }, { "title" : "Data protection", "href" : "sec-dataprot.html" }, { "title" : "Incident response", "href" : "sec-incresp.html" }, { "title" : "Application security", "href" : "sec-appsec.html" } ] }, { "title" : "Resources", "href" : "sec-resources.html" } ] }, { "title" : "Reliability", "href" : "reliability.html", "contents" : [ { "title" : "Design principles", "href" : "rel-dp.html" }, { "title" : "Definition", "href" : "rel-def.html" }, { "title" : "Best practices", "href" : "rel-bp.html", "contents" : [ { "title" : "Foundations", "href" : "rel-found.html" }, { "title" : "Workload architecture", "href" : "rel-workload-arch.html" }, { "title" : "Change management", "href" : "rel-chg-mgmt.html" }, { "title" : "Failure management", "href" : "rel-failmgmt.html" } ] }, { "title" : "Resources", "href" : "rel-resources.html" } ] }, { "title" : "Performance efficiency", "href" : "performance-efficiency.html", "contents" : [ { "title" : "Design principles", "href" : "perf-dp.html" }, { "title" : "Definition", "href" : "perf-def.html" }, { "title" : "Best practices", "href" : "perf-bp.html", "contents" : [ { "title" : "Architecture selection", "href" : "perf-arch.html" }, { "title" : "Compute and hardware", "href" : "perf-compute.html" }, { "title" : "Data management", "href" : "perf-data.html" }, { "title" : "Networking and content delivery", "href" : "perf-networking.html" }, { "title" : "Process and culture", "href" : "perf-process.html" } ] }, { "title" : "Resources", "href" : "perf-resources.html" } ] }, { "title" : "Cost optimization", "href" : "cost-optimization.html", "contents" : [ { "title" : "Design principles", "href" : "cost-dp.html" }, { "title" : "Definition", "href" : "cost-def.html" }, { "title" : "Best practices", "href" : "cost-bp.html", "contents" : [ { "title" : "Practice Cloud Financial Management", "href" : "cost-cfm.html" }, { "title" : "Expenditure and usage awareness", "href" : "cost-aware.html" }, { "title" : "Cost-effective resources", "href" : "cost-cereso.html" }, { "title" : "Manage demand and supply resources", "href" : "cost-mandem.html" }, { "title" : "Optimize over time", "href" : "cost-opti.html" } ] }, { "title" : "Resources", "href" : "cost-resources.html" } ] }, { "title" : "Sustainability", "href" : "sustainability.html", "contents" : [ { "title" : "Design principles", "href" : "sus-design-principles.html" }, { "title" : "Definition", "href" : "sus-def.html" }, { "title" : "Best practices", "href" : "sus-bp.html", "contents" : [ { "title" : "Region selection", "href" : "sus-region-selection.html" }, { "title" : "Alignment to demand", "href" : "sus-user-behavior-patterns.html" }, { "title" : "Software and architecture", "href" : "sus-software-architecture-patterns.html" }, { "title" : "Data management", "href" : "sus-data-patterns.html" }, { "title" : "Hardware and services", "href" : "sus-hardware-patterns.html" }, { "title" : "Process and culture", "href" : "sus-development-deployment-patterns.html" } ] }, { "title" : "Resources", "href" : "sus-resources.html" } ] } ] }, { "title" : "The review process", "href" : "the-review-process.html" }, { "title" : "Conclusion", "href" : "conclusion.html" }, { "title" : "Contributors", "href" : "contributors.html" }, { "title" : "Further reading", "href" : "further-reading.html" }, { "title" : "Document revisions", "href" : "document-revisions.html" }, { "title" : "Appendix: Questions and best practices", "href" : "appendix.html", "contents" : [ { "title" : "Operational excellence", "href" : "a-operational-excellence.html", "contents" : [ { "title" : "Organization", "href" : "a-organization.html", "contents" : [ { "title" : "OPS 1. How do you determine what your priorities are?", "href" : "ops-01.html", "contents" : [ { "title" : "OPS01-BP01 Evaluate external customer needs", "href" : "ops_priorities_ext_cust_needs.html" }, { "title" : "OPS01-BP02 Evaluate internal customer needs", "href" : "ops_priorities_int_cust_needs.html" }, { "title" : "OPS01-BP03 Evaluate governance requirements", "href" : "ops_priorities_governance_reqs.html" }, { "title" : "OPS01-BP04 Evaluate compliance requirements", "href" : "ops_priorities_compliance_reqs.html" }, { "title" : "OPS01-BP05 Evaluate threat landscape", "href" : "ops_priorities_eval_threat_landscape.html" }, { "title" : "OPS01-BP06 Evaluate tradeoffs while managing benefits and risks", "href" : "ops_priorities_eval_tradeoffs.html" } ] }, { "title" : "OPS 2. How do you structure your organization to support your business outcomes?", "href" : "ops-02.html", "contents" : [ { "title" : "OPS02-BP01 Resources have identified owners", "href" : "ops_ops_model_def_resource_owners.html" }, { "title" : "OPS02-BP02 Processes and procedures have identified owners", "href" : "ops_ops_model_def_proc_owners.html" }, { "title" : "OPS02-BP03 Operations activities have identified owners responsible for their performance", "href" : "ops_ops_model_def_activity_owners.html" }, { "title" : "OPS02-BP04 Mechanisms exist to manage responsibilities and ownership", "href" : "ops_ops_model_def_responsibilities_ownership.html" }, { "title" : "OPS02-BP05 Mechanisms exist to request additions, changes, and exceptions", "href" : "ops_ops_model_req_add_chg_exception.html" }, { "title" : "OPS02-BP06 Responsibilities between teams are predefined or negotiated", "href" : "ops_ops_model_def_neg_team_agreements.html" } ] }, { "title" : "OPS 3. How does your organizational culture support your business outcomes?", "href" : "ops-03.html", "contents" : [ { "title" : "OPS03-BP01 Provide executive sponsorship", "href" : "ops_org_culture_executive_sponsor.html" }, { "title" : "OPS03-BP02 Team members are empowered to take action when outcomes are at risk", "href" : "ops_org_culture_team_emp_take_action.html" }, { "title" : "OPS03-BP03 Escalation is encouraged", "href" : "ops_org_culture_team_enc_escalation.html" }, { "title" : "OPS03-BP04 Communications are timely, clear, and actionable", "href" : "ops_org_culture_effective_comms.html" }, { "title" : "OPS03-BP05 Experimentation is encouraged", "href" : "ops_org_culture_team_enc_experiment.html" }, { "title" : "OPS03-BP06 Team members are encouraged to maintain and grow their skill sets", "href" : "ops_org_culture_team_enc_learn.html" }, { "title" : "OPS03-BP07 Resource teams appropriately", "href" : "ops_org_culture_team_res_appro.html" } ] } ] }, { "title" : "Prepare", "href" : "a-prepare.html", "contents" : [ { "title" : "OPS 4. How do you implement observability in your workload?", "href" : "ops-04.html", "contents" : [ { "title" : "OPS04-BP01 Identify key performance indicators", "href" : "ops_observability_identify_kpis.html" }, { "title" : "OPS04-BP02 Implement application telemetry", "href" : "ops_observability_application_telemetry.html" }, { "title" : "OPS04-BP03 Implement user experience telemetry", "href" : "ops_observability_customer_telemetry.html" }, { "title" : "OPS04-BP04 Implement dependency telemetry", "href" : "ops_observability_dependency_telemetry.html" }, { "title" : "OPS04-BP05 Implement distributed tracing", "href" : "ops_observability_dist_trace.html" } ] }, { "title" : "OPS 5. How do you reduce defects, ease remediation, and improve flow into production?", "href" : "ops-05.html", "contents" : [ { "title" : "OPS05-BP01 Use version control", "href" : "ops_dev_integ_version_control.html" }, { "title" : "OPS05-BP02 Test and validate changes", "href" : "ops_dev_integ_test_val_chg.html" }, { "title" : "OPS05-BP03 Use configuration management systems", "href" : "ops_dev_integ_conf_mgmt_sys.html" }, { "title" : "OPS05-BP04 Use build and deployment management systems", "href" : "ops_dev_integ_build_mgmt_sys.html" }, { "title" : "OPS05-BP05 Perform patch management", "href" : "ops_dev_integ_patch_mgmt.html" }, { "title" : "OPS05-BP06 Share design standards", "href" : "ops_dev_integ_share_design_stds.html" }, { "title" : "OPS05-BP07 Implement practices to improve code quality", "href" : "ops_dev_integ_code_quality.html" }, { "title" : "OPS05-BP08 Use multiple environments", "href" : "ops_dev_integ_multi_env.html" }, { "title" : "OPS05-BP09 Make frequent, small, reversible changes", "href" : "ops_dev_integ_freq_sm_rev_chg.html" }, { "title" : "OPS05-BP10 Fully automate integration and deployment", "href" : "ops_dev_integ_auto_integ_deploy.html" } ] }, { "title" : "OPS 6. How do you mitigate deployment risks?", "href" : "ops-06.html", "contents" : [ { "title" : "OPS06-BP01 Plan for unsuccessful changes", "href" : "ops_mit_deploy_risks_plan_for_unsucessful_changes.html" }, { "title" : "OPS06-BP02 Test deployments", "href" : "ops_mit_deploy_risks_test_val_chg.html" }, { "title" : "OPS06-BP03 Employ safe deployment strategies", "href" : "ops_mit_deploy_risks_deploy_mgmt_sys.html" }, { "title" : "OPS06-BP04 Automate testing and rollback", "href" : "ops_mit_deploy_risks_auto_testing_and_rollback.html" } ] }, { "title" : "OPS 7. How do you know that you are ready to support a workload?", "href" : "ops-07.html", "contents" : [ { "title" : "OPS07-BP01 Ensure personnel capability", "href" : "ops_ready_to_support_personnel_capability.html" }, { "title" : "OPS07-BP02: Ensure a consistent review of operational readiness", "href" : "ops_ready_to_support_const_orr.html" }, { "title" : "OPS07-BP03 Use runbooks to perform procedures", "href" : "ops_ready_to_support_use_runbooks.html" }, { "title" : "OPS07-BP04 Use playbooks to investigate issues", "href" : "ops_ready_to_support_use_playbooks.html" }, { "title" : "OPS07-BP05 Make informed decisions to deploy systems and changes", "href" : "ops_ready_to_support_informed_deploy_decisions.html" }, { "title" : "OPS07-BP06 Create support plans for production workloads", "href" : "ops_ready_to_support_enable_support_plans.html" } ] } ] }, { "title" : "Operate", "href" : "a-operate.html", "contents" : [ { "title" : "OPS 8. How do you utilize workload observability in your organization?", "href" : "ops-08.html", "contents" : [ { "title" : "OPS08-BP01 Analyze workload metrics", "href" : "ops_workload_observability_analyze_workload_metrics.html" }, { "title" : "OPS08-BP02 Analyze workload logs", "href" : "ops_workload_observability_analyze_workload_logs.html" }, { "title" : "OPS08-BP03 Analyze workload traces", "href" : "ops_workload_observability_analyze_workload_traces.html" }, { "title" : "OPS08-BP04 Create actionable alerts", "href" : "ops_workload_observability_create_alerts.html" }, { "title" : "OPS08-BP05 Create dashboards", "href" : "ops_workload_observability_create_dashboards.html" } ] }, { "title" : "OPS 9. How do you understand the health of your operations?", "href" : "ops-09.html", "contents" : [ { "title" : "OPS09-BP01 Measure operations goals and KPIs with metrics", "href" : "ops_operations_health_measure_ops_goals_kpis.html" }, { "title" : "OPS09-BP02 Communicate status and trends to ensure visibility into operation", "href" : "ops_operations_health_communicate_status_trends.html" }, { "title" : "OPS09-BP03 Review operations metrics and prioritize improvement", "href" : "ops_operations_health_review_ops_metrics_prioritize_improvement.html" } ] }, { "title" : "OPS 10. How do you manage workload and operations events?", "href" : "ops-10.html", "contents" : [ { "title" : "OPS10-BP01 Use a process for event, incident, and problem management", "href" : "ops_event_response_event_incident_problem_process.html" }, { "title" : "OPS10-BP02 Have a process per alert", "href" : "ops_event_response_process_per_alert.html" }, { "title" : "OPS10-BP03 Prioritize operational events based on business impact", "href" : "ops_event_response_prioritize_events.html" }, { "title" : "OPS10-BP04 Define escalation paths", "href" : "ops_event_response_define_escalation_paths.html" }, { "title" : "OPS10-BP05 Define a customer communication plan for service-impacting events", "href" : "ops_event_response_push_notify.html" }, { "title" : "OPS10-BP06 Communicate status through dashboards", "href" : "ops_event_response_dashboards.html" }, { "title" : "OPS10-BP07 Automate responses to events", "href" : "ops_event_response_auto_event_response.html" } ] } ] }, { "title" : "Evolve", "href" : "a-evolve.html", "contents" : [ { "title" : "OPS 11. How do you evolve operations?", "href" : "ops-11.html", "contents" : [ { "title" : "OPS11-BP01 Have a process for continuous improvement", "href" : "ops_evolve_ops_process_cont_imp.html" }, { "title" : "OPS11-BP02 Perform post-incident analysis", "href" : "ops_evolve_ops_perform_rca_process.html" }, { "title" : "OPS11-BP03 Implement feedback loops", "href" : "ops_evolve_ops_feedback_loops.html" }, { "title" : "OPS11-BP04 Perform knowledge management", "href" : "ops_evolve_ops_knowledge_management.html" }, { "title" : "OPS11-BP05 Define drivers for improvement", "href" : "ops_evolve_ops_drivers_for_imp.html" }, { "title" : "OPS11-BP06 Validate insights", "href" : "ops_evolve_ops_validate_insights.html" }, { "title" : "OPS11-BP07 Perform operations metrics reviews", "href" : "ops_evolve_ops_metrics_review.html" }, { "title" : "OPS11-BP08 Document and share lessons learned", "href" : "ops_evolve_ops_share_lessons_learned.html" }, { "title" : "OPS11-BP09 Allocate time to make improvements", "href" : "ops_evolve_ops_allocate_time_for_imp.html" } ] } ] } ] }, { "title" : "Security", "href" : "a-security.html", "contents" : [ { "title" : "Security foundations", "href" : "a-sec-security.html", "contents" : [ { "title" : "SEC 1. How do you securely operate your workload?", "href" : "sec-01.html", "contents" : [ { "title" : "SEC01-BP01 Separate workloads using accounts", "href" : "sec_securely_operate_multi_accounts.html" }, { "title" : "SEC01-BP02 Secure account root user and properties", "href" : "sec_securely_operate_aws_account.html" }, { "title" : "SEC01-BP03 Identify and validate control objectives", "href" : "sec_securely_operate_control_objectives.html" }, { "title" : "SEC01-BP04 Stay up to date with security threats and recommendations", "href" : "sec_securely_operate_updated_threats.html" }, { "title" : "SEC01-BP05 Reduce security management scope", "href" : "sec_securely_operate_reduce_management_scope.html" }, { "title" : "SEC01-BP06 Automate deployment of standard security controls", "href" : "sec_securely_operate_automate_security_controls.html" }, { "title" : "SEC01-BP07 Identify threats and prioritize mitigations using a threat model", "href" : "sec_securely_operate_threat_model.html" }, { "title" : "SEC01-BP08 Evaluate and implement new security services and features regularly", "href" : "sec_securely_operate_implement_services_features.html" } ] } ] }, { "title" : "Identity and access management", "href" : "a-identity-and-access-management.html", "contents" : [ { "title" : "SEC 2. How do you manage authentication for people and machines?", "href" : "sec-02.html", "contents" : [ { "title" : "SEC02-BP01 Use strong sign-in mechanisms", "href" : "sec_identities_enforce_mechanisms.html" }, { "title" : "SEC02-BP02 Use temporary credentials", "href" : "sec_identities_unique.html" }, { "title" : "SEC02-BP03 Store and use secrets securely", "href" : "sec_identities_secrets.html" }, { "title" : "SEC02-BP04 Rely on a centralized identity provider", "href" : "sec_identities_identity_provider.html" }, { "title" : "SEC02-BP05 Audit and rotate credentials periodically", "href" : "sec_identities_audit.html" }, { "title" : "SEC02-BP06 Employ user groups and attributes", "href" : "sec_identities_groups_attributes.html" } ] }, { "title" : "SEC 3. How do you manage permissions for people and machines?", "href" : "sec-03.html", "contents" : [ { "title" : "SEC03-BP01 Define access requirements", "href" : "sec_permissions_define.html" }, { "title" : "SEC03-BP02 Grant least privilege access", "href" : "sec_permissions_least_privileges.html" }, { "title" : "SEC03-BP03 Establish emergency access process", "href" : "sec_permissions_emergency_process.html" }, { "title" : "SEC03-BP04 Reduce permissions continuously", "href" : "sec_permissions_continuous_reduction.html" }, { "title" : "SEC03-BP05 Define permission guardrails for your organization", "href" : "sec_permissions_define_guardrails.html" }, { "title" : "SEC03-BP06 Manage access based on lifecycle", "href" : "sec_permissions_lifecycle.html" }, { "title" : "SEC03-BP07 Analyze public and cross-account access", "href" : "sec_permissions_analyze_cross_account.html" }, { "title" : "SEC03-BP08 Share resources securely within your organization", "href" : "sec_permissions_share_securely.html" }, { "title" : "SEC03-BP09 Share resources securely with a third party", "href" : "sec_permissions_share_securely_third_party.html" } ] } ] }, { "title" : "Detection", "href" : "a-detective-controls.html", "contents" : [ { "title" : "SEC 4. How do you detect and investigate security events?", "href" : "sec-04.html", "contents" : [ { "title" : "SEC04-BP01 Configure service and application logging", "href" : "sec_detect_investigate_events_app_service_logging.html" }, { "title" : "SEC04-BP02 Capture logs, findings, and metrics in standardized locations", "href" : "sec_detect_investigate_events_logs.html" }, { "title" : "SEC04-BP03 Correlate and enrich security alerts", "href" : "sec_detect_investigate_events_security_alerts.html" }, { "title" : "SEC04-BP04 Initiate remediation for non-compliant resources", "href" : "sec_detect_investigate_events_noncompliant_resources.html" } ] } ] }, { "title" : "Infrastructure protection", "href" : "a-infrastructure-protection.html", "contents" : [ { "title" : "SEC 5. How do you protect your network resources?", "href" : "sec-05.html", "contents" : [ { "title" : "SEC05-BP01 Create network layers", "href" : "sec_network_protection_create_layers.html" }, { "title" : "SEC05-BP02 Control traffic flow within your network layers", "href" : "sec_network_protection_layered.html" }, { "title" : "SEC05-BP03 Implement inspection-based protection", "href" : "sec_network_protection_inspection.html" }, { "title" : "SEC05-BP04 Automate network protection", "href" : "sec_network_auto_protect.html" } ] }, { "title" : "SEC 6. How do you protect your compute resources?", "href" : "sec-06.html", "contents" : [ { "title" : "SEC06-BP01 Perform vulnerability management", "href" : "sec_protect_compute_vulnerability_management.html" }, { "title" : "SEC06-BP02 Provision compute from hardened images", "href" : "sec_protect_compute_hardened_images.html" }, { "title" : "SEC06-BP03 Reduce manual management and interactive access", "href" : "sec_protect_compute_reduce_manual_management.html" }, { "title" : "SEC06-BP04 Validate software integrity", "href" : "sec_protect_compute_validate_software_integrity.html" }, { "title" : "SEC06-BP05 Automate compute protection", "href" : "sec_protect_compute_auto_protection.html" } ] } ] }, { "title" : "Data protection", "href" : "a-data-protection.html", "contents" : [ { "title" : "SEC 7. How do you classify your data?", "href" : "sec-07.html", "contents" : [ { "title" : "SEC07-BP01 Understand your data classification scheme", "href" : "sec_data_classification_identify_data.html" }, { "title" : "SEC07-BP02 Apply data protection controls based on data sensitivity", "href" : "sec_data_classification_define_protection.html" }, { "title" : "SEC07-BP03 Automate identification and classification", "href" : "sec_data_classification_auto_classification.html" }, { "title" : "SEC07-BP04 Define scalable data lifecycle management", "href" : "sec_data_classification_lifecycle_management.html" } ] }, { "title" : "SEC 8. How do you protect your data at rest?", "href" : "sec-08.html", "contents" : [ { "title" : "SEC08-BP01 Implement secure key management", "href" : "sec_protect_data_rest_key_mgmt.html" }, { "title" : "SEC08-BP02 Enforce encryption at rest", "href" : "sec_protect_data_rest_encrypt.html" }, { "title" : "SEC08-BP03 Automate data at rest protection", "href" : "sec_protect_data_rest_automate_protection.html" }, { "title" : "SEC08-BP04 Enforce access control", "href" : "sec_protect_data_rest_access_control.html" } ] }, { "title" : "SEC 9. How do you protect your data in transit?", "href" : "sec-09.html", "contents" : [ { "title" : "SEC09-BP01 Implement secure key and certificate management", "href" : "sec_protect_data_transit_key_cert_mgmt.html" }, { "title" : "SEC09-BP02 Enforce encryption in transit", "href" : "sec_protect_data_transit_encrypt.html" }, { "title" : "SEC09-BP03 Authenticate network communications", "href" : "sec_protect_data_transit_authentication.html" } ] } ] }, { "title" : "Incident response", "href" : "a-incident-response.html", "contents" : [ { "title" : "SEC 10. How do you anticipate, respond to, and recover from incidents?", "href" : "sec-10.html", "contents" : [ { "title" : "SEC10-BP01 Identify key personnel and external resources", "href" : "sec_incident_response_identify_personnel.html" }, { "title" : "SEC10-BP02 Develop incident management plans", "href" : "sec_incident_response_develop_management_plans.html" }, { "title" : "SEC10-BP03 Prepare forensic capabilities", "href" : "sec_incident_response_prepare_forensic.html" }, { "title" : "SEC10-BP04 Develop and test security incident response playbooks", "href" : "sec_incident_response_playbooks.html" }, { "title" : "SEC10-BP05 Pre-provision access", "href" : "sec_incident_response_pre_provision_access.html" }, { "title" : "SEC10-BP06 Pre-deploy tools", "href" : "sec_incident_response_pre_deploy_tools.html" }, { "title" : "SEC10-BP07 Run simulations", "href" : "sec_incident_response_run_game_days.html" }, { "title" : "SEC10-BP08 Establish a framework for learning from incidents", "href" : "sec_incident_response_establish_incident_framework.html" } ] } ] }, { "title" : "Application security", "href" : "a-appsec.html", "contents" : [ { "title" : "SEC 11. How do you incorporate and validate the security properties of applications throughout the design, development, and deployment lifecycle?", "href" : "sec-11.html", "contents" : [ { "title" : "SEC11-BP01 Train for application security", "href" : "sec_appsec_train_for_application_security.html" }, { "title" : "SEC11-BP02 Automate testing throughout the development and release lifecycle", "href" : "sec_appsec_automate_testing_throughout_lifecycle.html" }, { "title" : "SEC11-BP03 Perform regular penetration testing", "href" : "sec_appsec_perform_regular_penetration_testing.html" }, { "title" : "SEC11-BP04 Conduct code reviews", "href" : "sec_appsec_manual_code_reviews.html" }, { "title" : "SEC11-BP05 Centralize services for packages and dependencies", "href" : "sec_appsec_centralize_services_for_packages_and_dependencies.html" }, { "title" : "SEC11-BP06 Deploy software programmatically", "href" : "sec_appsec_deploy_software_programmatically.html" }, { "title" : "SEC11-BP07 Regularly assess security properties of the pipelines", "href" : "sec_appsec_regularly_assess_security_properties_of_pipelines.html" }, { "title" : "SEC11-BP08 Build a program that embeds security ownership in workload teams", "href" : "sec_appsec_build_program_that_embeds_security_ownership_in_teams.html" } ] } ] } ] }, { "title" : "Reliability", "href" : "a-reliability.html", "contents" : [ { "title" : "Foundations", "href" : "a-foundations.html", "contents" : [ { "title" : "REL 1. How do you manage Service Quotas and constraints?", "href" : "rel-01.html", "contents" : [ { "title" : "REL01-BP01 Aware of service quotas and constraints", "href" : "rel_manage_service_limits_aware_quotas_and_constraints.html" }, { "title" : "REL01-BP02 Manage service quotas across accounts and regions", "href" : "rel_manage_service_limits_limits_considered.html" }, { "title" : "REL01-BP03 Accommodate fixed service quotas and constraints through architecture", "href" : "rel_manage_service_limits_aware_fixed_limits.html" }, { "title" : "REL01-BP04 Monitor and manage quotas", "href" : "rel_manage_service_limits_monitor_manage_limits.html" }, { "title" : "REL01-BP05 Automate quota management", "href" : "rel_manage_service_limits_automated_monitor_limits.html" }, { "title" : "REL01-BP06 Ensure that a sufficient gap exists between the current quotas and the maximum usage to accommodate failover", "href" : "rel_manage_service_limits_suff_buffer_limits.html" } ] }, { "title" : "REL 2. How do you plan your network topology?", "href" : "rel-02.html", "contents" : [ { "title" : "REL02-BP01 Use highly available network connectivity for your workload public endpoints", "href" : "rel_planning_network_topology_ha_conn_users.html" }, { "title" : "REL02-BP02 Provision redundant connectivity between private networks in the cloud and on-premises environments", "href" : "rel_planning_network_topology_ha_conn_private_networks.html" }, { "title" : "REL02-BP03 Ensure IP subnet allocation accounts for expansion and availability", "href" : "rel_planning_network_topology_ip_subnet_allocation.html" }, { "title" : "REL02-BP04 Prefer hub-and-spoke topologies over many-to-many mesh", "href" : "rel_planning_network_topology_prefer_hub_and_spoke.html" }, { "title" : "REL02-BP05 Enforce non-overlapping private IP address ranges in all private address spaces where they are connected", "href" : "rel_planning_network_topology_non_overlap_ip.html" } ] } ] }, { "title" : "Workload architecture", "href" : "a-workload-architecture.html", "contents" : [ { "title" : "REL 3. How do you design your workload service architecture?", "href" : "rel-03.html", "contents" : [ { "title" : "REL03-BP01 Choose how to segment your workload", "href" : "rel_service_architecture_monolith_soa_microservice.html" }, { "title" : "REL03-BP02 Build services focused on specific business domains and functionality", "href" : "rel_service_architecture_business_domains.html" }, { "title" : "REL03-BP03 Provide service contracts per API", "href" : "rel_service_architecture_api_contracts.html" } ] }, { "title" : "REL 4. How do you design interactions in a distributed system to prevent failures?", "href" : "rel-04.html", "contents" : [ { "title" : "REL04-BP01 Identify the kind of distributed systems you depend on", "href" : "rel_prevent_interaction_failure_identify.html" }, { "title" : "REL04-BP02 Implement loosely coupled dependencies", "href" : "rel_prevent_interaction_failure_loosely_coupled_system.html" }, { "title" : "REL04-BP03 Do constant work", "href" : "rel_prevent_interaction_failure_constant_work.html" }, { "title" : "REL04-BP04 Make mutating operations idempotent", "href" : "rel_prevent_interaction_failure_idempotent.html" } ] }, { "title" : "REL 5. How do you design interactions in a distributed system to mitigate or withstand failures?", "href" : "rel-05.html", "contents" : [ { "title" : "REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies", "href" : "rel_mitigate_interaction_failure_graceful_degradation.html" }, { "title" : "REL05-BP02 Throttle requests", "href" : "rel_mitigate_interaction_failure_throttle_requests.html" }, { "title" : "REL05-BP03 Control and limit retry calls", "href" : "rel_mitigate_interaction_failure_limit_retries.html" }, { "title" : "REL05-BP04 Fail fast and limit queues", "href" : "rel_mitigate_interaction_failure_fail_fast.html" }, { "title" : "REL05-BP05 Set client timeouts", "href" : "rel_mitigate_interaction_failure_client_timeouts.html" }, { "title" : "REL05-BP06 Make systems stateless where possible", "href" : "rel_mitigate_interaction_failure_stateless.html" }, { "title" : "REL05-BP07 Implement emergency levers", "href" : "rel_mitigate_interaction_failure_emergency_levers.html" } ] } ] }, { "title" : "Change management", "href" : "a-change-management.html", "contents" : [ { "title" : "REL 6. How do you monitor workload resources?", "href" : "rel-06.html", "contents" : [ { "title" : "REL06-BP01 Monitor all components for the workload (Generation)", "href" : "rel_monitor_aws_resources_monitor_resources.html" }, { "title" : "REL06-BP02 Define and calculate metrics (Aggregation)", "href" : "rel_monitor_aws_resources_notification_aggregation.html" }, { "title" : "REL06-BP03 Send notifications (Real-time processing and alarming)", "href" : "rel_monitor_aws_resources_notification_monitor.html" }, { "title" : "REL06-BP04 Automate responses (Real-time processing and alarming)", "href" : "rel_monitor_aws_resources_automate_response_monitor.html" }, { "title" : "REL06-BP05 Analyze logs", "href" : "rel_monitor_aws_resources_storage_analytics.html" }, { "title" : "REL06-BP06 Regularly review monitoring scope and metrics", "href" : "rel_monitor_aws_resources_review_monitoring.html" }, { "title" : "REL06-BP07 Monitor end-to-end tracing of requests through your system", "href" : "rel_monitor_aws_resources_end_to_end.html" } ] }, { "title" : "REL 7. How do you design your workload to adapt to changes in demand?", "href" : "rel-07.html", "contents" : [ { "title" : "REL07-BP01 Use automation when obtaining or scaling resources", "href" : "rel_adapt_to_changes_autoscale_adapt.html" }, { "title" : "REL07-BP02 Obtain resources upon detection of impairment to a workload", "href" : "rel_adapt_to_changes_reactive_adapt_auto.html" }, { "title" : "REL07-BP03 Obtain resources upon detection that more resources are needed for a workload", "href" : "rel_adapt_to_changes_proactive_adapt_auto.html" }, { "title" : "REL07-BP04 Load test your workload", "href" : "rel_adapt_to_changes_load_tested_adapt.html" } ] }, { "title" : "REL 8. How do you implement change?", "href" : "rel-08.html", "contents" : [ { "title" : "REL08-BP01 Use runbooks for standard activities such as deployment", "href" : "rel_tracking_change_management_planned_changemgmt.html" }, { "title" : "REL08-BP02 Integrate functional testing as part of your deployment", "href" : "rel_tracking_change_management_functional_testing.html" }, { "title" : "REL08-BP03 Integrate resiliency testing as part of your deployment", "href" : "rel_tracking_change_management_resiliency_testing.html" }, { "title" : "REL08-BP04 Deploy using immutable infrastructure", "href" : "rel_tracking_change_management_immutable_infrastructure.html" }, { "title" : "REL08-BP05 Deploy changes with automation", "href" : "rel_tracking_change_management_automated_changemgmt.html" } ] } ] }, { "title" : "Failure management", "href" : "a-failure-management.html", "contents" : [ { "title" : "REL 9. How do you back up data?", "href" : "rel-09.html", "contents" : [ { "title" : "REL09-BP01 Identify and back up all data that needs to be backed up, or reproduce the data from sources", "href" : "rel_backing_up_data_identified_backups_data.html" }, { "title" : "REL09-BP02 Secure and encrypt backups", "href" : "rel_backing_up_data_secured_backups_data.html" }, { "title" : "REL09-BP03 Perform data backup automatically", "href" : "rel_backing_up_data_automated_backups_data.html" }, { "title" : "REL09-BP04 Perform periodic recovery of the data to verify backup integrity and processes", "href" : "rel_backing_up_data_periodic_recovery_testing_data.html" } ] }, { "title" : "REL 10. How do you use fault isolation to protect your workload?", "href" : "rel-10.html", "contents" : [ { "title" : "REL10-BP01 Deploy the workload to multiple locations", "href" : "rel_fault_isolation_multiaz_region_system.html" }, { "title" : "REL10-BP02 Automate recovery for components constrained to a single location", "href" : "rel_fault_isolation_single_az_system.html" }, { "title" : "REL10-BP03 Use bulkhead architectures to limit scope of impact", "href" : "rel_fault_isolation_use_bulkhead.html" } ] }, { "title" : "REL 11. How do you design your workload to withstand component failures?", "href" : "rel-11.html", "contents" : [ { "title" : "REL11-BP01 Monitor all components of the workload to detect failures", "href" : "rel_withstand_component_failures_monitoring_health.html" }, { "title" : "REL11-BP02 Fail over to healthy resources", "href" : "rel_withstand_component_failures_failover2good.html" }, { "title" : "REL11-BP03 Automate healing on all layers", "href" : "rel_withstand_component_failures_auto_healing_system.html" }, { "title" : "REL11-BP04 Rely on the data plane and not the control plane during recovery", "href" : "rel_withstand_component_failures_avoid_control_plane.html" }, { "title" : "REL11-BP05 Use static stability to prevent bimodal behavior", "href" : "rel_withstand_component_failures_static_stability.html" }, { "title" : "REL11-BP06 Send notifications when events impact availability", "href" : "rel_withstand_component_failures_notifications_sent_system.html" }, { "title" : "REL11-BP07 Architect your product to meet availability targets and uptime service level agreements (SLAs)", "href" : "rel_withstand_component_failures_service_level_agreements.html" } ] }, { "title" : "REL 12. How do you test reliability?", "href" : "rel-12.html", "contents" : [ { "title" : "REL12-BP01 Use playbooks to investigate failures", "href" : "rel_testing_resiliency_playbook_resiliency.html" }, { "title" : "REL12-BP02 Perform post-incident analysis", "href" : "rel_testing_resiliency_rca_resiliency.html" }, { "title" : "REL12-BP03 Test scalability and performance requirements", "href" : "rel_testing_resiliency_test_non_functional.html" }, { "title" : "REL12-BP04 Test resiliency using chaos engineering", "href" : "rel_testing_resiliency_failure_injection_resiliency.html" }, { "title" : "REL12-BP05 Conduct game days regularly", "href" : "rel_testing_resiliency_game_days_resiliency.html" } ] }, { "title" : "REL 13. How do you plan for disaster recovery (DR)?", "href" : "rel-13.html", "contents" : [ { "title" : "REL13-BP01 Define recovery objectives for downtime and data loss", "href" : "rel_planning_for_recovery_objective_defined_recovery.html" }, { "title" : "REL13-BP02 Use defined recovery strategies to meet the recovery objectives", "href" : "rel_planning_for_recovery_disaster_recovery.html" }, { "title" : "REL13-BP03 Test disaster recovery implementation to validate the implementation", "href" : "rel_planning_for_recovery_dr_tested.html" }, { "title" : "REL13-BP04 Manage configuration drift at the DR site or Region", "href" : "rel_planning_for_recovery_config_drift.html" }, { "title" : "REL13-BP05 Automate recovery", "href" : "rel_planning_for_recovery_auto_recovery.html" } ] } ] } ] }, { "title" : "Performance efficiency", "href" : "a-performance-efficiency.html", "contents" : [ { "title" : "Architecture selection", "href" : "a-selection.html", "contents" : [ { "title" : "PERF 1. How do you select appropriate cloud resources and architecture for your workload?", "href" : "perf-01.html", "contents" : [ { "title" : "PERF01-BP01 Learn about and understand available cloud services and features", "href" : "perf_architecture_understand_cloud_services_and_features.html" }, { "title" : "PERF01-BP02 Use guidance from your cloud provider or an appropriate partner to learn about architecture patterns and best practices", "href" : "perf_architecture_guidance_architecture_patterns_best_practices.html" }, { "title" : "PERF01-BP03 Factor cost into architectural decisions", "href" : "perf_architecture_factor_cost_into_architectural_decisions.html" }, { "title" : "PERF01-BP04 Evaluate how trade-offs impact customers and architecture efficiency", "href" : "perf_architecture_evaluate_trade_offs.html" }, { "title" : "PERF01-BP05 Use policies and reference architectures", "href" : "perf_architecture_use_policies_and_reference_architectures.html" }, { "title" : "PERF01-BP06 Use benchmarking to drive architectural decisions", "href" : "perf_architecture_use_benchmarking.html" }, { "title" : "PERF01-BP07 Use a data-driven approach for architectural choices", "href" : "perf_architecture_use_data_driven_approach.html" } ] } ] }, { "title" : "Compute and hardware", "href" : "a-compute-hardware.html", "contents" : [ { "title" : "PERF 2. How do you select and use compute resources in your workload?", "href" : "perf-02.html", "contents" : [ { "title" : "PERF02-BP01 Select the best compute options for your workload", "href" : "perf_compute_hardware_select_best_compute_options.html" }, { "title" : "PERF02-BP02 Understand the available compute configuration and features", "href" : "perf_compute_hardware_understand_compute_configuration_features.html" }, { "title" : "PERF02-BP03 Collect compute-related metrics", "href" : "perf_compute_hardware_collect_compute_related_metrics.html" }, { "title" : "PERF02-BP04 Configure and right-size compute resources", "href" : "perf_compute_hardware_configure_and_right_size_compute_resources.html" }, { "title" : "PERF02-BP05 Scale your compute resources dynamically", "href" : "perf_compute_hardware_scale_compute_resources_dynamically.html" }, { "title" : "PERF02-BP06 Use optimized hardware-based compute accelerators", "href" : "perf_compute_hardware_compute_accelerators.html" } ] } ] }, { "title" : "Data management", "href" : "a-data-management.html", "contents" : [ { "title" : "PERF 3. How do you store, manage, and access data in your workload?", "href" : "perf-03.html", "contents" : [ { "title" : "PERF03-BP01 Use a purpose-built data store that best supports your data access and storage requirements", "href" : "perf_data_use_purpose_built_data_store.html" }, { "title" : "PERF03-BP02 Evaluate available configuration options for data store", "href" : "perf_data_evaluate_configuration_options_data_store.html" }, { "title" : "PERF03-BP03 Collect and record data store performance metrics", "href" : "perf_data_collect_record_data_store_performance_metrics.html" }, { "title" : "PERF03-BP04 Implement strategies to improve query performance in data store", "href" : "perf_data_implement_strategies_to_improve_query_performance.html" }, { "title" : "PERF03-BP05 Implement data access patterns that utilize caching", "href" : "perf_data_access_patterns_caching.html" } ] } ] }, { "title" : "Networking and content delivery", "href" : "a-networking-delivery.html", "contents" : [ { "title" : "PERF 4. How do you select and configure networking resources in your workload?", "href" : "perf-04.html", "contents" : [ { "title" : "PERF04-BP01 Understand how networking impacts performance", "href" : "perf_networking_understand_how_networking_impacts_performance.html" }, { "title" : "PERF04-BP02 Evaluate available networking features", "href" : "perf_networking_evaluate_networking_features.html" }, { "title" : "PERF04-BP03 Choose appropriate dedicated connectivity or VPN for your workload", "href" : "perf_networking_choose_appropriate_dedicated_connectivity_or_vpn.html" }, { "title" : "PERF04-BP04 Use load balancing to distribute traffic across multiple resources", "href" : "perf_networking_load_balancing_distribute_traffic.html" }, { "title" : "PERF04-BP05 Choose network protocols to improve performance", "href" : "perf_networking_choose_network_protocols_improve_performance.html" }, { "title" : "PERF04-BP06 Choose your workload's location based on network requirements", "href" : "perf_networking_choose_workload_location_network_requirements.html" }, { "title" : "PERF04-BP07 Optimize network configuration based on metrics", "href" : "perf_networking_optimize_network_configuration_based_on_metrics.html" } ] } ] }, { "title" : "Process and culture", "href" : "a-process-culture.html", "contents" : [ { "title" : "PERF 5. How do your organizational practices and culture contribute to performance efficiency in your workload?", "href" : "perf-05.html", "contents" : [ { "title" : "PERF05-BP01 Establish key performance indicators (KPIs) to measure workload health and performance", "href" : "perf_process_culture_establish_key_performance_indicators.html" }, { "title" : "PERF05-BP02 Use monitoring solutions to understand the areas where performance is most critical", "href" : "perf_process_culture_use_monitoring_solutions.html" }, { "title" : "PERF05-BP03 Define a process to improve workload performance", "href" : "perf_process_culture_workload_performance.html" }, { "title" : "PERF05-BP04 Load test your workload", "href" : "perf_process_culture_load_test.html" }, { "title" : "PERF05-BP05 Use automation to proactively remediate performance-related issues", "href" : "perf_process_culture_automation_remediate_issues.html" }, { "title" : "PERF05-BP06 Keep your workload and services up-to-date", "href" : "perf_process_culture_keep_workload_and_services_up_to_date.html" }, { "title" : "PERF05-BP07 Review metrics at regular intervals", "href" : "perf_process_culture_review_metrics.html" } ] } ] } ] }, { "title" : "Cost optimization", "href" : "a-cost-optimization.html", "contents" : [ { "title" : "Practice Cloud Financial Management", "href" : "a-practice-cloud-financial-management.html", "contents" : [ { "title" : "COST 1. How do you implement cloud financial management?", "href" : "cost-01.html", "contents" : [ { "title" : "COST01-BP01 Establish ownership of cost optimization", "href" : "cost_cloud_financial_management_function.html" }, { "title" : "COST01-BP02 Establish a partnership between finance and technology", "href" : "cost_cloud_financial_management_partnership.html" }, { "title" : "COST01-BP03 Establish cloud budgets and forecasts", "href" : "cost_cloud_financial_management_budget_forecast.html" }, { "title" : "COST01-BP04 Implement cost awareness in your organizational processes", "href" : "cost_cloud_financial_management_cost_awareness.html" }, { "title" : "COST01-BP05 Report and notify on cost optimization", "href" : "cost_cloud_financial_management_usage_report.html" }, { "title" : "COST01-BP06 Monitor cost proactively", "href" : "cost_cloud_financial_management_proactive_process.html" }, { "title" : "COST01-BP07 Keep up-to-date with new service releases", "href" : "cost_cloud_financial_management_scheduled.html" }, { "title" : "COST01-BP08 Create a cost-aware culture", "href" : "cost_cloud_financial_management_culture.html" }, { "title" : "COST01-BP09 Quantify business value from cost optimization", "href" : "cost_cloud_financial_management_quantify_value.html" } ] } ] }, { "title" : "Expenditure and usage awareness", "href" : "a-expenditure-and-usage-awareness.html", "contents" : [ { "title" : "COST 2. How do you govern usage?", "href" : "cost-02.html", "contents" : [ { "title" : "COST02-BP01 Develop policies based on your organization requirements", "href" : "cost_govern_usage_policies.html" }, { "title" : "COST02-BP02 Implement goals and targets", "href" : "cost_govern_usage_goal_target.html" }, { "title" : "COST02-BP03 Implement an account structure", "href" : "cost_govern_usage_account_structure.html" }, { "title" : "COST02-BP04 Implement groups and roles", "href" : "cost_govern_usage_groups_roles.html" }, { "title" : "COST02-BP05 Implement cost controls", "href" : "cost_govern_usage_controls.html" }, { "title" : "COST02-BP06 Track project lifecycle", "href" : "cost_govern_usage_track_lifecycle.html" } ] }, { "title" : "COST 3. How do you monitor your cost and usage?", "href" : "cost-03.html", "contents" : [ { "title" : "COST03-BP01 Configure detailed information sources", "href" : "cost_monitor_usage_detailed_source.html" }, { "title" : "COST03-BP02 Add organization information to cost and usage", "href" : "cost_monitor_usage_org_information.html" }, { "title" : "COST03-BP03 Identify cost attribution categories", "href" : "cost_monitor_usage_define_attribution.html" }, { "title" : "COST03-BP04 Establish organization metrics", "href" : "cost_monitor_usage_define_kpi.html" }, { "title" : "COST03-BP05 Configure billing and cost management tools", "href" : "cost_monitor_usage_config_tools.html" }, { "title" : "COST03-BP06 Allocate costs based on workload metrics", "href" : "cost_monitor_usage_allocate_outcome.html" } ] }, { "title" : "COST 4. How do you decommission resources?", "href" : "cost-04.html", "contents" : [ { "title" : "COST04-BP01 Track resources over their lifetime", "href" : "cost_decomissioning_resources_track.html" }, { "title" : "COST04-BP02 Implement a decommissioning process", "href" : "cost_decomissioning_resources_implement_process.html" }, { "title" : "COST04-BP03 Decommission resources", "href" : "cost_decomissioning_resources_decommission.html" }, { "title" : "COST04-BP04 Decommission resources automatically", "href" : "cost_decomissioning_resources_decomm_automated.html" }, { "title" : "COST04-BP05 Enforce data retention policies", "href" : "cost_decomissioning_resources_data_retention.html" } ] } ] }, { "title" : "Cost-effective resources", "href" : "a-cost-effective-resources.html", "contents" : [ { "title" : "COST 5. How do you evaluate cost when you select services?", "href" : "cost-05.html", "contents" : [ { "title" : "COST05-BP01 Identify organization requirements for cost", "href" : "cost_select_service_requirements.html" }, { "title" : "COST05-BP02 Analyze all components of the workload", "href" : "cost_select_service_analyze_all.html" }, { "title" : "COST05-BP03 Perform a thorough analysis of each component", "href" : "cost_select_service_thorough_analysis.html" }, { "title" : "COST05-BP04 Select software with cost-effective licensing", "href" : "cost_select_service_licensing.html" }, { "title" : "COST05-BP05 Select components of this workload to optimize cost in line with organization priorities", "href" : "cost_select_service_select_for_cost.html" }, { "title" : "COST05-BP06 Perform cost analysis for different usage over time", "href" : "cost_select_service_analyze_over_time.html" } ] }, { "title" : "COST 6. How do you meet cost targets when you select resource type, size and number?", "href" : "cost-06.html", "contents" : [ { "title" : "COST06-BP01 Perform cost modeling", "href" : "cost_type_size_number_resources_cost_modeling.html" }, { "title" : "COST06-BP02 Select resource type, size, and number based on data", "href" : "cost_type_size_number_resources_data.html" }, { "title" : "COST06-BP03 Select resource type, size, and number automatically based on metrics", "href" : "cost_type_size_number_resources_metrics.html" }, { "title" : "COST06-BP04 Consider using shared resources", "href" : "cost_type_size_number_resources_shared.html" } ] }, { "title" : "COST 7. How do you use pricing models to reduce cost?", "href" : "cost-07.html", "contents" : [ { "title" : "COST07-BP01 Perform pricing model analysis", "href" : "cost_pricing_model_analysis.html" }, { "title" : "COST07-BP02 Choose Regions based on cost", "href" : "cost_pricing_model_region_cost.html" }, { "title" : "COST07-BP03 Select third-party agreements with cost-efficient terms", "href" : "cost_pricing_model_third_party.html" }, { "title" : "COST07-BP04 Implement pricing models for all components of this workload", "href" : "cost_pricing_model_implement_models.html" }, { "title" : "COST07-BP05 Perform pricing model analysis at the management account level", "href" : "cost_pricing_model_master_analysis.html" } ] }, { "title" : "COST 8. How do you plan for data transfer charges?", "href" : "cost-08.html", "contents" : [ { "title" : "COST08-BP01 Perform data transfer modeling", "href" : "cost_data_transfer_modeling.html" }, { "title" : "COST08-BP02 Select components to optimize data transfer cost", "href" : "cost_data_transfer_optimized_components.html" }, { "title" : "COST08-BP03 Implement services to reduce data transfer costs", "href" : "cost_data_transfer_implement_services.html" } ] } ] }, { "title" : "Manage demand and supply resources", "href" : "a-manage-demand-and-supply-resources.html", "contents" : [ { "title" : "COST 9. How do you manage demand, and supply resources?", "href" : "cost-09.html", "contents" : [ { "title" : "COST09-BP01 Perform an analysis on the workload demand", "href" : "cost_manage_demand_resources_cost_analysis.html" }, { "title" : "COST09-BP02 Implement a buffer or throttle to manage demand", "href" : "cost_manage_demand_resources_buffer_throttle.html" }, { "title" : "COST09-BP03 Supply resources dynamically", "href" : "cost_manage_demand_resources_dynamic.html" } ] } ] }, { "title" : "Optimize over time", "href" : "a-optimize-over-time.html", "contents" : [ { "title" : "COST 10. How do you evaluate new services?", "href" : "cost-10.html", "contents" : [ { "title" : "COST10-BP01 Develop a workload review process", "href" : "cost_evaluate_new_services_review_process.html" }, { "title" : "COST10-BP02 Review and analyze this workload regularly", "href" : "cost_evaluate_new_services_review_workload.html" } ] }, { "title" : "COST 11. How do you evaluate the cost of effort?", "href" : "cost-11.html", "contents" : [ { "title" : "COST11-BP01 Perform automation for operations", "href" : "cost_evaluate_cost_effort_automations_operations.html" } ] } ] } ] }, { "title" : "Sustainability", "href" : "a-sustainability.html", "contents" : [ { "title" : "Region selection", "href" : "a-region-selection.html", "contents" : [ { "title" : "SUS 1 How do you select Regions for your workload?", "href" : "w2aac19c17b7b5.html", "contents" : [ { "title" : "SUS01-BP01 Choose Region based on both business requirements and sustainability goals", "href" : "sus_sus_region_a2.html" } ] } ] }, { "title" : "Alignment to demand", "href" : "a-alignment-to-demand.html", "contents" : [ { "title" : "SUS 2 How do you align cloud resources to your demand?", "href" : "sus-02.html", "contents" : [ { "title" : "SUS02-BP01 Scale workload infrastructure dynamically", "href" : "sus_sus_user_a2.html" }, { "title" : "SUS02-BP02 Align SLAs with sustainability goals", "href" : "sus_sus_user_a3.html" }, { "title" : "SUS02-BP03 Stop the creation and maintenance of unused assets", "href" : "sus_sus_user_a4.html" }, { "title" : "SUS02-BP04 Optimize geographic placement of workloads based on their networking requirements", "href" : "sus_sus_user_a5.html" }, { "title" : "SUS02-BP05 Optimize team member resources for activities performed", "href" : "sus_sus_user_a6.html" }, { "title" : "SUS02-BP06 Implement buffering or throttling to flatten the demand curve", "href" : "sus_sus_user_a7.html" } ] } ] }, { "title" : "Software and architecture", "href" : "a-sus-software-architecture.html", "contents" : [ { "title" : "SUS 3 How do you take advantage of software and architecture patterns to support your sustainability goals?", "href" : "sus-03.html", "contents" : [ { "title" : "SUS03-BP01 Optimize software and architecture for asynchronous and scheduled jobs", "href" : "sus_sus_software_a2.html" }, { "title" : "SUS03-BP02 Remove or refactor workload components with low or no use", "href" : "sus_sus_software_a3.html" }, { "title" : "SUS03-BP03 Optimize areas of code that consume the most time or resources", "href" : "sus_sus_software_a4.html" }, { "title" : "SUS03-BP04 Optimize impact on devices and equipment", "href" : "sus_sus_software_a5.html" }, { "title" : "SUS03-BP05 Use software patterns and architectures that best support data access and storage patterns", "href" : "sus_sus_software_a6.html" } ] } ] }, { "title" : "Data", "href" : "a-sus-data.html", "contents" : [ { "title" : "SUS 4 How do you take advantage of data management policies and patterns to support your sustainability goals?", "href" : "sus-04.html", "contents" : [ { "title" : "SUS04-BP01 Implement a data classification policy", "href" : "sus_sus_data_a2.html" }, { "title" : "SUS04-BP02 Use technologies that support data access and storage patterns", "href" : "sus_sus_data_a3.html" }, { "title" : "SUS04-BP03 Use policies to manage the lifecycle of your datasets", "href" : "sus_sus_data_a4.html" }, { "title" : "SUS04-BP04 Use elasticity and automation to expand block storage or file system", "href" : "sus_sus_data_a5.html" }, { "title" : "SUS04-BP05 Remove unneeded or redundant data", "href" : "sus_sus_data_a6.html" }, { "title" : "SUS04-BP06 Use shared file systems or storage to access common data", "href" : "sus_sus_data_a7.html" }, { "title" : "SUS04-BP07 Minimize data movement across networks", "href" : "sus_sus_data_a8.html" }, { "title" : "SUS04-BP08 Back up data only when difficult to recreate", "href" : "sus_sus_data_a9.html" } ] } ] }, { "title" : "Hardware and services", "href" : "a-sus-hardware-and-services.html", "contents" : [ { "title" : "SUS 5 How do you select and use cloud hardware and services in your architecture to support your sustainability goals?", "href" : "sus-05.html", "contents" : [ { "title" : "SUS05-BP01 Use the minimum amount of hardware to meet your needs", "href" : "sus_sus_hardware_a2.html" }, { "title" : "SUS05-BP02 Use instance types with the least impact", "href" : "sus_sus_hardware_a3.html" }, { "title" : "SUS05-BP03 Use managed services", "href" : "sus_sus_hardware_a4.html" }, { "title" : "SUS05-BP04 Optimize your use of hardware-based compute accelerators", "href" : "sus_sus_hardware_a5.html" } ] } ] }, { "title" : "Process and culture", "href" : "a-sus-process-and-culture.html", "contents" : [ { "title" : "SUS 6 How do your organizational processes support your sustainability goals?", "href" : "sus-06.html", "contents" : [ { "title" : "SUS06-BP01 Communicate and cascade your sustainability goals", "href" : "sus_sus_dev_a1.html" }, { "title" : "SUS06-BP02 Adopt methods that can rapidly introduce sustainability improvements", "href" : "sus_sus_dev_a2.html" }, { "title" : "SUS06-BP03 Keep your workload up-to-date", "href" : "sus_sus_dev_a3.html" }, { "title" : "SUS06-BP04 Increase utilization of build environments", "href" : "sus_sus_dev_a4.html" }, { "title" : "SUS06-BP05 Use managed device farms for testing", "href" : "sus_sus_dev_a5.html" } ] } ] } ] } ] }, { "title" : "Notices", "href" : "notices.html" }, { "title" : "AWS Glossary", "href" : "glossary.html" } ] }