Skip to content

jwalsh/aws-architecture-decomposition-lab

Repository files navigation

AWS Architecture Decomposition Lab

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

Project Structure

Diagrams

#+DIAGRAMS_START

Available Diagrams

The following diagrams are available in this project:

Diagram NameDescriptionComplexity
URL ShortenerA serverless URL shortening service3
Photo Sharing AppA scalable photo sharing application5
Ride Sharing ServiceA real-time ride-sharing platform7
Netflix-like StreamingA video streaming service similar to Netflix8
Twitter-like Social NetworkA microblogging and social networking service6
E-commerce PlatformA comprehensive e-commerce solution7
IoT Data Processing PipelineAn IoT data ingestion and processing architecture6
Machine Learning TrainingA distributed machine learning model training pipeline5
Serverless Web ApplicationA scalable web application using serverless components4
Multi-Region Active-ActiveA globally distributed application with active-active setup9

-------------------------------------------+----------------+-------------------------|

Overall Repository Quality78

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:

make test

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:

(org-babel-tangle)

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

Releases

No releases published

Packages

No packages published