digitalocean: microservices as the cloud
TRANSCRIPT
![Page 1: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/1.jpg)
DigitalOcean: Microservices as the Cloud
Phil Calçado @pcalcado
http://philcalcado.com
![Page 2: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/2.jpg)
![Page 3: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/3.jpg)
How this kind of talk usually goes like…
![Page 4: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/4.jpg)
Big Bad Monolith
Big Bad Database
MAGIC
Super Awesome Microservices
![Page 5: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/5.jpg)
All my stuff is W.I.P.
![Page 6: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/6.jpg)
Iteration 1: The UNIX Way
![Page 7: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/7.jpg)
Big Bad Database
![Page 8: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/8.jpg)
Problem: Need more machines and
datacentres, need to scale
![Page 9: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/9.jpg)
Only vertical scaling
Big Bad Database
Big Bad Database
![Page 10: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/10.jpg)
Iteration 2: Building a VPS
![Page 11: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/11.jpg)
Big Bad Database
Customer Tools
Service
Internal Tools
Service
![Page 12: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/12.jpg)
Problem: VPS are so last week, people want the cloud
![Page 13: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/13.jpg)
Cloud brings even more complexity
![Page 14: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/14.jpg)
Big Bad Database
Customer Tools
Service
Internal Tools
Service
![Page 15: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/15.jpg)
Big Bad Database
Customer Tools
Service
Internal Tools
Service
EVERYTHINGSERVICE
EVERYTHINGELSE
SERVICE
ENTERPRISESERVICE
BUS
![Page 16: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/16.jpg)
Iteration 3: Building a Cloud
![Page 17: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/17.jpg)
Building a cloud means more servers, services,
and datacentresi.e. more essential
complexity
![Page 18: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/18.jpg)
Larger services == Larger state-space
![Page 19: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/19.jpg)
Adding stuff here is easier than creating a new service.
Why?
Big Bad Database
Customer Tools
Service
Internal Tools
Service
![Page 20: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/20.jpg)
https://www.flickr.com/photos/photophreak/
Because
![Page 21: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/21.jpg)
chef/puppet/ansible /that-thing-on-hacker-news
can be a pain, but it’s not the fundamental problem
![Page 22: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/22.jpg)
Everything was managed by chef.
Everything was a Pull Request.
Everything needed code review.
![Page 23: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/23.jpg)
Everything was painful.
Everything was slow.
![Page 24: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/24.jpg)
This is when I apply my bias experience
![Page 25: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/25.jpg)
Back to basics
• Rapid provisioning
• Basic monitoring
• Rapid application deployment
http://martinfowler.com/bliki/MicroservicePrerequisites.html
![Page 26: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/26.jpg)
Legacy Services Databases
How often do they change?
Couple times per month
Couple times per year
Couple times per day
![Page 27: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/27.jpg)
Legacy Services Databases
How often do they change?
Chef for now
Chef
Something else
![Page 28: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/28.jpg)
1. Rapid provisioning
you should be able to fire up a new server in a matter of hours
what about 55 seconds?
![Page 29: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/29.jpg)
2. Basic monitoring
detecting technical issues but it's also worth monitoring business issues
![Page 30: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/30.jpg)
3. Rapid application deployment
you need to be able to quickly deploy [services], both to test environments and to production
![Page 31: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/31.jpg)
This is the first step…
![Page 32: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/32.jpg)
…but experience tells me
![Page 33: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/33.jpg)
…and next up
Pre-requisites
BFFs
Programming Language Thunderdome
Adopt GRPC or thrift
Build a services directory
Get bored and go do something else
![Page 34: DigitalOcean: Microservices as the Cloud](https://reader034.vdocument.in/reader034/viewer/2022042706/587614a61a28ab306c8b654d/html5/thumbnails/34.jpg)
You should consider being part of this
http://bit.ly/do-back-end-software-engineer
Phil Calçado @pcalcado
http://philcalcado.com