Leveraging ChatGPT to Craft an AWS Architecture Blueprint

Using an LLM to sketch cloud architecture — prompts, diagrams, and the tradeoffs of letting a model draft your topology.

Introduction

ChatGPT is a conversational agent rooted in the GPT-4 architecture. It is adept at answering questions, offering insights, and assisting in system design. This post delves into how we can employ ChatGPT to craft a microservices-based blogging system on AWS.

Step-by-Step Guide

1. Establishing Requirements

Start by defining your system’s requirements. you can consider:

  • User Management
  • Blog Posts
  • Comments
  • Media Storage
  • Search
  • Analytics
  • Notifications

or Let ChatGPT Suggest

2. Engage in a Conversation with ChatGPT

Through OpenAI’s interface or other platforms integrating ChatGPT, initiate your inquiry by presenting the list of requirements.

For example: “Design a microservice-based architecture for a blogging system on AWS based on these requirements…”

I prefaced it with this prompt:

Design a microservice-based architecture for a blogging system on AWS. Analyze the requirements thoroughly and propose the architecture.

3. Comprehend and Amend

ChatGPT will suggest a prospective architecture. In our scenario, it recommended AWS services like Cognito, Lambda, RDS, S3, Elasticsearch, and so on.

Nonetheless, it’s imperative to grasp these suggestions. Pose additional questions or seek clarifications.

4. Visualization with the ‘diagram’ Library

After finalizing the architecture, ChatGPT can assist in visualizing it using the diagram Python library. By furnishing code that generates a visual depiction of the architecture, it enhances comprehension and communication.

Chatgpt cannot directly run the code and generate the image for you, it can guide you through the steps to do it on your machine.

💡 The diagram code shared had discrepancies in the imports. I referenced ChatGPT to the documentation text (here) to rectify it.

Here’s the preliminary output:

Initial architecture proposed by ChatGPT

Following some feedback to ChatGPT:

Revised architecture after feedback

Subsequently, after consulting ChatGPT for details about the content services and incorporating a CDN, this architecture emerged:

Architecture with content services and CDN added

You can continue to work with ChatGPT to refine the architecture and modify components as needed, like requests to add, remove, or replace certain services with others.

For example, ask ChatGPT to utilize AWS Fargate, and you’ll receive a code that generates the following diagram:

Architecture variant using AWS Fargate

5. Implementation and Deployment

Armed with the architecture and its visual representation, you can proceed to the implementation phase. Additionally, ChatGPT can provide foundational Infrastructure as Code (IaC) like Cloudformation scripts for your setup.

However, always ensure that while ChatGPT lays a strong groundwork, you should validate the architecture against your distinct use case and constraints.

Conclusion

Leveraging conversational agents like ChatGPT for system design can expedite the ideation process and yield precious insights. It’s crucial to perceive it as a complementary tool, melding the prowess of ChatGPT with human intuition and expertise, culminating in resilient and adept systems.