SlideShare una empresa de Scribd logo
1 de 100
Sensitivity: Secret
AdvancedEvent-DrivenPatterns
with
AmazonEventBridge
Sheen Brisals
The LEGO Group
sheenbrisals
Sensitivity: Secret
Sheen Brisals
Engineer. Architect. Writer. Speaker. Leader.
AWS Serverless Hero
@ The LEGO Group
Ex Oracle, Hewlett-Packard, Omron, TATA
sheenbrisals sbrisals.medium.com
sheen-brisals
Sensitivity: Secret
Amazon S3
CDN/WAF
AWS WAF
AWS Fargate
Amazon ElastiCache
Amazon API
Gateway
AWS Lambda
AWS Lambda
Amazon Kinesis
Data Firehose
AWS Lambda
Amazon Event
bridge
Amazon SQS
Amazon Dynamo
DB
Amazon SNS
Amazon
CloudWatch
Thirdparty
payments
ecommerce etc
AWS Step
Functions
LEGO.com high level architecture
Serverless
FE & BFF
Amazon ECS on Fargate
Sensitivity: Secret
 Event-driven architecture
 The importance of events
 The need for Amazon EventBridge
 Event-driven patterns
 Resources
Amazon EventBridge
Custom event bus
Default event bus
Partner event bus
Event producers
(sources)
Event
consumers
(targets)
Partner apps
Custom apps
AWS services
Event bus Filtering &
routing
rules
Sensitivity: Secret
Event-DrivenArchitecture(EDA)
Sensitivity: Secret
Event-Driven Architecture (EDA) is an architectural concept
that uses events to communicate between decoupled
microservices asynchronously.
Sensitivity: Secret
carrier
bus
mediator
broker
hub
bridge
Sensitivity: Secret
Sensitivity: Secret
Four main elements of EDA
publisher subscriber
event carrier
event event
Sensitivity: Secret
Events
Sensitivity: Secret
An event is something that has already happened.
Sensitivity: Secret
{
"metadata": {
"version": "1.0",
"domain": "ecommerce",
"subdomain": "orders",
"service": "service-payments",
"type": “data"
},
"data": {
"customer_id": "730e-4dfb-9166",
"order_number": "123-987-456",
"payment_reference": "cc-visa-9076-cv3s5s",
"payment_type": "creditcard",
"amount": 35.99,
"currency": "GBP",
"paid_at": "2023-01-30T09:12:27Z"
}
}
"data": {
"customer_id": "730e-4dfb-9166",
"order_number": "123-987-456",
"payment_reference": "cc-visa-9076-cv3s5s",
"payment_type": "creditcard",
"amount": 35.99,
"currency": "GBP",
"paid_at": "2023-01-30T09:12:27Z"
}
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
{
"metadata": {
"version": "1.0",
"domain": "ecommerce",
"subdomain": "orders",
"service": "service-payments",
"type": “data"
},
"data": {
"customer_id": "730e-4dfb-9166",
"order_number": "123-987-456",
"payment_reference": "cc-visa-9076-cv3s5s",
"payment_type": "creditcard",
"amount": 35.99,
"currency": "GBP",
"paid_at": "2023-01-30T09:12:27Z"
}
}
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
{
"metadata": {
"version": "1.0",
"domain": "holiday-travel",
"subdomain": "flight-booking",
"service": "service-status-checker"
},
"data": {
"system": "anytime-payment-provider",
"current_status": "down",
"previous_status": "up",
"status_count": "2",
"checked_at": "2023-03-20T02:15:00Z"
}
}
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
{
"metadata": {
"created_at": "2023-01-30T09:12:27Z",
"trace_id": "skdj834sd3-j3ns-cmass23",
"domain": "rewards",
"service": "third-party-CRM",
"status": "retry"
},
"data": {
"customer_id": "730e-4dfb-9166",
"reward_code": "DXT876LSA536MBS",
"order_numer": "123-987-456",
"info": {
"activity": "reward_update",
"code": 500,
"cause": "Internal Server Error"
}
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
{
"detail": {
"SaleToPOIRequest": {
"EventNotification": {
"EventDetails": "newstate",
"EventToNotify": "Shutdown",
"TimeStamp": "2019-08-07..."
},
"MessageHeader": {
"SaleID": "POSSystemID12345",
"ProtocolVersion": "3.0",
"MessageType": "Notification",
"POIID": "V400m-324688179",
"MessageClass": "Event",
"MessageCategory": "Event",
"DeviceID": "1517998561"
}
}
}
}
{
“event": “$.detail.SaleToPOIRequest.EventToNotify“,
“device": “$.detail.MessageHeader.DeviceID“
}
{
“eventName": <event>,
“deviceId": <device>
}
original
event
transformation logic
transformed event
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
},
"responseElements": {
"x-amz-request-id": "EXAMPLE123456789",
"x-amz-id-2": "EXAMPLE123/5678abcdefghi/mnopqrsEFGH"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "testConfigRule",
"bucket": {
"name": "festival-promotions",
"ownerIdentity": {
"principalId": "EXAMPLE"
},
"arn": "arn:aws:s3:::festival-promotions"
},
"object": {
"key": "discount_codes.csv",
"size": 1024,
"eTag": "0123456789a6789abcdef",
Sensitivity: Secret
Event Categories
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
custom
events
Sensitivity: Secret
Event Categories Event Types
• Domain events
• Operational events
• Internal / local events
• Transformed events
• AWS events
• Command
• Query
• Request
• Response
• Data
• Status
• Task
Sensitivity: Secret
EventProducer|Publisher|Source
Sensitivity: Secret
• Event producer is agnostic of the consumers
• Producer adds its origin identity Domain, service, function
• Producer conforms to a contract & structure
Think as API
• Packs just-the-required data
Least data privilege
• Producer adds a unique event identifier Think traceability
Sensitivity: Secret
EventConsumer|Subscriber|Target
• Consumer deals with event duplicates Remember idempotency?
• Stores events before processing Storage-first pattern
• Ordering of events not guaranteed
Well, the world is asynchronous!
• Don’t modify & relay events Respect authenticity
Sensitivity: Secret
EventCarrier|Bus|Mediator|Broker
TheNeedforAmazonEventBridge
Sensitivity: Secret
Prove yourself that serverless works!
Convince your colleagues that serverless is fun!
Satisfy your stakeholders that serverless is good!
Sensitivity: Secret
Tangled event-drivenarchitecture
Lambda pinball architecture
Lambda pinball architectures characteristically
lose sight of important domain logic in the
tangled web of lambdas, buckets and queues as
requests bounce around increasingly complex
graphs of cloud services.
Thoughtworks
Sensitivity: Secret
Tangled event-drivenarchitecture
Lambda pinball architecture
Ball of Serverless Mud (BoSM)
Sensitivity: Secret
Sensitivity: Secret
Sensitivity: Secret
Amazon
EventBridge
Sensitivity: Secret
Amazon EventBridge is a serverless event bus service that
makes it easy to connect your applications with data from a
variety of sources
Sensitivity: Secret
Amazon EventBridge
Custom event bus
Default event bus
Partner event bus
Event producers
(sources)
Event consumers
(targets)
Partner apps
Custom apps
AWS services
Event bus Filtering &
routing rules
Sensitivity: Secret
CORE Features COOL Features
• Custom event bus
• Event filtering
• Event routing
• Multiple targets
• Event transformation
• AWS services integration
• Scheduler
• Partner event source
• Schema registry
• Schema discovery
• Event archive & replay
• API destinations
• Pipes
• Sandbox
Sensitivity: Secret
Event-DrivenPatterns
Sensitivity: Secret
There are only patterns, patterns on top of patterns, patterns
that affect other patterns. Patterns hidden by patterns.
Patterns within patterns.
Chuck Palahniuk
Sensitivity: Secret
Pattern:Hub&Spokeeventbus
Usecase:Microserviceschoreography
Sensitivity: Secret
Usecase–Checkouteventprocessing
Login
Checkout
Payment
Order
Data
sync
Shipping
Sensitivity: Secret
Login
Checkout
Payment
Order
Data
sync
Shipping
Sensitivity: Secret
Login
Checkout
Payment
Order
Data
sync
Shipping
Sensitivity: Secret
Hub-and-spokeeventbus
Customer
login
Login Shipping
Send order
to SAP
Data sync
Customer, VIP,
wishlist sync
Checkout
Submit
order
Payment
Authorize
payment
Commerce
platform
Order
Process
order
Order and
customer
updates
Event
relay
Customer
login
Invoke
every
minute
Events Order
complete
Customer
login
Payment
authorized
Order
submit
Order
complete
EventBridge
FIFO
queue
Sensitivity: Secret
Choreography
This Photo by Unknown Author is licensed under CC BY-SA-NC
Event Bus
Publisher Subscriber
Publisher Publisher
Publisher
Subscriber
Subscriber Subscriber
• No conductor
• Pub-sub model
• Service decoupling
• Asynchronous
• Idempotency
• Traceability
Use choreography to coordinate
different microservices
Sensitivity: Secret
Pattern:Transformedeventflow
Usecase:Sharejust-the-requireddata
Sensitivity: Secret
Usecase–Carparkstatusnoticeboard
Sensitivity: Secret
Transformedeventflow
Vehicle
entry
Billboard
feeder
Vehicle entered
Car park status
Vehicle
exit
Vehicle exited
Sensitivity: Secret
{
"detail": {
"metadata": {
“domain": “LEGOLAND-WINDSOR",
“service": “vehicle-entry",
“carpark": “Upper Level",
"type": “CAR",
"status": “ENTERED"
},
"data": {
“registration": “XY12ABC",
“entryTime": “1576826331“,
“spaces”: 125
}
}
}
}
Transformedeventflow
Vehicle entry event
{
“location": “$.detail.metadata.carpark“,
“available": “$.detail.data.spaces“,
}
Data paths
• Limits event data exposure
• Customize target delivery data
“<location> has <available> spaces!!"
Data template
Upper Level has 125 spaces!!
Sensitivity: Secret
Staticeventflow
Checkout Monitor
Order placed Order prompt
Sensitivity: Secret
{
"detail": {
"metadata": {
“domain": “LEGO-SHOP",
“service": “service_checkout",
"type": "ORDER",
"status": “SUBMITTED"
},
"data": {
"orderNumber": "T123456789",
"customerId": "bf3703467718“,
“locale”: “en-GB”,
“value”: 59.99
}
}
}
}
Checkout Monitor
Order placed Order prompt
Extensive
order
data
{
“prompt": “order"
}
Static
constant
data
• Original event is not exposed
• Ideal for hiding sensitive data
• Controls data flow to 3rd parties
Sensitivity: Secret
Pattern:CodelessAPIintegration
Usecase:EventdespatchwithAPIDestination
Sensitivity: Secret
Loyalty
registration
Joins loyalty program
Retail
customer
Retail POS
device Customer
accounts
Loyalty
Service
Customer
Service
Async registration
Registration process
Loyalty
number
Loyalty
number
UseCase:Customerregistration
Enroll
Sensitivity: Secret
Retail POS
app
Enrollment API
Auth
Auth
Handler Customer API
Invoke
Enrollment Registration
X
DLQ DLQ handler
TraditionalSyncTroubles
Sensitivity: Secret
Enrollment
event
Retail POS
app
Loyalty
event bus
Enrollment API
Auth
Auth
Handler Target
rule
Customer API
Invoke
Enrollment Choreography Registration
Event-driven
Sensitivity: Secret
Enrollment
event
Retail POS
app
Loyalty
event bus
Enrollment API
Auth
Auth
Handler Target
rule
Customer API
Invoke
Enrollment Choreography Registration
Destination
Event-drivenwithAPIDestination
Sensitivity: Secret
Source
event
Event
filter
Event
transform
Event
target
Routing
rule
TargetRule-APIDestination
Sensitivity: Secret
API
Destination
target
API
connection
API
endpoint
Basic auth OAuth auth
API key auth Custom Partner
Endpoint URL
HTTP method
Invocation rate
Username
Password
Key name
Value
Auth endpoint
HTTP method
Client ID
Client secret
*****
APIDestinationComponents
Sensitivity: Secret
• Secrets Manager integration
• Rate limit support
• Built-in retry
• Functionless
• Partner targets
• Payload size
• Fire and forget
• No API response handling
• 5 seconds timeout
• Observability challenges
APIDestination–BenefitsvsBeAwareOf
Sensitivity: Secret
Pattern:Circuit-Breaker
Usecase:Failureretrieswitharchive&replay
Sensitivity: Secret
Circuit breaker
Service
consumer
Closed
circuit
Service Service
consumer
Open
circuit
Service
Service
consumer
Service
status
Service
Failed
requests
• Service status check
• Open, half-open, closed
• Essential in distributed services
• Failure replay considerations
Sensitivity: Secret
Use case: Guaranteed data update
Order processingflow
waits for the responses
Sensitivity: Secret
Pattern: Circuit-breaker with archive-replay
Order
Processing
Vendor
Mediator
Event bus
SaaS
Platform
Orders Cache
SUCCESS – All good
ERROR – Data
RETRY – Timeout, 5XX
Sensitivity: Secret
Sensitivity: Secret
Vendor
Mediator
Event bus
Order
status events
Order status
consumer rule
Order retry archive
rule
Event
archive
success
error
retry
retry
Events archive
An event archive is a collection of events that
have been published on an event bus.
Sensitivity: Secret
An event archive is a collection of events that
have been published on an event bus.
Resources:
VoucherArchive:
Type: AWS::Events::Archive
Properties:
ArchiveName: OrdersArchive
Description: Orders to be resubmitted
EventPattern:
<YourEventFilter>
RetentionDays: 10
SourceArn: 'arn:aws:..:event-bus/loyalty'
{
"detail": {
"metadata": {
"domain": [
"LEGO-LOYALTY"
],
"service": [
“order-submission"
],
"category": [
"task-status"
],
"type": [
“order"
],
"status": [
"retry"
]
}
}
}
Sensitivity: Secret
Vendor
Mediator
Event bus
Order
status events
Order status
consumer rule
Order retry archive
rule
Event
archive
success
error
retry
retry
SaaS
Platform
Replay
trigger
Status
Scheduler
API
retry events
retry events
Events replay
Sensitivity: Secret
EventsReplay
StartReplay - API
EventStartTime: timestamp
EventEndTime: timestamp
ReplayName: “OrdersReplay_20220330201522”
{
"detail":{
"metadata":{
"domain":"LEGO-LOYALTY",
"service":“order-submission",
"category":"task-status",
"type":“order",
"status":"retry"
},
"data":{
"request_id":"AbLhmQ",
"reference":"P6IQd",
"order":"M101"
}
},
"replay-name": “OrdersReplay_20220330201522”
}
Replayed Event
Replay API
Sensitivity: Secret
HandlingReplayedEvents
StartReplay - API
EventStartTime: timestamp
EventEndTime: timestamp
ReplayName: “OrdersReplay_20220330201522”
{
"detail":{
"metadata":{
"domain":"LEGO-LOYALTY",
"service":“order-submission",
"category":"task-status",
"type":“order",
"status":"retry"
},
"data":{
"request_id":"AbLhmQ",
"reference":"P6IQd",
"order":"M101"
}
},
"replay-name": “OrdersReplay_20220330201522”
}
Replayed Event
Replay API
{
"detail": {
"metadata": {
"domain": [
"LEGO-LOYALTY"
],
"service": [
“order-submission"
],
"category": [
"task-status"
],
"type": [
“order"
],
"status": [
"retry"
]
}
},
"replay-name": [{
“prefix": “OrdersReplay”
}],
}
Replay Event
Filter Pattern
Sensitivity: Secret
• Flexible retention period
• Multiple archives
• Replay start & end time
• Replay target rule
• Event separation
• Replay event exodus
• Order not maintained
• Take care of idempotency
• No archive visibility
• Replay delay
Archive-Replay–BenefitsvsBeAwareOf
Sensitivity: Secret
Pattern:Distributedorchestration
Usecase:Cross-serviceorchestrationwithtasktoken
Sensitivity: Secret
Choreography
This Photo by Unknown Author is licensed under CC BY-SA-NC
Event Bus
Publisher Subscriber
Publisher Publisher
Publisher
Subscriber
Subscriber Subscriber
• No conductor
• Pub-sub model
• Service decoupling
• Asynchronous
• Idempotency
• Traceability
Use choreography to coordinate
different microservices
Sensitivity: Secret
Orchestration
Sensitivity: Secret
Orchestration
• Orchestrator
• Workflow
• Long running
• Coordination of tasks
• Low code
• Pause & resume
Data
Process
Process Process
Sensitivity: Secret
Orchestration
• Orchestrator
• Workflow
• Long running
• Coordination of tasks
• Low code
• Pause & resume
Data
Process
Process Process
“Cross-service orchestration.
Good or bad?” “Logic:
Inside a function or
in a state machine?”
Use orchestration inside
microservices
Use distributed orchestration
across microservices
Sensitivity: Secret
Use case: Cross-service task coordination
Data Process
Process
Long running
process
API
Function
Microservice A Microservice B
Microservice C
Sensitivity: Secret
Conversationalevent-drivenpattern
A B
Event bus
Request Request
Response Response
Sensitivity: Secret
Publicclient
Loyalty Service
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event
Bus
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Events
Ingestion
LEGO
Event Broker
Order
Management
Sensitivity: Secret
Sensitivity: Secret
Pattern: Distributed orchestration
Microservice A Microservice X
• Keep services decoupled
• Request - response
• Receive completion note
Sensitivity: Secret
Pattern: Distributed orchestration
Microservice A Microservice X
Sensitivity: Secret
Sensitivity: Secret
"Dispatch Voucher": {
"Type": "Task",
"Resource": "arn:aws:states:::events:putEvents.waitForTaskToken",
"HeartbeatSeconds": 6000,
"Parameters": {
"Entries": [
{
"Detail": {
"metadata": {
"domain": "LEGO-LOYALTY",
"service": "service-loyalty-orders",
"category": “internal",
"type": “request",
"status": "processed"
},
"data": {
"loyalty_request_id.$": "$$.Task.Token",
"loyalty_reference.$": "$.loyalty_reference",
"merchant_reference.$": "$.merchant_reference",
"loyalty_order_reference.$": "$.loyalty_order_reference",
"vouchers": [
{
"voucher_code.$": "$.voucher_code"
}
]
}
},
"DetailType": "event",
"EventBusName": "the-custom-event-bus-arn",
"Source": "service-loyalty-order-process"
Sensitivity: Secret
"AAAAKgAAAAIAAAAAAAAAbLhmB7wnOsiBFAq6Cicj2acx8iQe6GDUOd2u+29UMH4y9cqbSO+xNGww
gtfDF/p6kLNHVJVaqjx0GFsstYNoaAdFr4Bmq74ghKhPLny/v2RaYefvylVmOr5wIRHxJy+G8t82NNp2+VEf
dhCSYqRWbFj7aLccbCfPZOnn5BeSN224XMVtP6IF7YcwQd+zqD/ypW+rLh4iayZjKLbyxNyXxY+EdM36
dZzZ/jFbuneNX27nq5WmrP6HKPaKdCT9A1aWv1V1zFct8K+iAzKzo9W8PknfSlNz5dZF1KBfHtAFPILGe
PDwzQoY5MEN3RhodChiEtw6HggXOsSQhtCTqP3bUq5uYhpTRinmmksgNV62uFv2Xk+uFTSumLtigXh
56Z1v8LlBklmY/ACy5qRkNfahIpTZFLQypdiuayQFnY8Cok8U6COeKR+x6zl7DZxuXk8rfc81AH97QTPzk4
Lp+wHdpSsSbvFWvLQGvpdh70Gn9hC45MPw73/gykpCMzs3w1Nbq0NWUAP126i5U4mGOnwQIUKZe4
hSXL+Tplxnnxz5CzHM1wZOm+VLVSP88ae/FhFyjloBESjbXenK1bWyy3SpS="
Sample task token
Sensitivity: Secret
Sensitivity: Secret
Sensitivity: Secret
Pattern:GatekeeperBuspattern
Usecase:GuardingcontextboundarywithEventBridge
Sensitivity: Secret
Publicclient
Loyalty Service Platform
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event
Bus
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Events
Ingestion
Sensitivity: Secret
Publicclient
Loyalty Service Platform
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event
Bus
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Events
Ingestion
Sensitivity: Secret
Publicclient
Loyalty Service Platform
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event
Bus
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Events
Ingestion
Domain events
• Businesssignificant
• Outward & inwardflowing
• Restricted access
Operational/internalevents
• Internal visibility
• Messengers& Catalysts
• Available within the boundary
Sensitivity: Secret
Publicclient
Loyalty Service Platform
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event
Bus
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Webhook
Domain events
• Businesssignificant
• Outward & inwardflowing
• Restricted access
Operational/internalevents
• Internal visibility
• Messengers& Catalysts
• Available within the boundary
Gatekeeperservicebus
Internal
Event
Bus
Gate
Keeper
Bus
External
subscribers
Sensitivity: Secret
Publicclient
Loyalty Service Platform
SaaS
CRM
Data
Feeder
Loyalty
Sessions
Event Source
Orders
Service
Status
Admin
Rewards
Members
SaaS
Survey
LEGO
Data Lake
NPS
Provider
CRM
Mediator
Fraud Engine
Events
Ingestion
Domain events
• Businesssignificant
• Outward & inwardflowing
• Restricted access
Operational/internalevents
• Internal visibility
• Messengers& Catalysts
• Available within the boundary
Gatekeeper
Bus
Internal
Event
Bus
External
Targets
Sensitivity: Secret
FAQ:Singlebusormultiplebuses?
Sensitivity: Secret
• Complex
• Automate pub / sub onboarding
Singleenterprisebus
Multipleenterprisebuses
Singlebusperdomain
Multiplebusesperdomain
• Domain specific
• Better event flow control
• Cross-account event sharing
• Internal vs external bus
• Better control & visibility
• Cross-bus, cross-account sharing
• Compact & controlled option
• Better visibility & governance
• Cross-service sharing
Sensitivity: Secret
FAQ:CanIreplaceKinesiswithEventBridge?
Sensitivity: Secret
• Event streamer
• Event size: 1 MB
• Event batching
• Event store: 24hr – 1yr
• Sequence number
• Limited targets
• On-demand & provisioned
o Event choreographer
o Event size: 256 KB
o No event batching
o Event archive
o No sequencing
o Many targets
o On-demand scaling
Kinesis EventBridge
Services-scale refined event
ingestion and routing
Cloud-scale raw event
ingestion and processing
Sensitivity: Secret
Resources
Sensitivity: Secret
https://serverlessland.com/patterns
Sensitivity: Secret
https://serverlessland.com/event-driven-architecture/visuals
Sensitivity: Secret
https://cdkpatterns.com/
Sensitivity: Secret
https://bit.ly/3iOXHhY
Sensitivity: Secret
Go
Build
Serverless
Thank
You!
sheenbrisals
sbrisals.medium.com
sheen-brisals

Más contenido relacionado

Similar a Advanced Event-Driven Patterns - AWS Community Day Dublin

Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS Summit
Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS SummitThreat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS Summit
Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS SummitAmazon Web Services
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Amazon Web Services
 
Detective Controls: Gain Visibility and Record Change:
Detective Controls: Gain Visibility and Record Change: Detective Controls: Gain Visibility and Record Change:
Detective Controls: Gain Visibility and Record Change: Amazon Web Services
 
Build and run applications without thinking about servers
Build and run applications without thinking about serversBuild and run applications without thinking about servers
Build and run applications without thinking about serversAmazon Web Services
 
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...Amazon Web Services
 
Security Best Practices for Serverless Applications - July 2017 AWS Online T...
Security Best Practices for Serverless Applications  - July 2017 AWS Online T...Security Best Practices for Serverless Applications  - July 2017 AWS Online T...
Security Best Practices for Serverless Applications - July 2017 AWS Online T...Amazon Web Services
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsAmazon Web Services
 
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...Amazon Web Services
 
So You Think You're an AWS Master aka Serverless Computing
So You Think You're an AWS Master aka Serverless ComputingSo You Think You're an AWS Master aka Serverless Computing
So You Think You're an AWS Master aka Serverless ComputingAmazon Web Services
 
AWS_IoT_Device_Management_Workshop.pptx
AWS_IoT_Device_Management_Workshop.pptxAWS_IoT_Device_Management_Workshop.pptx
AWS_IoT_Device_Management_Workshop.pptxhawkheadtrolley
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Amazon Web Services
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsAmazon Web Services
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션Amazon Web Services Korea
 
Cloud Security-how to create serverless applications
Cloud Security-how to create serverless applicationsCloud Security-how to create serverless applications
Cloud Security-how to create serverless applicationsAmazon Web Services
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Amazon Web Services
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoTAmazon Web Services
 
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...Brian Andrzejewski
 
How LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessHow LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessSheenBrisals
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 

Similar a Advanced Event-Driven Patterns - AWS Community Day Dublin (20)

Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS Summit
Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS SummitThreat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS Summit
Threat Detection and Mitigation at Scale on AWS - SID301 - Toronto AWS Summit
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
 
Detective Controls: Gain Visibility and Record Change:
Detective Controls: Gain Visibility and Record Change: Detective Controls: Gain Visibility and Record Change:
Detective Controls: Gain Visibility and Record Change:
 
Build and run applications without thinking about servers
Build and run applications without thinking about serversBuild and run applications without thinking about servers
Build and run applications without thinking about servers
 
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
 
Security Best Practices for Serverless Applications - July 2017 AWS Online T...
Security Best Practices for Serverless Applications  - July 2017 AWS Online T...Security Best Practices for Serverless Applications  - July 2017 AWS Online T...
Security Best Practices for Serverless Applications - July 2017 AWS Online T...
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless Applications
 
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...
AWS re:Invent 2016: Innovation After Installation: Establishing a Digital Rel...
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
So You Think You're an AWS Master aka Serverless Computing
So You Think You're an AWS Master aka Serverless ComputingSo You Think You're an AWS Master aka Serverless Computing
So You Think You're an AWS Master aka Serverless Computing
 
AWS_IoT_Device_Management_Workshop.pptx
AWS_IoT_Device_Management_Workshop.pptxAWS_IoT_Device_Management_Workshop.pptx
AWS_IoT_Device_Management_Workshop.pptx
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
 
Cloud Security-how to create serverless applications
Cloud Security-how to create serverless applicationsCloud Security-how to create serverless applications
Cloud Security-how to create serverless applications
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT
 
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...
AWS ReInvent 2020: SEC313 - A security operator’s guide to practical AWS Clou...
 
How LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessHow LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With Serverless
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 

Más de SheenBrisals

Enterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportEnterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportSheenBrisals
 
Sustainability In Serverless
Sustainability In ServerlessSustainability In Serverless
Sustainability In ServerlessSheenBrisals
 
How to Grow a Serverless Team in an Enterprise
How to Grow a Serverless Team in an EnterpriseHow to Grow a Serverless Team in an Enterprise
How to Grow a Serverless Team in an EnterpriseSheenBrisals
 
The Road To Event-Driven Architecture
The Road To Event-Driven ArchitectureThe Road To Event-Driven Architecture
The Road To Event-Driven ArchitectureSheenBrisals
 
Enterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportEnterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportSheenBrisals
 
Shillings in Serverless
Shillings in ServerlessShillings in Serverless
Shillings in ServerlessSheenBrisals
 
To Serverless And Beyond!
To Serverless And Beyond!To Serverless And Beyond!
To Serverless And Beyond!SheenBrisals
 
Sloppy Little Serverless Stories
Sloppy Little Serverless StoriesSloppy Little Serverless Stories
Sloppy Little Serverless StoriesSheenBrisals
 
How to Grow a Serverless Team
How to Grow a Serverless TeamHow to Grow a Serverless Team
How to Grow a Serverless TeamSheenBrisals
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesSheenBrisals
 

Más de SheenBrisals (10)

Enterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportEnterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience Report
 
Sustainability In Serverless
Sustainability In ServerlessSustainability In Serverless
Sustainability In Serverless
 
How to Grow a Serverless Team in an Enterprise
How to Grow a Serverless Team in an EnterpriseHow to Grow a Serverless Team in an Enterprise
How to Grow a Serverless Team in an Enterprise
 
The Road To Event-Driven Architecture
The Road To Event-Driven ArchitectureThe Road To Event-Driven Architecture
The Road To Event-Driven Architecture
 
Enterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportEnterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience Report
 
Shillings in Serverless
Shillings in ServerlessShillings in Serverless
Shillings in Serverless
 
To Serverless And Beyond!
To Serverless And Beyond!To Serverless And Beyond!
To Serverless And Beyond!
 
Sloppy Little Serverless Stories
Sloppy Little Serverless StoriesSloppy Little Serverless Stories
Sloppy Little Serverless Stories
 
How to Grow a Serverless Team
How to Grow a Serverless TeamHow to Grow a Serverless Team
How to Grow a Serverless Team
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 

Último

Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Último (20)

Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Advanced Event-Driven Patterns - AWS Community Day Dublin