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

Scaling Betsson Tech

Scaling Betsson Tech

Betsson Techs journey into micro services and Docker

Roger Johansson

October 14, 2016
Tweet

More Decks by Roger Johansson

Other Decks in Programming

Transcript

  1. Scaling the gaming platform @Betsson Journey of the monolith Roger

    Johansson Akka.NET Co-Founder Twitter: @rogeralsing Github: rogeralsing Mail: [email protected] Github.com/rogeralsing/presentations All material from this presentation
  2. ABOUT BETSSON GROUP 1766 Employees (Q2 2016) + 500 tech

    employees + 40 nationalities 2121 different brands Across Europe, Central Asia & Latin America 41% 563,247 Active players (Q2 2016) 0% 5% 10% 15% 20% 25% 30% 35% 0 500 1 000 1 500 2 000 2 500 3 000 3 500 4 000 2011 2012 2013 2014 2015 H1 2016 SEK m Profitable Growth Revenue EBIT margin 1963 Company founded 2014 Revenue SEK 3,722 m 2015 EBIT SEK 886 m 73% Casino 24% Sportsbook Share of revenue Listed on Nasdaq Large Cap Share of revenue (Q2 2016) Mobile 19.1% Top line CAGR of 19.1% (2012-2015)
  3. What to expect from this talk A bit of history

    on where we came from in terms of architecture Geekery about microservices, service discovery, Docker and .NET Core I will not talk about Akka.NET I am not an Ops guy
  4. Scaling the monolith A monolithic application puts all its functionality

    into a single process… …and scales by replicating the monolith on multiple servers -Martin Fowler, James Lewis
  5. Introducing SOA Instance 1 Instance 2 Instance 3 Customer Gaming

    Campaigns … Customer Gaming Campaigns … Customer Gaming Campaigns … Still pretty darn big services
  6. Scaling Microservices A microservice architecture puts each element of functionality

    into a separate service… …and scales by distributing these services across servers, replicating as needed -Martin Fowler, James Lewis
  7. Service Discovery Service A3 Service A2 Service A1 Service B2

    Service B1 Service B3 Service Registry
  8. Consul enables • Scalability – Locate service instances • Availability

    – Find healthy instances • Circuit Breaker’ish • (Distributed Configuration)
  9. Cluster Schedulers Server 2 Docker Login Registration Customer Data Server

    1 Docker Registration Registration …. Server 3 Docker Login …. ….
  10. Putting it all together • Show Rancher UI • Install

    Consul – Docker Compose • Install Asp.NET Core services • Show Consul UI • Scale Services • Redeploy Services • Integrate with legacy services