3. ● Pipedrive helps small businesses control the complex
selling process
● Founded in 2010
● 30,000 paying customers worldwide
● 170+ employees
● Office in Tallinn and Tartu
New York, NY
6. ● 20,000+ simultaneous online users
● 800+ API req/sec
● 400,000+ incoming emails per day
7. ● 20,000+ simultaneous online users
● 800+ API req/sec
● 400,000+ incoming emails per day
● Started with Node.js based microservices, reactive
architecture in 2012
8. ● 20,000+ simultaneous online users
● 800+ API req/sec
● 400,000+ incoming emails per day
● Started with Node.js based microservices, reactive
architecture in 2012
● In total, 500+ VMs/hosts/instances
9. ● 20,000+ simultaneous online users
● 800+ API req/sec
● 400,000+ incoming emails per day
● Started with Node.js based microservices, reactive
architecture in 2012
● In total, 500+ VMs/hosts/instances
● More than 300 deploys per month
11. Evolution of the application
The birth of monolith:
Only kanban board
12. Evolution of the application
New features added:
Monolith growing
13. Evolution of the application
Bloated monolith:
Application
slowing down
14.
15. Once upon a time
● We need to keep the pace of delivering
services!
● Teams need to be independent of each other
● How can we add new features daily basis and
still maintain it?
● Lets split it into microservices
16. Introduction to Microservice
Developers should write programs that can communicate
easily with other programs.
Break down projects into small, simple programs rather than
overly complex monolithic programs.
Eric Raymond - Unix Philosophy
17. Monolith vs Microservices
● Microservices systems are more flexible, loosely-coupled and scalable
● Easier to develop and easier to change
● More tolerant of failure. In case of one mircoservice fails, others should be
operational
http://www.randomant.net/the-cloud-is-a-paradigm-shift-in-software-dev/
18. And the new era begins
Deployment of new
microservice
From idea to production -
minimum 2 WEEKS
19. Characteristics of microservices (by Martin Fowler)
● Componentization via services
● Organized around business capabilities
● Products not projects
● Smart endpoints & dumb pipes
● Decentralized governance
● Design for failure
● Infrastructure automation
24. How not to create
microservices or any
other automation flows
● CI job hell
● Discovery
● Configurations hell
25. Mindshift of Developers
● Building
● Testing
● Discovery
● Monitoring
● Logging
● Alerting
● Dashboards
26. Agile Culture
in Pipedrive
Agile and lean means small and
fast and independent and in
Pipedrive we operate by small
cross-functional teams which
deliver regularly. Those teams win
small battles every day but their
operations are supported by
different types of other troops.
28. Mindshift of Developers -
Now I master the Microservice concept
● Dockerfiles
● Docker-compose
● CI builds
● Tests
● Service discovery
● From idea to production
1 DAY
29. CI processes with Docker
● Provisioning of build
environment
● Pulling Docker images
● Docker builds
xkcd.com
30. CI processes with Docker
● Whole CI process can take a 1 - 3
minutes
xkcd.com
31. CI processes with Docker
Feedback from Developers:
● It’s still too sl.oOW
xkcd.com
32. CI processes with Docker
Feedback from Developers:
● It’s still too sl.oOW
● Make it slower, I can’t grab a
coffee
xkcd.com