Event-Driven Architecture in the Cloud Little Rock Tech Fest October 10, 2019 Chad Green @ChadGreen Event-Driven Architecture in the Cloud 1
@ChadGreen Event-Driven Architecture in the Cloud 2
Chad Green Director of Software Development ScholarRx chadgreen@chadgreen.com u chadwickegreen ) ChadGreen 2 ChadGreen.com # @ChadGreen Event-Driven Architecture in the Cloud 3
Preamble Event-Driven Architecture in the Cloud @ChadGreen Event-Driven Architecture in the Cloud 4
Enterprise Architecture Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. - Wikip iped edia ia - @ChadGreen Event-Driven Architecture in the Cloud 5
Monolith Enterprise Architecture Orde Or der Proce ocessing ing Paym ayment P nt Proce ocessin sing UI UI Database Database Inve nventor ntory M y Manag anageme ment nt Notif otificat ication ion Fulf ulfillm illment nt @ChadGreen Event-Driven Architecture in the Cloud 6
Microservices Enterprise Architecture Order Or A Proce cessing ing 0 P Processing 0 I Pa Payment Pr G Invento tory ry UI UI a Ma Mana nagement nt 0 t e Notif ific icatio ions ns 0 w a y Fulfilm Fulf ilment nt 0 @ChadGreen Event-Driven Architecture in the Cloud 7
Process Flow Microservices Invento tory ry UI API Gat ateway ay Order Proc ocessi ssing Payme ment nt Processing ng Noti tificati tion Fulfil ilmen ent Manag anagement Place O Orde der Place O Orde der Charge Cr Ch Credit it Ca Card Return urn C Conf N Num um Updat ate I Inv nvent ntor ory Return urn Confir irmatio ion Send O d Order Confir irmatio ion Confir irm Create S Shippin ping g La Labe bel Confir irm Return urn Return urn Confir irmatio ion Confir irmatio ion @ChadGreen Event-Driven Architecture in the Cloud 8
Microservices Enterprise Architecture Order Or A Proce cessing ing 0 P Processing 0 I Pa Payment Pr G Invento tory ry UI UI a Ma Mana nagement nt 0 t e Notif ific icatio ions ns 0 w a y Fulfilm Fulf ilment nt 0 @ChadGreen Event-Driven Architecture in the Cloud 9
Event-Driven Architecture A software architecture pattern promoting the production, detection, consumption of, and reaction to events. - Wikip iped edia ia - @ChadGreen Event-Driven Architecture in the Cloud 10
Event-Driven Architecture @ChadGreen Event-Driven Architecture in the Cloud 11
Event-Driven Architecture @ChadGreen Event-Driven Architecture in the Cloud 12
Event-Driven Architecture Event-driven architecture (EDA) is a design paradigm in which a software component executes in response to receiving one or more event notifications. EDA is more loosely coupled than the client/server paradigm because the component that sen ends the e notification does esn’t kn know the e iden entity of the e rece ceiving ng co compo mponent nts at the time of compiling. - Ga Gart rtner - @ChadGreen Event-Driven Architecture in the Cloud 13
Event-Driven Architecture Even ent Co Consumer er Event nt Produce ucer Eve vent In Inges gestion on Even ent Co Consumer er Even ent Co Consumer er @ChadGreen Event-Driven Architecture in the Cloud 14
Microservices Enterprise Architecture Invento tory ry UI API Gat ateway ay Order Proc ocessi ssing Payme ment nt Processing ng Noti tificati tion Fulfil ilmen ent Manag anagement Place O Orde der Place O Orde der Charge Cr Ch Credit it Ca Card Return urn C Conf N Num um Updat ate I Inv nvent ntor ory Return urn Confir irmatio ion Send O d Order Confir irmatio ion Confir irm Create S Shippin ping g La Labe bel Confir irm Return urn Return urn Confir irmatio ion Confir irmatio ion @ChadGreen Event-Driven Architecture in the Cloud 15
Process Flow Event-Driven Architecture Notif ify S Subs bscrib ibers UI UI Inven ventory M ory Managem emen ent Updat ate I Inv nvent ntor ory Place O Orde der Notific ication ions API G API Gateway Send d Orde der C r Confirma irmatio ion Place O Orde der Eve vent Hu Hub Order er P Processi essing Fulf lfilm ilmen ent Create S Shippin ping L g Label Charge Cr Ch Credit it Ca Card Paymen ent P Processi essing @ChadGreen Event-Driven Architecture in the Cloud 16
Not Queue Based Processing Event-Driven Architecture Update I e Inven ventory Q ory Queue UI UI Inven ventory M ory Managem emen ent Place O Orde der Updat ate I Inv nvent ntor ory Send nd M Messa ssage t to Q Que ueue ue API Gateway API G Order er C Confirm irm Q Queu eue Place O Orde der Order er P Processi essing Notific ication ions Ch Charge Cr Credit it Ca Card Send d Orde der C r Confirma irmatio ion Send nd M Messa ssage t to Q Que ueue ue Paymen ent P Processi essing Fulf lfilm ilmen ent Q Queue Fulf lfilm ilmen ent Create S Shippin ping L g Label @ChadGreen Event-Driven Architecture in the Cloud 17
Event Consumption Models Event-Driven Architecture Even ent Co Consumer er Pub/S ub/Sub ub Event Eve nt Str treamin aming Event nt Produce ucer Eve vent In Inges gestion on Even ent Co Consumer er Even ent Co Consumer er @ChadGreen Event-Driven Architecture in the Cloud 18
Consumer Processing Variations Event-Driven Architecture Sim imple le Event nt Even ent Co Consumer er Proce cessing ing Co Complex Ev Event Even ent Co Consumer er Proce cessing ing Even ent Str trea eam Even ent Co Consumer er Proce cessing ing @ChadGreen Event-Driven Architecture in the Cloud 19
External Event Sources Event-Driven Architecture Even ent Co Consumer er A Event nt Produce ucer Eve vent In Inges gestion on Even ent Co Consumer er Even ent Co Consumer er @ChadGreen Event-Driven Architecture in the Cloud 20
Multiple Consumer Instances Event-Driven Architecture Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Event nt Produce ucer Eve vent In Inges gestion on Even Even ent Co ent Co Consumer Consumer er er Even ent Co Consumer er Even ent Co Consumer er Even Even ent Co ent Co Consumer Consumer er er Even ent Co Consumer er @ChadGreen Event-Driven Architecture in the Cloud 21
When to use this architecture Event-Driven Architecture Multiple Subsystems Real-Time Processing Multiple subsystems Real-time processing must process the same with minimum time lag. events. Complex Event Processing High Volume/Velocity Data Complex event High volume and high processing, such as velocity of data, such as pattern matching or IoT. aggregation over time windows. @ChadGreen Event-Driven Architecture in the Cloud 22
Benefits Event-Driven Architecture Decoupling Encapsulation Responsive Scalable/Distributed Independence @ChadGreen Event-Driven Architecture in the Cloud 23
Drawbacks Event-Driven Architecture Steep Learning Curve Complexity Loss of Transactionality Lineage @ChadGreen Event-Driven Architecture in the Cloud 24
Challenges Event-Driven Architecture Guaranteed Delivery Sequencing @ChadGreen Event-Driven Architecture in the Cloud 25
Implementation Options Event-Driven Architecture in the Cloud @ChadGreen Event-Driven Architecture in the Cloud 26
Implementation Options Google Cloud Pub/Sub StreamSets PubNub Data Stream PieSync TIBCO Spotfire Amazon Kinesis Amazon Elasticsearch Service The PI System The PI System Confluent HVR Antiunity Replicate SQLstream IBM Streaming Analytics Striim Astronomer Azure Event Hubs @ChadGreen Event-Driven Architecture in the Cloud 27
Implementation Options Azure Event Hubs Simple, secure, and scalable real-time data ingestion Fully ully manage anaged, r d, real al-ti time me data data Google Cloud Pub/Sub StreamSets PubNub Data Stream PieSync TIBCO Spotfire Amazon Kinesis Amazon Elasticsearch ing ingest stion ion se service vice that that is is Service sim simple ple, tr , truste usted, d, and and scalable scalable. The PI System The PI System Confluent HVR Antiunity Replicate SQLstream IBM Streaming Analytics Striim Astronomer Azure Event Hubs @ChadGreen Event-Driven Architecture in the Cloud 28
Why choose Event Hubs? Azure Event Hubs Si Simp mple Sec Secure Scalab alable le Open en @ChadGreen Event-Driven Architecture in the Cloud 29
Key Architecture Components Azure Event Hubs Eve Event nt Produce oducers @ChadGreen Event-Driven Architecture in the Cloud 30
Key Architecture Components Azure Event Hubs Par artitions titions @ChadGreen Event-Driven Architecture in the Cloud 31
Key Architecture Components Azure Event Hubs Consume onsumer Groups oups @ChadGreen Event-Driven Architecture in the Cloud 32
Key Architecture Components Azure Event Hubs Thr Throug oughput hput Units nits @ChadGreen Event-Driven Architecture in the Cloud 33
Key Architecture Components Azure Event Hubs Eve Event nt Rece ceive ivers @ChadGreen Event-Driven Architecture in the Cloud 34
Recommend
More recommend