This article discusses new capabilities in AWS Resilience Hub for scoping workloads and sharing resilience policies, particularly focusing on Amazon EKS. It covers using Kubernetes labels for precise resource discovery, leveraging generative AI for dependency insights, and centralizing resilience policy management via AWS Organizations. These features streamline the process of assessing and improving application resilience in complex, distributed environments.
Read original on AWS Architecture BlogMaintaining an accurate understanding of application dependencies and their resilience posture is crucial in distributed systems. As applications evolve and new services are deployed, dependencies can shift, and documented recovery objectives can become outdated. This challenge is particularly pronounced in shared environments like Kubernetes clusters, where identifying resources belonging to a specific service requires careful management.
The Next Generation of AWS Resilience Hub introduces three significant capabilities to address these challenges, helping teams align workload scope and resilience requirements with their dynamic environments:
When assessing the resilience of a service, accurately defining its scope is paramount. In Amazon EKS, a single namespace might host multiple distinct workloads. Resilience Hub's new EKS label support enables precise resource selection. For example, if 'checkout' and 'inventory' services share a 'production' namespace but are distinguished by `app=checkout` and `app=inventory` labels, you can configure Resilience Hub to only discover resources associated with `app=checkout`.
aws resiliencehubv2 create-input-source \
--profile workload \
--service-arn "$SERVICE_ARN" \
--resource-configuration '{ "eks": { "clusterArn": "arn:aws:eks:us-east-1:111122223333:cluster/resilience-demo", "namespaces": ["production"], "labelSelector": { "matchExpressions": [ {"key": "app", "operator": "IN", "values": ["checkout"]} ] } } }'System Design Implication
This granular resource scoping is a critical design consideration for multi-tenant or shared infrastructure environments. It allows teams to accurately model and assess the blast radius and recovery objectives of individual services without inadvertently including unrelated components, which is vital for effective incident response and architectural planning. Furthermore, the ability to use existing labeling schemes reduces operational overhead.
As applications grow, their dependency graphs can become extremely complex, making manual review impractical. Dependency Insights, powered by generative AI, automates the summarization of discovered dependencies and identifies patterns that require resilience review. For instance, it can highlight cross-Region dependencies, prompting critical questions about data replication, failover strategies, and cross-Region latency for a service's recovery design. This feature significantly enhances the ability to proactively identify and mitigate resilience risks.