Resilient architectures are the foundation upon which successful businesses are built. However, keeping up with the latest advancements and making sure your systems are resilient can be a daunting task. Between monitoring, analyzing, and documenting architectural findings, a lack of crucial information can leave your organization vulnerable to potential risks and inefficiencies. Even when architectural assessments are conducted, the reports can be highly technical and challenging to comprehend for key stakeholders.
In this post, we explore how to use the power of AWS Resilience Hub and Amazon Bedrock to bridge this gap and streamline the process of sharing architectural findings across your organization. We walk through a solution that uses the generative AI capabilities of Amazon Bedrock to translate technical reports into concise, natural language summaries, making them accessible to a broader audience.
By using the capabilities of Resilience Hub and Amazon Bedrock, you can share findings with C-suite executives, engineers, managers, and other personas within your corporation to provide better visibility over maintaining a resilient architecture.
Solution Overview
By combining Resilience Hub and Amazon Bedrock, you can generate architectural findings in natural language to save time, better understand Recovery Time Objective (RTO) and Recovery Point Objective (RPO) requirements, and distribute assessments through a clear and concise view. Resilience Hub is a central location on the AWS Management Console to manage, define, and assess resilience goals with recommendations based on the AWS Well-Architected Framework. Amazon Bedrock is a fully managed service to build generative AI applications with foundation models (FMs) from leading AI companies such as Anthropic, Mistral AI, Meta, Stability AI, Cohere, AI21 Labs, and Amazon through a single API. Amazon Bedrock allows for integrating generative AI solutions within your application with the ability to test, fine-tune, and customize top FMs based on your use case.
The solution presented in this post is orchestrated through Amazon Cognito to log in to a sample UI that invokes AWS Lambda functions and Amazon Bedrock prompts through large language models (LLMs). Resilience Hub provides resiliency and operational recommendations that include alarms, standard operating procedures (SOPs), and fault injection experiments through AWS Fault Injection Service (FIS). After the assessment Amazon Resource Name (ARN) is input from Resilience Hub, the findings are summarized in natural language to share with other users.
The following diagram illustrates the solution architecture.
The solution workflow includes the following steps:
- The user is authenticated through Amazon Cognito with a user name and password.
- The user accesses the main UI through Amazon CloudFront, which runs a single-page application hosted on Amazon Simple Storage Service (Amazon S3).
- Amazon API Gateway validates the access token with Amazon Cognito, then uses a Lambda function as the integration target.
- Lambda gathers the most recent assessment ARN from your published applications in Resilience Hub.
- A second Lambda function invokes the Amazon Bedrock API.
- Amazon Bedrock processes the assessment and uses prompt engineering techniques to generate the report in natural language based on target personas.
Prerequisites
For this walkthrough, the following are required:
Deploy solution resources
You can deploy the solution using a CloudFormation template, found on the GitHub repo, to automatically provision the necessary resources in your AWS account. You will provision the Amazon S3 hosted UI using the AWS CDK.
Run the solution
Complete the following steps to run the solution:
- Within your terminal or preferred integrated development environment (IDE), run the following commands:
- Using the text editor (vim, nano, notepad) of your choice, replace
EMAIL
in theconstants.py
file with your email. - Deploy with the following code:
Wait for the CloudFormation template to successfully launch. This template takes approximately 10 minutes to deploy.
- On the AWS CloudFormation console, on the stack’s Outputs tab, locate the public-facing URL for your web application (labeled
CLOUDFRONTDISTRIBUTION
).
You should have received an email with your user name being the email you provided in the constants.py
file and a temporary password.
- Log in using the provided credentials, then confirm the password change.
- In the UI, choose Report in the navigation pane.
- For Persona, choose your desired persona.
- For Application, choose your desired application from the list of existing published applications.
- Choose Generate Report to review the concise, summarized report generated from the most recent assessment, which is ready for distribution.
Review the summary
This solution includes a summary example from a sample stack from the executive persona. Due to the nature of generative AI, your results may slightly vary, but will look similar to the following screenshot.
Clean up
To clean up the solution, complete the following steps:
- On the AWS CloudFormation console, delete the CloudFormation stack you created earlier.
- If you downloaded the sample CloudFormation template to assess in Resilience Hub, delete that stack as well.
- On the Resilience Hub console, delete the newly created application. This will delete the assessments.
Conclusion
In this post, we discussed how Resilience Hub and Amazon Bedrock can greatly improve the maintenance and evaluation of resilient architectures in your organization. This solution automates the translation of technical architectural findings into natural language summaries, making critical information accessible to various stakeholders, including C-suite executives, auditors, and managers. Streamlined communication leads to improved understanding and faster decision-making, ultimately benefiting your business operations. Integrating AWS services such as Lambda and Amazon Cognito further automates and simplifies the workflow, providing a seamless experience from assessment to reporting.
Ready to enhance your organization’s architectural resilience? Deploy the solution today and begin transforming your technical reports into concise summaries by following the steps outlined in this post. This allows stakeholders to access important information, promoting informed decision-making and a resilient culture.
For more insights and related content, refer to the following:
About the Authors