logo
Menu
AWS Solutions Architect

AWS Solutions Architect

Create an AWS system architecture tailored to your specific task requirements

Published Feb 11, 2024
Last Modified Mar 12, 2024

Inspiration

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.

Overview

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.

Description

There are multiple widgets in this app, namely:
  • Task Description
    Here the user describes the problem they want to solve using AWS.
  • Task Description
  • 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.
    Status
  • 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 System Architecture
  • 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 CLI Code
  • AWS Web Console
    If the user prefers to manually construct the architecture using the web console, this widget provides detailed, step-by-step instructions.
    AWS Web Console
  • Common Mistakes
    This widget identifies the typical errors users encounter when using these services.
    Common Mistakes
  • Common Issues
    This widget highlights the common challenges that users often encounter while utilizing these services.
    Common Issues
  • Common User Questions
    Common User Questions
  • Vulnerabilities
    This describes the vulnerabilities of the architecture and proposes solutions.
    Vulnerabilities
  • 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.
    Cost
  • 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 Prompt
  • 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.
    Architecture Diagram
  • 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.
    User Satisfaction

Prompts

This app has been tested using the following prompts in the initial Task Description widget 
  1. 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.
  2. A user interacts with an app on the phone and based on the his keystrokes, we need to send targeted advertisements via push notifications.
  3. 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
Invalid Prompt

Community Impact

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.

Future Work

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.

PartyRock App

To access the PartyRock app, click the link below

Video Description of the PartyRock App

Comments