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

    View full-size slide

  2. Simon Lasselsberger @lassim
    Evolution of the Runtastic Backend - Devone 2018
    SLIDE NO. 2

    View full-size slide

  3. 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

    View full-size slide

  4. 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.

    View full-size slide

  5. 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

    View full-size slide

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

    View full-size slide

  7. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. 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

    View full-size slide

  12. 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

    View full-size slide

  13. 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

    View full-size slide

  14. 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

    View full-size slide

  15. 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

    View full-size slide

  16. 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

    View full-size slide

  17. 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

    View full-size slide

  18. 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)

    View full-size slide

  19. Simon Lasselsberger @lassim
    Evolution of the Runtastic Backend - Devone 2018
    SLIDE NO. 21
    Agile Setup

    View full-size slide

  20. 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

    View full-size slide

  21. 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

    View full-size slide

  22. 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

    View full-size slide

  23. 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
    ?

    View full-size slide

  24. 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

    View full-size slide

  25. Simon Lasselsberger @lassim
    Evolution of the Runtastic Backend - Devone 2018
    SLIDE NO. 27
    THANK YOU
    techblog.runtastic.com
    @lister @lasssim

    View full-size slide