Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How system for Harley-Davidson 115th anniversar...

Tomas Jukin
September 22, 2018

How system for Harley-Davidson 115th anniversary with 110 000 attendees has been built

Tomáš will tell you a story how a small (10 people) company from Prague called Juicymo successfully built an information system and three mobile apps for a huge event with 110 000 attendees. It was an epic journey which started 2 years ago. It's full of funny moments, challenges and lessons learned. I will share it with you. DevOps included!

The talk was presented at the WebExpo 2018 conference in Prague. The video is available here: https://slideslive.com/38910598/how-system-for-harleydavidson-115th-anniversary-with-110-000-attendees-has-been-built

Tomas Jukin

September 22, 2018
Tweet

More Decks by Tomas Jukin

Other Decks in Programming

Transcript

  1. How the system for 
 Harley-Davidson 
 115th Anniversary with

    110 000 attendees has been built Tomáš Jukin Co-Founder at Juicymo @Inza
  2. The IT Guy @Inza @JuicymoEN The
 Event Manager The
 Event

    Coordinator The
 Project Manager The
 CEO
  3. I have one concern only - how we will process

    40 000 bikers if they arrive in one day… @Inza @JuicymoEN — the event manager
 February 2018
  4. E-Shop: 30 / 5 / 2017 - 8 / 7

    / 2018
 System: 1 / 7 / 2018 - 8 / 7 / 2018 @Inza @JuicymoEN
  5. We need just a simple system. It will be an

    e-shop where tickets can be bought and mobile app to process them at the entrance. @Inza @JuicymoEN
  6. 1. More than tickets in the e-shop 2. Only ticket

    owners can buy them @Inza @JuicymoEN
  7. 1. More than tickets in the e-shop 2. Only ticket

    owners can buy them 3. 115 additional items @Inza @JuicymoEN
  8. 1. More than tickets in the e-shop 2. Only ticket

    owners can buy them 3. 115 additional items 4. Around 100 places to redeem them @Inza @JuicymoEN
  9. 1. More than tickets in the e-shop 2. Only ticket

    owners can buy them 3. 115 additional items 4. Around 100 places to redeem them 5. 300 000 users @Inza @JuicymoEN
  10. 1. More than tickets in the e-shop 2. Only ticket

    owners can buy them 3. 115 additional items 4. Around 100 places to redeem them 5. 300 000 users 6. Up to 80 000 at once @Inza @JuicymoEN
  11. 7. Buy for friends 8. 6 languages 9. 115 additional

    items 10. Payment gateway @Inza @JuicymoEN
  12. 7. Buy for friends 8. 6 languages 9. 115 additional

    items 10. Payment gateway 11. EET @Inza @JuicymoEN
  13. 7. Buy for friends 8. 6 languages 9. 115 additional

    items 10. Payment gateway 11. EET 12. SLA Request time <1s at peak end user @Inza @JuicymoEN
  14. @Inza @JuicymoEN Supervizor Dashboard Monitoring Big Data Onsite Support Backend

    Admin Wild Hostess Admin Finder Dashboard SLA
 Disaster
 Recovery Backend
  15. @Inza @JuicymoEN Supervizor Dashboard Monitoring Big Data Onsite Support Backend

    Admin Wild Hostess Admin Finder Dashboard SLA
 Disaster
 Recovery Backend
  16. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady
  17. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady Admin
  18. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady Admin Payment
 Gateway HTTPs
  19. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET
  20. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky
  21. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor E-Shop
 Backend HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App
  22. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App API HTTPs
 REST E-Shop
 Backend
  23. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App API HTTPs
 REST E-Shop
 Backend CRM ERP Mail Server
  24. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App API HTTPs
 REST E-Shop
 Backend CRM ERP Mail Server Financial 
 .xls export
  25. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App API HTTPs
 REST E-Shop
 Backend CRM ERP Mail Server Financial 
 .xls export Wild Hostess 
 Dashboard
  26. @Inza @JuicymoEN E-Shop
 Frontend Walking
 Biker Riding
 Biker Organiser Wild

    Hostess Supervisor HTTPs Accounting Lady Admin Payment
 Gateway HTTPs EET XML Fujky Biker
 App Scanner
 App API HTTPs
 REST E-Shop
 Backend CRM ERP Mail Server Financial 
 .xls export Wild Hostess 
 Dashboard Supervisor
 Dashboard
  27. @Inza @JuicymoEN Admin API Payment
 Gateway CRM EET ERP Mail

    Server Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop
 Frontend Biker
 App Scanner
 App Walking
 Biker Riding
 Biker Organiser Wild Hostess Supervisor Financial 
 .xls export Kibana Elastic
 Search E-Shop
 Backend XML Fujky HTTPs HTTPs HTTPs
 REST HTTPs Accounting Lady
  28. @Inza @JuicymoEN Admin API Payment
 Gateway CRM EET ERP Mail

    Server Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop
 Frontend Biker
 App Scanner
 App Walking
 Biker Riding
 Biker Organiser Wild Hostess Supervisor Financial 
 .xls export Kibana Elastic
 Search E-Shop
 Backend XML Fujky HTTPs HTTPs HTTPs
 REST HTTPs Accounting Lady Paranoia !!!
  29. @Inza @JuicymoEN Admin API Payment
 Gateway CRM EET ERP Mail

    Server Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop
 Frontend Biker
 App Scanner
 App Walking
 Biker Riding
 Biker Organiser Wild Hostess Supervisor Financial 
 .xls export Grafana Influx Kibana Elastic
 Search E-Shop
 Backend XML Fujky HTTPs HTTPs HTTPs
 REST HTTPs Accounting Lady
  30. @Inza @JuicymoEN Admin API Payment
 Gateway CRM EET ERP Mail

    Server Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop
 Frontend Biker
 App Scanner
 App Walking
 Biker Riding
 Biker Organiser Wild Hostess Supervisor Financial 
 .xls export Grafana Influx Kibana Elastic
 Search E-Shop
 Backend XML Fujky HTTPs HTTPs HTTPs
 REST HTTPs Accounting Lady
  31. @Inza @JuicymoEN Admin API Payment
 Gateway CRM EET ERP Mail

    Server Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop
 Frontend Biker
 App Scanner
 App Walking
 Biker Riding
 Biker Organiser Wild Hostess Supervisor Happy 
 Accounting Lady Financial 
 .xls export Grafana Influx Kibana Elastic
 Search E-Shop
 Backend XML Fujky HTTPs HTTPs HTTPs
 REST HTTPs
  32. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop


    Backend @Inza Walking Biker Riding Biker Organiser Wild Hostess Supervisor
  33. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard E-Shop


    Backend Ruby on Rails App @Inza Walking Biker Riding Biker Organiser Wild Hostess Supervisor
  34. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) @Inza
  35. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) @Inza
  36. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) @Inza
  37. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) @Inza
  38. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) Postgres @Inza
  39. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC @Inza
  40. @JuicymoEN Admin API Mail 
 Server Wild Hostess 
 Dashboard

    Supervisor
 Dashboard Walking Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Ticket PDF
 Generation S3 @Inza
  41. @JuicymoEN Admin API Mail 
 Server Wild Hostess 
 Dashboard

    Supervisor
 Dashboard Walking Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Ticket PDF
 Generation S3 @Inza
  42. @JuicymoEN Admin API Mail 
 Server Wild Hostess 
 Dashboard

    Supervisor
 Dashboard Walking Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Ticket PDF
 Generation S3 @Inza Background Jobs
 Processor
 Sidekiq
  43. @JuicymoEN Admin API Mail 
 Server Wild Hostess 
 Dashboard

    Supervisor
 Dashboard Walking Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Redis Ticket PDF
 Generation S3 @Inza Background Jobs
 Processor
 Sidekiq
  44. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Background Jobs
 Processor
 Sidekiq Redis @Inza
  45. @JuicymoEN Admin API Wild Hostess 
 Dashboard Supervisor
 Dashboard Walking

    Biker Riding Biker Organiser Wild Hostess Supervisor E-Shop
 Backend Ruby on Rails App HTTP 
 Reverse Proxy 
 Load Balancer
 (scalable) HTTP 
 Reverse Proxy 
 Cache
 (scalable) HA 
 Postgres 
 16GB RAM HA 
 Postgres
 Replica 
 16GB RAM
 Another DC Background Jobs
 Processor
 Sidekiq Redis @Inza 6 x 2,5 GB RAM 10 x 
 1 GB RAM 2 x 
 16 GB RAM