DevOps Event Driven Architecture
Overview 🔍
Welcome to the Event-Driven Architecture Lab Series! 🚀
Over the next four labs, we'll build a simplified, yet powerful, feature inspired by platforms like Netflix: a movie "like" system with recommendations. This project serves as a practical vehicle to explore and implement core concepts of Event-Driven Architecture (EDA) using modern cloud services on AWS. We'll start with a user clicking "Like" and end with a dynamic recommendation page, all powered by an asynchronous, decoupled backend.
Purpose 🎯
The primary goal of this series is to provide hands-on experience with designing and building event-driven systems. You will learn:
- How to decouple different parts of an application using event streams.
- How to leverage serverless compute (AWS Lambda) for event processing.
- How to use managed services like API Gateway, Kinesis, DynamoDB, and S3 effectively.
- How to define and manage cloud infrastructure using Terraform (Infrastructure as Code).
- The benefits of EDA, such as scalability, resilience, and extensibility.
Technology Stack 🛠️
Throughout this series, we will utilize:
- Frontend: A simple UI container (details provided) with movie tiles and like buttons.
- API Layer: AWS API Gateway for creating RESTful endpoints.
- Compute: AWS Lambda for serverless event processing.
- Event Streaming: AWS Kinesis Data Streams as our event bus.
- Data Storage:
- AWS DynamoDB for storing and querying aggregated like counts.
- AWS S3 via Kinesis Data Firehose for archiving raw event data.
- Infrastructure as Code (IaC): Terraform for defining and deploying AWS resources.
- Version Control: Git & GitHub for managing code.
- (Optional CI/CD): GitHub Actions (or similar) could automate deployment, though manual deployment steps will be detailed.
By the end of this series, you'll have a functioning application demonstrating key EDA patterns and a solid understanding of how these cloud services work together. Let's get started ! 🎉
Part of this Project
DevOps Event Driven Architecture — Part 2
DevOps Event Driven Architecture — Part 3
DevOps Event Driven Architecture — Part 4
Ubuntu