Serverless Event Architecture
Serverless event-driven architecture is a design pattern
where services (functions) respond to specific "events" or triggers
without the need for you to manage the underlying server infrastructure.
Instead of a server sitting idle and waiting for a request, the system only
"wakes up" when something happens.
How It Works: The Three Pillars
A serverless event-driven system generally consists of three
main components:
1.
Event Producers: These are the sources that detect a change in state. Examples include an
uploaded file to a storage bucket, a new row in a database, or a user clicking
a button on a website.
2.
Event Router (The Broker): This is the "middleman" that receives events from
producers and pushes them to the right place. Common tools include AWS
EventBridge, Apache Kafka, or Google Cloud Pub/Sub.
3.
Event Consumers (The Logic): These are the serverless functions (like AWS Lambda
or Google Cloud Functions) that execute code to process the event.
Core Characteristics
- Asynchronous Processing: The producer doesn't have to
wait for the consumer to finish. It sends the event and moves on to the
next task.
- Loose Coupling: The producer doesn't need to
know who the consumer is. This makes it easy to add new features
(consumers) without breaking existing ones.
- Automatic Scaling: Since it’s serverless, the
platform automatically spins up as many function instances as needed to
handle the volume of incoming events.
- Pay-per-use: You are only billed for the
milliseconds your code is actually running in response to an event.