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.

Coolblue Behind the Scenes | Pat Hermens - On the shoulders of giants.

762 views

Published on

www.coolblue.nl/behindthescenes1211

Published in: Software
  • Be the first to comment

Coolblue Behind the Scenes | Pat Hermens - On the shoulders of giants.

  1. 1. ON THE SHOULDERS OF GIANTS. Evolving a legacy system using C# micro-services and RabbitMQ By Pat Hermens
  2. 2. • Pat Hermens • ~15 years of Microsoft development • Started with VB6 & MS Access - I know, right? • Snr. WebAPI Developer at Coolblue for ~1.5 years ME.
  3. 3. 1. Our history 2. Our architecture 3. Our challenges 4. Our solutions (inc. RabbitMQ) COMING UP.
  4. 4. A (LITTLE) BIT OF HISTORY. Where has the time gone?
  5. 5. 15 YEARS AGO. Coolblue built a back office system and called her Vanessa
  6. 6. 15 YEARS AGO. Coolblue was getting started: • 1 pick-up point: Pieter’s house! • 1 online store: mp3man.nl • ~1 order a day
 Vanessa just getting started.
  7. 7. • Your text goes here. 15 YEARS AGO.
  8. 8. FAST FORWARD.
  9. 9. 10 YEARS AGO. Coolblue was getting established: • 1 pick-up point • 12 online stores • 350 orders a day
 Vanessa was being rapidly developed to handle the load
  10. 10. 10 YEARS AGO. 250 tables
 50 procedures/functions
 150 triggers 200 screens
 50 users
  11. 11. FAST FORWARD.
  12. 12. IN 2015. Coolblue is definitely established: • 7 physical stores • 370+ online stores • 12,000+ orders a day
 … and we’re not done yet! 1300% 3000% 3500%
  13. 13. IN 2015. 1,600+ tables 
 3,800+ procedures 7500%
 2,800+ triggers 1,150+ screens 
 1,250+ active users 2400%
  14. 14. • Your text goes here. IN 2015.
  15. 15. VANESSA. She’s evolved.
  16. 16. VANESSA EVOLVED.
  17. 17. VANESSA EVOLVED. Vanessa 
 DuPrix Vanessa 
 Fixmeister Vanessa 
 Moneypenny Vanessa 
 Purchandez Vanessa 
 Catalovitz Vanessa 
 Sellswell
  18. 18. VANESSA EVOLVED.
  19. 19. VANESSA EVOLVED.
  20. 20. VANESSA EVOLVED.
  21. 21. VANESSA EVOLVED.
  22. 22. CHALLENGES. We all have them!
  23. 23. VANESSA. Let’s face it, it’s an older system… One clear goal: Provide historical information.
  24. 24. “NEW” VANESSA. Nice and new! and undefined. One clear goal: Deliver information.
  25. 25. Business Restrictions • Agile • Reliable RESTRICTIONS. Technical restrictions: () => Testable; () => Maintainable;
  26. 26. • .NET WPF / UW Applications. • Continuous Delivery. • Task-based Workflows. • Event-based truthfulness. NEW IDEAS.
  27. 27. SOLUTIONS. Ta-daaa.
  28. 28. • Messaging Framework. • Allows us to shout any type of message… • ...for any reason. RABBITMQ. Let’s bring the information to us when it’s produced rather than when we need to consume it.
  29. 29. BACKGROUND JOBS. 2. Message goes on RabbitMQ queues. 3. Message is dequeued and processed by any/all interested consumers. 1. Process completion creates a message. Long-running tasks need to signal when they are complete.
  30. 30. DEMO.
  31. 31. INTRA-SERVICE COMMUNICATION. 2. Messages go on RabbitMQ queues. 3. Messages are dequeued and processed by other services. 1. Meaningful events create messages. Growing number of services need to talk to each other about “the truth”
  32. 32. DEMO.
  33. 33. ORACLE. 2. Messages go on RabbitMQ queues. 3. Messages are dequeued and processed by consumers. 1. Triggers in Oracle create messages. Existing Vanessa processes need to share information with new systems
  34. 34. DEMO.
  35. 35. “What should I do?” vs. “What needs to be done?” TASK-BASED WORKFLOW. 2. Incoming messages are presented as actionable tasks. 3. Tasks are processed by the (happy, event-driven) users. 1. Listeners pick up appropriate messages.
  36. 36. LET’S WRAP THIS UP. Because you want beer just as much as I do.
  37. 37. • Your text goes here. VANESSA, EVOLVED.
  38. 38. • RESTful microservices, C# WebApi, background processing jobs?
 
 Let’s have a chat! p.hermens@coolblue.nl 
 • Message triggers, queues, routing keys & exchanges are your thing?
 
 Grab hold of Filipe. f.silva@coolblue.nl
 • Want to know more about how we’re getting things done?
 
 Have a chat with any of the Coolblue’ers hanging around tonight... WANT TO KNOW MORE.
  39. 39. QUESTIONS.

×