Beyond the monolith
@michalolah
About
• Crealytics - Camato
• Why services?
• The good
• The bad
• Tips
Crealytics - Camato
http://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 Boundaries
a.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 you
Questions?

Rubyslava beyond the_monolith