Rubyslava beyond the_monolith

27
Beyond the monolith @michalolah

Transcript of Rubyslava beyond the_monolith

Beyond the monolith@michalolah

About• Crealytics - Camato

• Why services?

• The good

• The bad

• Tips

Crealytics - Camatohttp://www.camato.de/en/start.html

Adwords

Adwords

Crealytics - Camato

Current Infrastructure

• Camato + 3 services (CAP) + 3 on the way

• 5+ services (CDA)

• 100+ VMs

Why services?

Cognitive overhead

Slow app/tests

Cannot upgrade anything

The good

Firm Boundariesa.k.a. ‘Let me leak this abstraction just a little’

Language does not matter

Fast tests

Clear ownership

The bad

No good way to integration test

Considerable overhead

Tips

Manage your service explosion

• If possible use REST JSON

• Don’t create a service per idea

• Infrastructure

• Monitoring

• Client gems/libraries

• Have configuration conventions

Carefull about split brain

Large data

• Think millions of rows

• Forget JSON

• CSV is your friend

Use docker

• At least to run tests

• Eliminates ‘works on my machine’

Automate build/deployment

• Use service (codeship, travis, snapci)

• Roll your own (jenkins)

Should I do it?

• You need to be big enough

• DO NOT start out this way

Thank youQuestions?