Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Architecture

3,195 views

Published on

Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Architecture and Asynchronous Techniques

Published in: Technology, Business
  • Be the first to comment

Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Architecture

  1. 1. Lie Cheat Steal to build Hyper-Fast Applications - using Asynchronous & Event-Driven Architecture - Naresh Chintalcheru
  2. 2. Google Search 2 million search results in just 0.15 seconds
  3. 3. Facebook Even if you have 1000 friends the message will be posted instantaneous.
  4. 4. Twitter Even if you have 20,000 followers the tweet will be instantaneous.
  5. 5. Pinterest The picture is already uploaded before you pin it.
  6. 6. Common What is common in all these lies, cheats & steals ?
  7. 7. Common Endless pursuit to build Hyper-Fast applications
  8. 8. Users ● End of the day users don’t care about the background processing system as long as they are reliable ● Most of them including majority of IT guys don't even know about lies
  9. 9. Does it matter ? ● It does not matter whether these companies lie, cheat or steal. They already won the war of “Ultimate User Experience” ● From Kids to Grandma’s millions of users spanning Countries, Continents and Cultures love these Apps and are addicted to them.
  10. 10. 2013 Experian Report : User Time Spent Marketingprofs.com
  11. 11. Unfortunate for Business Applications ● Every hour users spend on internet only 3 minutes is spent on Business Applications ● Users spend more time on Social and Entertainment Apps. ● Unfortunately User Experience and Application Speed expectations are already set by these applications
  12. 12. Business Applications Focus Customer facing Business Application should focus on User Experience and Application Speed
  13. 13. Business Applications Focus User Experience will be taken care by the Graphic Designers and Interface Design Analysts
  14. 14. Business Applications Focus Much more complicated is Application Speed
  15. 15. Speed The Google Search, Facebook, Twitter and Pinterest Application Speed is so fast ???
  16. 16. Speed Application Speed is so fast ??? or ... Speed Perception
  17. 17. App Speed Trick They are telling us the User initiated transaction is completed even though it is still running in the background.
  18. 18. Asynchronous Techniques Asynchronous Techniques UI Level, Application Level and Service Level
  19. 19. Asynchronous Techniques Asynchronous Techniques
  20. 20. Asynchronous Techniques Asynchronous Techniques are the great way to unblock the user I/O Thread and send response faster but involves serious risk if background Thread fails. Slow System is better than an Unreliable System
  21. 21. Business Applications Majority of the Business Applications in various industries use SOA (Service-Oriented Architecture) in the enterprise Application Architecture & Infrastructure Architecture
  22. 22. SOA Problems using SOA in the Online Applications
  23. 23. SOA Service-Oriented Architecture has serious latency issues might make applications slow
  24. 24. So ? how do we build Hyper-Fast applications ??
  25. 25. Event-Driven Fix the risks involved with Asynchronous Processing, SOA and Cloud using Event-Driven Architecture (EDA)
  26. 26. SOA vs EDA -Synchronous in nature -Asynchronous in nature -Action or command based processing -Events based processing -Request/Response -Fire & Forget -Bidirectional -Unidirectional -Tight coupled -Loose coupled -Service Consumer & Service Provider -Event Emitter & Event Consumer
  27. 27. SOA vs EDA SOA EDA -PlaceOrder -OrderPlaced -ReserveTable -TableReserved -CancelOrder -OrderCancelled -UpdateAddress -AddressUpdated
  28. 28. Synchronous Processing [4] Client Browser [1] [2] [3] [5] Server Side Components Each Component Response Time [1]100ms + [2]100ms + [3]100ms + [4]100ms + [5]100ms Client Response time = 500ms
  29. 29. Asynchronous Processing 4 Client Browser 1 2 3 5 Server Side Components Client Response time [1] = 100ms Async Processing Background Processing time = 400ms [2]100ms + [3]100ms + [4]100ms + [5]100ms
  30. 30. Asynchronous Processing Issues x 4 Client Browser 1 2 3 5 Server Side If one background component fails the user will not know that the transaction is failed. Challenge of handling server-side failures
  31. 31. Event-Driven Architecture 3 Client Browser 1 1 2 Event Manager Bus Server Side Components Using Event-Driven Architecture 4
  32. 32. Event Manager Bus ● Event Mgr Bus is a Guarantee Delivery System ● Verifies all events are successfully executed ● If any event fails, it will place the event in the failed event queue and retries until it is successful
  33. 33. Request Processing : Order Placed Example 3 Client Browser 1 2 1 Event Manager Bus Server Side Synchronous Input Validation Asynchronous Product Inventory check Update Product DB Update Order DB Charge Credit Card Send Email 4
  34. 34. Request Processing : Order Placed Example 3 Client Browser 1 2 1 4 Event Manager Bus Server Side Synchronous Asynchronous Input Validation Update Product DB Product Inventory check Update Order DB Charge Credit Card Send Email Based on the need & system reliability adjust the Sync Vs Async processing
  35. 35. Handling Event-Driven issues ● Event Failure ● Event Ordering or Sequencing ● Eventual Consistency
  36. 36. Event Sequencing ● The challenges of Event sequencing can be solved using a common ID (e.g., AccountNumber, PolicyNumber and OrderNumber) ● Eventual consistency can be handled using Event Tailing
  37. 37. Event-Driven Architecture Carefully implementing Event-Driven Architecture on top of SOA makes System High Available, Failureaware and applications Hyper-Fast response time. At the same time not all applications are meant for Event-Driven Solutions.
  38. 38. Thank you Thank You!

×