https://github.com/jwalsh/aws-architecture-decomposition-lab
System designs for Amazon Web Services (AWS) hands-on projects
https://github.com/jwalsh/aws-architecture-decomposition-lab
architecture aws aws-services cloud-architecture diagrams infrastructure mermaid reference-architecture system-design
Last synced: 4 months ago
JSON representation
System designs for Amazon Web Services (AWS) hands-on projects
- Host: GitHub
- URL: https://github.com/jwalsh/aws-architecture-decomposition-lab
- Owner: jwalsh
- License: other
- Created: 2024-06-30T21:27:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T00:25:53.000Z (almost 2 years ago)
- Last Synced: 2025-10-31T00:40:25.634Z (8 months ago)
- Topics: architecture, aws, aws-services, cloud-architecture, diagrams, infrastructure, mermaid, reference-architecture, system-design
- Language: Mermaid
- Homepage:
- Size: 6.63 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.org
- Contributing: CONTRIBUTING.org
- License: LICENSE
Awesome Lists containing this project
README
* AWS Architecture Decomposition Lab
#+CREATOR: Jason Walsh
#+PROPERTY: header-args :eval never-export
#+OPTIONS: toc:2
This repository focuses on decomposing system designs for Amazon Web Services (AWS) hands-on projects, providing practical experience with AWS use cases.
** Learning Objectives
- Decompose system designs for WAC
- Explore key AWS services and their interactions
- Understanding how different AWS services interact in real-world scenarios
- Implementing serverless, machine learning, content delivery, and data processing architectures
- Visualizing architectures using Mermaid diagrams
- Explore scalability, performance, and security considerations
- Gain hands-on experience with AWS
- Implement literate programming practices using org-mode and babel
** References
- https://aws.amazon.com/architecture/well-architected/
- https://cloud.google.com/architecture/framework
- https://learn.microsoft.com/en-us/azure/well-architected/
- https://www.ibm.com/architectures/well-architected/
** Project Structure
#+BEGIN_SRC shell :results output :exports results
tree -L 2 -d
#+END_SRC
** Diagrams
#+DIAGRAMS_START
*** Available Diagrams
The following diagrams are available in this project:
| Diagram Name | Description | Complexity |
|---------------------------------+-----------------------------------------------------------+------------|
| URL Shortener | A serverless URL shortening service | 3 |
| Photo Sharing App | A scalable photo sharing application | 5 |
| Ride Sharing Service | A real-time ride-sharing platform | 7 |
| Netflix-like Streaming | A video streaming service similar to Netflix | 8 |
| Twitter-like Social Network | A microblogging and social networking service | 6 |
| E-commerce Platform | A comprehensive e-commerce solution | 7 |
| IoT Data Processing Pipeline | An IoT data ingestion and processing architecture | 6 |
| Machine Learning Training | A distributed machine learning model training pipeline | 5 |
| Serverless Web Application | A scalable web application using serverless components | 4 |
| Multi-Region Active-Active | A globally distributed application with active-active setup | 9 |
-------------------------------------------+----------------+-------------------------|
| Overall Repository Quality | 7 | | 8 | |
** Note
In the diagrams folder, you will find Mermaid diagrams for various system designs.
These diagrams can be rendered using the mermaid command:
mermaid view diagrams/url_shortener.mmd
To build the diagrams, use the =make diagrams= command.
** Development Workflow
1. Clone the repository
2. Install dependencies: =make install-deps=
3. Build diagrams: =make diagrams=
4. Run tests: =make test=
5. Lint code: =make lint=
** Testing
To run tests, use the following command:
#+BEGIN_SRC shell
make test
#+END_SRC
** Contributing
Please read the CONTRIBUTING.org file for details on our code of conduct and the process for submitting pull requests.
** Literate Programming with Org-mode
This project uses org-mode for literate programming. To tangle source files from org files, use the following command:
#+BEGIN_SRC emacs-lisp
(org-babel-tangle)
#+END_SRC
** License
This project is licensed under the MIT License - see the LICENSE file for details.
** Contact
For help or questions, please open an issue or contact @jwalsh.
** Additional Resources
- AWS Documentation: https://docs.aws.amazon.com/
- https://cloudacademy.com/learning-paths/aws-solutions-architect-associate-saa-c02-certification-preparation-954/?utm_source=google&utm_medium=paid-search&utm_campaign=&utm_content=163936506156&utm_term=certified%20solutions%20architect%20associate&utm_feeditemid=&utm_device=c&gad_source=1&gclid=Cj0KCQjw-uK0BhC0ARIsANQtgGM_XsyHTXUKy31qNN4MaFjx_8TBhm5PL8Ooa19c9bK_1ju2LQx8MIYaAud1EALw_wcB