AWS Solutions Architect
Create an AWS system architecture tailored to your specific task requirements
Published Feb 11, 2024
Last Modified Mar 12, 2024
Often when new or even existing AWS users wants to build a system with AWS, they does not know which AWS services to use. Given the large number of AWS services, and that the variety of tasks that people are trying to solve require different combinations of services, it is really hard to know the best AWS system architecture to solve the problem. The steep learning curve will delay and might even discourage some users from even trying to use AWS to solve their problem. So to help these users build systems with AWS quickly, I built the PartyRock app called AWS Solutions Architect.
The user writes a text description of the task that they want to accomplish.
The AWS Solutions Architect app proposes an AWS architecture that accomplishes this task.
There are multiple widgets in this app, namely:
- Task Description
Here the user describes the problem they want to solve using AWS. - Status
This widget enables us to determine whether the task can be achieved using AWS. If a task cannot be solved using AWS, the status widget will say so and none of the other widgets will give any output because these depend on the output of the Status widget. - AWS System Architecture
The initial section of this widget provides an introduction to the AWS architecture, followed by a comprehensive breakdown of the various services utilized within the architecture. Each service is detailed in a step-by-step format, along with explanations of their interactions. - AWS CLI Code
This widget provides the command-line interface (CLI) code required to set up all the services utilized in building the architecture. - AWS Web Console
If the user prefers to manually construct the architecture using the web console, this widget provides detailed, step-by-step instructions. - Common Mistakes
This widget identifies the typical errors users encounter when using these services. - Common Issues
This widget highlights the common challenges that users often encounter while utilizing these services. - Common User Questions
- Vulnerabilities
This describes the vulnerabilities of the architecture and proposes solutions. - Extra Help
In this widget, users have the opportunity to pose further inquiries to the LLM regarding these services. - Cost
This widget provides an overview of the expenses associated with utilizing each of the various services. - Architecture Limitations
This widget describes the limitations of the architecture. - Architecture Diagram Prompt
This widget shows the prompt used to generate the architecture diagram. - Architecture Diagram
This widget shows the architecture diagram. Among all the widgets, this one performs the least effectively, despite the prompt used to generate this diagram (previous bullet point) works well. - User Satisfaction
This widget gives the number of questions users ask AWS customer care per day for individual services used in the architecture. This gives the user an estimate of how complicated different services are. However since PartyRock does not have access to the AWS customer care database, this currently doesn't give anything useful.
This app has been tested using the following prompts in the initial Task Description widget
- A user records videos with a camera. He wants to stream and then store the videos in AWS. He wants to run facial recognition on these videos and in case there is an intruder, AWS should send an sms to the user.
- A user interacts with an app on the phone and based on the his keystrokes, we need to send targeted advertisements via push notifications.
- The quick brown fox jumps over the lazy dog.
The first two prompts give AWS architectures, whereas since no AWS architecture exists for the third prompt, the Status widget says so and none of the other LLM widgets in the app will give any output.
The outputs of all the widgets when the first prompt is used are given above.
The output when the second prompt is used is not presented here.
The output when the third prompt is used is
For many individuals, whether newcomers to AWS or experienced users, grasping the breadth of available AWS services, their functionalities, and the steps needed to configure them for specific tasks can be daunting. They may have a clear understanding of their goals but lack the know-how to execute them using AWS services. As a result, they find themselves navigating through the process of launching desired services, whether via CLI or the web console, often requiring extensive online research. Additionally, they must determine the associated costs for each service involved. Since this involves a lot of work, this can discourage many users from even trying to use AWS to solve their task. Our application streamlines the entire process by simply taking a task description as input and automating the subsequent steps. This might encourage more users to use AWS, will make existing users experience more enjoyable.
This app can hopefully be featured on the front page of AWS, and other social media, given its critical importance, and this can encourage wide community adaption.
Currently, the AWS system architecture diagram generated by the app is very bad. If the app allows us to link to external websites, then we can possibly get better system diagrams, by linking it directly to the AWS website.
If we can link this app to AWS customer care, then users can click on something they don't understand in the app and then speak to customer care directly regarding that question.
If this app has access to customer care database of historical questions, then we can estimates of how complicated individual services are based on the number of questions asked by users regarding these different services.
To access the PartyRock app, click the link below