Files
oci-deal-accelerator/kb/well-architected/operational-efficiency.yaml
2026-03-18 18:03:44 -03:00

175 lines
6.6 KiB
YAML

# OCI Well-Architected Framework — Pillar 4: Operational Efficiency
# Source: https://docs.oracle.com/en/solutions/oci-best-practices/best-practices-operating-cloud-deployments-efficiency.html
pillar:
name: "Operational Efficiency"
id: operational_efficiency
wa_reference: "https://docs.oracle.com/en/solutions/oci-best-practices/best-practices-operating-cloud-deployments-efficiency.html"
reference: "https://docs.oracle.com/en/solutions/oci-best-practices/best-practices-operating-cloud-deployments-efficiency.html"
categories:
- name: "Deployment Strategy"
id: deployment_strategy
checks:
- id: OPS-DEP-001
name: "Infrastructure as Code"
description: "Infrastructure as Code (Terraform, Resource Manager) for all resources"
auto_detect:
pass_if: "Terraform or Resource Manager specified for infrastructure provisioning"
gap_if: "no IaC strategy specified"
severity: HIGH
applies_when: always
- id: OPS-DEP-002
name: "CI/CD pipeline"
description: "CI/CD pipeline defined for application deployment"
auto_detect:
pass_if: "CI/CD pipeline specified (OCI DevOps, Jenkins, GitLab, etc.)"
gap_if: "no CI/CD pipeline defined"
severity: MEDIUM
applies_when: "has_application_workloads"
- id: OPS-DEP-003
name: "Deployment strategy"
description: "Blue/green or canary deployment strategy for production changes"
auto_detect:
pass_if: "deployment strategy (blue/green, canary, rolling) defined"
gap_if: "no deployment strategy for production changes"
severity: MEDIUM
applies_when: "has_production_applications"
- id: OPS-DEP-004
name: "Environment parity"
description: "Environment parity (dev/staging/prod use same IaC templates)"
auto_detect:
pass_if: "same IaC templates used across environments with variable overrides"
gap_if: "different provisioning methods across environments"
severity: MEDIUM
applies_when: "has_multiple_environments"
- name: "Workload Monitoring"
id: workload_monitoring
checks:
- id: OPS-MON-001
name: "OCI Monitoring alarms"
description: "OCI Monitoring alarms configured for key metrics"
auto_detect:
pass_if: "monitoring alarms defined for CPU, memory, disk, network"
gap_if: "no monitoring alarms configured"
severity: HIGH
applies_when: always
- id: OPS-MON-002
name: "Custom application metrics"
description: "Custom metrics for application-specific KPIs"
auto_detect:
pass_if: "custom metrics defined for application performance"
gap_if: "no application-level monitoring beyond infrastructure metrics"
severity: MEDIUM
applies_when: "has_application_workloads"
- id: OPS-MON-003
name: "Logging Analytics"
description: "Logging Analytics for centralized log analysis"
auto_detect:
pass_if: "OCI Logging Analytics configured"
gap_if: "no centralized log analysis solution"
severity: MEDIUM
applies_when: always
- id: OPS-MON-004
name: "APM configured"
description: "APM configured for application tracing"
auto_detect:
pass_if: "OCI APM or third-party APM configured"
gap_if: "no application performance monitoring"
severity: LOW
applies_when: "has_application_workloads"
- id: OPS-MON-005
name: "Database Management"
description: "Database Management enabled for DB performance monitoring"
auto_detect:
pass_if: "OCI Database Management service enabled"
gap_if: "databases without performance monitoring"
severity: MEDIUM
applies_when: "has_databases"
- id: OPS-MON-006
name: "Ops Insights"
description: "Ops Insights for capacity planning"
auto_detect:
pass_if: "Ops Insights configured for capacity planning"
gap_if: "no capacity planning solution"
severity: LOW
applies_when: "has_production_workloads"
- name: "OS Management"
id: os_management
checks:
- id: OPS-OSM-001
name: "OS Management Hub"
description: "OS Management Hub for patch management"
auto_detect:
pass_if: "OS Management Hub configured for compute fleet"
gap_if: "no automated OS patch management"
severity: MEDIUM
applies_when: "has_compute_instances"
- id: OPS-OSM-002
name: "Automated patching schedule"
description: "Automated patching schedule for compute instances"
auto_detect:
pass_if: "patching schedule defined with maintenance windows"
gap_if: "no patching schedule for compute instances"
severity: MEDIUM
applies_when: "has_compute_instances"
- id: OPS-OSM-003
name: "Vulnerability remediation SLA"
description: "Vulnerability remediation SLA defined"
auto_detect:
pass_if: "vulnerability remediation timelines defined by severity"
gap_if: "no vulnerability remediation SLA"
severity: MEDIUM
applies_when: "has_compute_instances"
- name: "Operations Support"
id: operations_support
checks:
- id: OPS-SUP-001
name: "Support plan level"
description: "Support plan level appropriate for workload criticality"
auto_detect:
pass_if: "Oracle support plan level specified and matches criticality"
gap_if: "no support plan consideration"
severity: LOW
applies_when: always
- id: OPS-SUP-002
name: "Notification topics"
description: "Notification topics configured for operational events"
auto_detect:
pass_if: "OCI Notifications configured for operational events"
gap_if: "no notification configuration"
severity: MEDIUM
applies_when: always
- id: OPS-SUP-003
name: "Operational runbooks"
description: "Runbooks documented for common operational procedures"
auto_detect:
pass_if: "operational runbooks planned or documented"
gap_if: "no operational runbooks"
severity: LOW
applies_when: "has_production_workloads"
- id: OPS-SUP-004
name: "Automated remediation"
description: "OCI Events + Functions for automated remediation"
auto_detect:
pass_if: "event-driven automation configured for common issues"
gap_if: "no automated remediation"
severity: LOW
applies_when: "has_production_workloads"