Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's...

90
Changing wheels on moving car, from Monolith to Microservices by using API's V3 Vladimir Dejanović Voxxed Days Belgrade 19 October 2017 @VladimirD_42 @VoxxedBelgrade

Transcript of Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's...

Page 1: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Changing wheels on moving car, from Monolith to

Microservices by using API's V3Vladimir DejanovićVoxxed Days Belgrade

19 October 2017

@VladimirD_42@VoxxedBelgrade

Page 2: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Let’s Meet

@VladimirD_42

Vladimir Dejanović

@VoxxedBelgrade

Page 3: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

http://www.beograd.com/wp-content/themes/bgcom/img/background123.jpg

@VoxxedBelgrade

Page 4: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42@VoxxedBelgrade

Page 5: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42

ref: http://motonetworks.com/wp-content/uploads/2016/04/arab-stunt-driving.jpg

@VoxxedBelgrade

Page 6: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42

Important Truths and Questions

@VoxxedBelgrade

Page 7: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42

Important Truths and Questions

Breaking the Monolith

@VoxxedBelgrade

Page 8: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42

Important Truths and Questions

API to the rescue

Breaking the Monolith

@VoxxedBelgrade

Page 9: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Agenda

@VladimirD_42

Important Truths and Questions

API to the rescue

Questions

Breaking the Monolith

@VoxxedBelgrade

Page 10: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 11: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

https://i2.wp.com/softwaretestingbooks.com/wp-content/uploads/2016/05/Get-Paid-to-Find-Software-Bugs-Online.jpg

Page 12: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

http://clipart-library.com/img1/1941663.jpg

Page 13: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://englishmaninitaly.files.wordpress.com/2014/07/button.jpg

@VoxxedBelgrade

Page 14: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://holisticmoving.files.wordpress.com/2015/05/laughing8.jpg

@VoxxedBelgrade

Page 15: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

War Story

@VladimirD_42@VoxxedBelgrade

10k

Page 16: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

War Story

@VladimirD_42@VoxxedBelgrade

10k -> 1.3 M

Page 17: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://fcpaprofessor.com/wp-content/uploads/2016/05/lessonslearned.jpg

@VoxxedBelgrade

Page 18: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Lesson 1

@VladimirD_42@VoxxedBelgrade

Page 19: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 20: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Lesson 2

@VladimirD_42@VoxxedBelgrade

Page 21: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://i.ytimg.com/vi/3RGXP23qipo/maxresdefault.jpg

@VoxxedBelgrade

Page 22: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Lesson 3

@VladimirD_42@VoxxedBelgrade

Page 23: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http//www.truthmove.org/news-category/surveillance/

@VoxxedBelgrade

Page 24: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://motonetworks.com/wp-content/uploads/2016/04/arab-stunt-driving.jpg

@VoxxedBelgrade

Page 25: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://cdn.playbuzz.com/cdn/135533e4-8b11-4af0-8638-6525eff069e0/9d2f35d6-a75a-44e7-8259-6ff1abb00ce4.jpg

@VoxxedBelgrade

Page 26: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 27: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

http://www.xzamcorp.com/images/FingerWait.jpg

@VoxxedBelgrade

Page 28: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Accept

@VladimirD_42

The real question isn’t “if” the

system will break

@VoxxedBelgrade

Page 29: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.kloudymail.com/wp-content/uploads/2015/09/quando-schedulare-una-campagna-di-email-marketing.jpg

@VoxxedBelgrade

Page 30: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://s-media-cache-ak0.pinimg.com/originals/c8/63/da/c863dac6e4eeb6256623c212ea34293b.jpg

@VoxxedBelgrade

Page 31: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://imgs.sfgate.com/blogs/images/sfgate/bmangan/2010/10/18/trainwreck.jpg

@VoxxedBelgrade

Page 32: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.priceperhead.com/wp-content/uploads/2015/08/pay-per-head-bookie-things-avoid-management.jpg

@VoxxedBelgrade

Page 33: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Important Questions

@VladimirD_42@VoxxedBelgrade

Page 34: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Question 1

@VladimirD_42@VoxxedBelgrade

Page 35: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref:http://cdn.architecturendesign.net/wp-content/uploads/2015/02/AD-Helpful-Tips-For-People-Who-Have-No-Clue-What-To-Do-With-A-Baby-15.jpg

@VoxxedBelgrade

Page 36: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Question 2

@VladimirD_42@VoxxedBelgrade

Page 37: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.datacentertalk.com/wp-content/uploads/2012/01/it-guy-0013.png

@VoxxedBelgrade

Page 38: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Question 3

@VladimirD_42@VoxxedBelgrade

Page 39: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.livescience.com/53280-hydrogen-bomb-vs-atomic-bomb.html

@VoxxedBelgrade

Page 40: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42ref:https://image.slidesharecdn.com/breakingthemonolithfeb13nus-130224015502-phpapp01/95/breaking-the-monolith-fast-distributed-web-services-using-se

ts-feb13-nus-18-638.jpg@VoxxedBelgrade

Page 41: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 42: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 43: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 44: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref:http://assets.bonappetit.com/photos/57d32e45bd794aa9132639a4/master/w_625,c_limit/lernert-sander-cubes-crop2.jpg

@VoxxedBelgrade

Page 45: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 46: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 47: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 48: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42@VoxxedBelgrade

Page 49: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://www.ecritel.fr/IMG/jpg/network2.jpg

@VoxxedBelgrade

Page 50: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Monolith to Micro

@VladimirD_42

ref: https://recherche.orange.com/wp-content/uploads/2015/11/databasequestionmark.png

@VoxxedBelgrade

Page 51: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.bankingtech.com/files/2016/03/API.jpg

@VoxxedBelgrade

Page 52: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://qph.ec.quoracdn.net/main-qimg-f08207c22aaace3c95ffde03fbf027a7

@VoxxedBelgrade

Page 53: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 54: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 55: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 56: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 57: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 58: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 59: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 60: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

API’s

@VladimirD_42@VoxxedBelgrade

Page 61: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42@VoxxedBelgrade

Page 62: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

ref: http://somebodyshoulda.com/wp-content/uploads/2013/10/Perfect1.jpg

@VoxxedBelgrade

Page 63: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

Perfect doesn’t exist

@VoxxedBelgrade

Page 64: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

Perfect doesn’t exist

Something can be perfect only in your mind

@VoxxedBelgrade

Page 65: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

ref: http://chateauxrealtyparkcity.com/wp-content/uploads/2016/06/bigstock-Do-it-Yourself-concept-28287233.jpg

@VoxxedBelgrade

Page 66: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 67: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 68: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 69: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 70: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

No standards used

@VoxxedBelgrade

Page 71: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.neuresourcegroup.com.au/brainwaves-for-leaders-blog//2012/08/09/hate-long-meetings-try-the-10-minute-standing-meeting/

@VoxxedBelgrade

Page 72: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://i0.wp.com/keyholesoftware.com/wp-content/uploads/HATEOAS.png

@VoxxedBelgrade

Page 73: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 74: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

“I'm sorry Dave, I'm afraid I can't do that”

@VoxxedBelgrade

Page 75: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

HAL

Hypertext Application Language

@VoxxedBelgrade

Page 76: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

HAL

Hypertext Application Language

Adopting HAL will make your API explorable, and its documentation easily discoverable from within the

API itself.

@VoxxedBelgrade

Page 77: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

HAL

Hypertext Application Language

Adopting HAL will make your API explorable, and its documentation easily discoverable from within the

API itself.

DRAFT

@VoxxedBelgrade

Page 78: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Common Mistakes

@VladimirD_42

ref: http://www.rothenterprise.com/wp-content/uploads/2014/11/Electricity-Plug-Socket-Variations-for-Sri-Lanka.jpg

@VoxxedBelgrade

Page 79: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://nationswell.com/wp-content/uploads/2014/01/rows-of-paperwork-in-files.jpg

Common Mistakes

@VoxxedBelgrade

Page 80: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42@VoxxedBelgrade

Page 81: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.stethnews.com/wp-content/uploads/2015/07/China-Money.jpg

@VoxxedBelgrade

Page 82: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://vignette3.wikia.nocookie.net/degrassi/images/0/02/O-BABY-FOOD-MESS-facebook.jpg

@VoxxedBelgrade

Page 83: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

http://i.usatoday.net/news/_photos/2012/01/09/Light-oil-spill-after-New-Zealand-ship-splits-8KQIGVU-x-large.jpg

@VoxxedBelgrade

Page 84: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2016/05/1463750487Christ_Church_Library_Oxford-17189963462.jpg

@VoxxedBelgrade

Page 85: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

http://0d47eeef2abf05521f71-1e80f65b3c6327b7cb4b0619fd21f75b.r59.cf2.rackcdn.com/BC6AA823-31A8-481C-9923-5E7CFE4807B5.jpg

@VoxxedBelgrade

Page 86: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://www.tbo.com/storyimage/TB/20150930/ARTICLE/150939976/AR/0/AR-150939976.jpg

@VoxxedBelgrade

Page 87: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: http://goodereader.com/blog/wp-content/uploads/images/advertise1-890x395.jpg

@VoxxedBelgrade

Page 88: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

ref: https://img.clipartfest.com/cdb4a70e78530c75d0a2cc6bd1b86357_stubborn-mule-clipart-force-clipart_2400-1321.jpeg

@VoxxedBelgrade

Page 89: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

Questions

@VladimirD_42

@VladimirD_42

[email protected]

@VoxxedBelgrade

Page 90: Voxxed Days Belgrade - Changing wheels on moving car, from monolith to microservices by using api's v3

@VladimirD_42

Thank You

@VoxxedBelgrade