erlang @ bet365 - meetupfiles.meetup.com/1512314/erlang @bet365.pdf · erlang industrial user group...

38
1

Upload: trinhhanh

Post on 30-Jan-2018

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

1

Page 2: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

2

Erlang @ bet365

Dan Macklin Head of R&D

Page 3: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

3

Background

Page 4: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

4

We use Erlang a lot at bet365

Page 5: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

5

Why?

Because we have lots of suitable

problems

Page 6: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

6

However introducing Erlang was a challenge

Page 7: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

7

First someone has to find Erlang

(Not easy until recently)

Page 8: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

8

Then you’ve got to convince some people to try it

(Luckily we have an R&D team)

Page 9: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

9

After which you’ve got to find a

suitable project (In our case Publishers)

Page 10: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

10

Which needs to get into production, which involves getting more

people involved

Page 11: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

11

Finally once one system is live you

need to start evaluating other

projects

Page 12: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

12

It can be difficult to get a big enough

critical mass

Why?

Page 13: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

13

Where do we use

Erlang?

Page 14: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

14

Push

Page 15: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

15

Cash - out

Page 16: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

16

OLTP Processing

Going beyond SQL (A very interesting use case – Scaling a huge SQL database whilst improving availability and

developer productivity)

Page 17: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

17

So how did we go

beyond SQL?

Page 18: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

18

Distributed Approach

(CAP – We are CAP)

Page 19: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

19

Riak

Page 20: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

20

Sync Free (avoid synchronisation)

Understand the application invariants for each use case

If you want scalability write bespoke code for key use cases

Model the data differently

If appropriate use CRDTs

Look at what Peter Bailis and the EU SyncFree project are doing

Page 21: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

21

Erlang

The common denominator

Page 22: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

22

It makes you think

differently in subtle ways

Page 23: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

23

I think it made me and my team more rounded problem

solvers

Page 24: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

24

So where does

Erlang as a ecosystem go

next?

Page 25: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

25

We need to make Erlang easier to

find

Page 26: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

26

We need to make

the adoption journey easier

Page 27: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

27

Historically the tooling is poor

Page 28: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

28

There are many really good libraries

but they are not consistently

maintained and supported

Page 29: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

29

Some libraries are

missing

Page 30: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

30

A bit of an ivory

tower

#ErlangDidThis25yearsAgo

Page 31: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

31

Look at the Elixir Community

Page 32: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

32

Erlang Industrial User

Group

Move from a user group to a foundation

Page 33: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

33

What are bet365 doing to help?

Page 34: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

34

We are members of the EIUG

Page 35: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

35

We are involved in two open source projects

https://github.com/bet365

SOAP

Enhancing ODBC

Page 36: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

36

The Future of Erlang at bet365

Page 37: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

37

Questions???

Page 38: Erlang @ bet365 - Meetupfiles.meetup.com/1512314/Erlang @bet365.pdf · Erlang Industrial User Group Move from a user group to a foundation . 33 What are bet365 doing to help? 34 We

38