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

Evolution of the Runtastic Backend @ DevOne 2018

Evolution of the Runtastic Backend @ DevOne 2018

Insights into how we gradually moved from 2
monolythic services with lots of design flaws to a modern microservices
architecture using several database technologies.

Simon Lasselsberger

April 26, 2018
Tweet

More Decks by Simon Lasselsberger

Other Decks in Technology

Transcript

  1. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 1 Evolution of the Runtastic Backend Devone 2018 Lead System Architect Simon Lasselsberger @lister @lasssim
  2. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 4 4 We are Founders 8 We are Years Old 20 We were profitable after just Months 235 We are Employees 38+ We come from Countries 3 We have Offices in Linz, Vienna And Salzburg 15 Our products are available in Languages 1 We are Team with a single vision RUNTASTIC BY THE NUMBERS
  3. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 5 Our 2017 Priority Markets Dedicated in-house marketing & communication resources for Central & Southern Europe (GER, FRA, ESP, ITA, AUT, SUI), UK, United States, Japan, China & Brazil. TOP MARKETS ADDITIONAL MARKETS Dedicated communication resources for Holland, Turkey, Russia, Poland, India, Korea, South & Central America, Canada and Australia.
  4. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 6 EACH DAY WE HAVE 150,000 NEW DOWNLOADS WE BOAST OVER 230 MILLION TOTAL APP DOWNLOADS WE HAVE MORE THAN 3,472,757 FANS AND FOLLOWERS WE HAVE MORE THAN 120 MILLION REGISTERED USERS 24h
  5. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 7 2010 Mobile Gateway Web Page
  6. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 8 Environment Hosting • 4 Servers ◦ Ali, Senna, Lauda, Agassi • Desktop hardware ◦ 4GB RAM, 2 CPUs ◦ dolby surround sound • Cheap and uncomplicated • Helped us to grow in the early days • Mixed responsibilities • Manual setup of machines Team • 2-3 people for backend and operations Source: https://www.youtube.com/watch?v=PLyQcpXDci4
  7. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 9 2010 Mobile Gateway Web Page
  8. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 10 2011 Mobile Gateway Web Page
  9. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 11 2010 Restore Mobile Gateway Web Page
  10. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 12 2011 - 2014 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page
  11. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 13 Environment Hosting • Switch from Hetzner to T-Systems ◦ Not stable enough ◦ Couldn’t offer the hardware we needed ◦ Cassandra cluster migration (6 months) • Own hardware ◦ Virtualization OpenNebula ◦ Dedicated machines for DBs ◦ 2 Cells in Data Center Team • Dedicated Backend Team (9 People) • Dedicated Infrastructure Team (2 People) Restore Restore
  12. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 14 2015 - 2016 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page Other Services Hub
  13. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 16 2015 - 2016 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub
  14. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 17 Hexagonal Architecture Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases. Alistair Cockburn Fake Business Logic API Repository Real Routing Authentication API Repository Fake Real Hub Samples
  15. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 18 Technologies Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub Hub
  16. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 19 2015 - 2017 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub Push Service
  17. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 20 Restore Environment Hosting • Switch from T-Systems to Linz AG ◦ Not enough space ◦ 2 Cell strategy doesn’t fit quorum technologies (MongoDB, Cassandra) ◦ Network bottleneck • Room to grow • More standardized setup • More automation ◦ Software defined network (Cisco ACI) ◦ Software defined storage (Ceph) Team • Agile Transition (Backend and Client) • Dedicated Infrastructure Team (6 People)
  18. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 22 Team assignment Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub Backend Core Squad 1 Squad 2 Other Squads Infrastructure Team
  19. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 23 Deployment Current state • 7 different setups • Initial developer machine setup is a pain • Chef not consistent over environments • All-in-one machines need to be huge • Manual deployments Development & Test Jenkins Experimental Jenkins Staging Pre-Production RENO Production All-in-one Machine
  20. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 24 Deployment Future plans • Provide one way to deploy services in any environment • More flexibility and responsibilities for squads • Better fit for Agile process • Less maintenance overhead • Proper automation • CI/CD Development & Test Jenkins Experimental Jenkins Staging Pre-Production RENO Production
  21. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 25 Future Plans Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub ?
  22. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 26 Future Plans Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment ~15 other Services Hub
  23. Simon Lasselsberger @lassim Evolution of the Runtastic Backend - Devone

    2018 SLIDE NO. 27 THANK YOU techblog.runtastic.com @lister @lasssim