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

DevOps & the Evolution of the Runtastic Backend

DevOps & the Evolution of the Runtastic Backend

I will tell the story of how the Runtastic backend architecture evolved from 2 monoliths to a modern microservices architecture that will soon run on OpenShift. Besides all the architectural context I will also talk about team structure and how our culture changed over the years.

Simon Lasselsberger

November 27, 2018
Tweet

More Decks by Simon Lasselsberger

Other Decks in Technology

Transcript

  1. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 1 Simon Lasselsberger @lasssim DevOps & the Evolution of the Runtastic Backend Red Hat Forum Österreich 2018 Lead System Architect Runtastic Simon Lasselsberger @lister @lasssim @lasssim
  2. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 2 Simon Lasselsberger @lasssim Vision Through sport, we have the power to change lives
  3. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 4 Simon Lasselsberger @lasssim 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
  4. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 5 Simon Lasselsberger @lasssim 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. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 6 Simon Lasselsberger @lasssim 2010 Mobile Gateway Web Page
  6. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 7 Simon Lasselsberger @lasssim 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 Source: https://www.youtube.com/watch?v=PLyQcpXDci4
  7. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 8 Simon Lasselsberger @lasssim Team Startup mode • 2-3 people for backend and operations • Sitting next to each other • Scripted deployments done by developer • Everybody was doing everything
  8. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 9 Simon Lasselsberger @lasssim 2010 Mobile Gateway Web Page
  9. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 10 Simon Lasselsberger @lasssim 2011 Mobile Gateway Web Page
  10. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 11 Simon Lasselsberger @lasssim 2010 Restore Mobile Gateway Web Page
  11. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 12 Simon Lasselsberger @lasssim 2011 - 2014 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page
  12. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 13 Simon Lasselsberger @lasssim 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 Restore Restore
  13. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 14 Simon Lasselsberger @lasssim Team Backend Department • Dedicated Backend Team (9 People) • Focus on development • Close collaboration with operations team ◦ Thought alike ◦ Mutual understanding • Scripted deployments done by developers Operations Department • Dedicated Infrastructure Team (2 People) • Taking care of infrastructure • Close collaboration with backend team
  14. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 15 Simon Lasselsberger @lasssim 2015 - 2016 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page Other Services Hub
  15. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 16 Simon Lasselsberger @lasssim 2015 - 2017 Mobile Gateway Restore Routes KPI Appendix Gamification Users Live Tracking Samples Abilities Products Payment Web Page ~15 other Services Hub Push Service
  16. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 17 Simon Lasselsberger @lasssim 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) • Spread across offices • Scripted deployments done by developers
  17. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 18 Simon Lasselsberger @lasssim Agile Setup
  18. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 19 Simon Lasselsberger @lasssim Conway's Law Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. M. Conway Organization Architecture
  19. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 20 Simon Lasselsberger @lasssim 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
  20. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 21 Simon Lasselsberger @lasssim 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 • Single datacenter Development Jenkins Experimental Jenkins Staging Pre-Production RENO Production All-in-one Machine
  21. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 22 Simon Lasselsberger @lasssim 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 • Multi data-center Development Jenkins Experimental Jenkins Staging Pre-Production RENO Production
  22. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 23 Simon Lasselsberger @lasssim Deployment 1 1 1 1 Development Jenkins Staging Production 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 N N N N
  23. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 24 Simon Lasselsberger @lasssim Deployment Orchestration Service 1 1 1 1
  24. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 25 Simon Lasselsberger @lasssim Conclusion Values • Work well together • Think alike • Avoid silos • Clearly defined and shared responsibilities • Automation is key to scale • Measure application performance Startup Departments Agile Containerization
  25. DevOps & the Evolution of the Runtastic Backend - Red

    Hat Forum Österreich 2018 SLIDE NO. 26 Simon Lasselsberger @lasssim THANK YOU techblog.runtastic.com @lister @lasssim @lasssim