Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2EGPRkI.
Rafael Schloming talks about how the real goal of microservices is to break up a monolithic development workflow. He shows how to build software enabling to move fast and make things. Filmed at qconsf.com.
Rafael Schloming is Co-founder and Chief Architect of Datawire. He is a globally recognized expert on messaging and distributed systems and a spec author of the AMQP specification. Previously, Rafael was a principal software engineer at Red Hat.
2. InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
service-oriented-development
3. Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
4. datawire.io
How do I break up my monolith?
How do I architect my app with microservices?
What infrastructure do I need in place before I
can benefit from microservices?
2
5. datawire.io
● Building a cloud application using
microservices in 2013
● Distributed systems engineers
● Multiple services
● Prototyping was really fast
● … then we launched and things
slowed down…
3
Microservices at Datawire ...
21. datawire.io
Microservices is ...
● Multiple workflows
○ Including your existing workflow!
○ Workflows designed for different
stability/velocity tradeoffs
● Simultaneous workflows
19
22. datawire.io
Doing things this way shifts how people operate!
● Requires both organizational and technical changes
20
24. datawire.io
You gotta give in order to get
22
Education
● Everyone exposed to full dev cycle
Communication
● Nobody speaks the same language
Delegation
● Small teams own big important parts
25. datawire.io
But you get a lot
23
Education
● Specialists become generalists -> Better holistic systems
● Learning, personal growth -> Job satisfaction
Communication
● Conflict -> Collaboration
Delegation
● Massive organizational scale
27. datawire.io
Why self-sufficiency and autonomy?
● Self-sufficient
○ Team does not need to rely on other teams to achieve its goals
● Autonomy
○ Team is able to independently make (process) decisions on how to achieve its goals
25
37. datawire.io 35
Stage 1: Prototyping
Org Problem:
You need buy-in for prototyping in
production
Goal:
Fast Feedback from both Tools and
Users
Tech Problem:
You can’t run microservices locally
39. datawire.io
Make this fast and easy!
● Too much friction leads to accidental coupling
Provide fast self-service provisioning
37
40. datawire.io
Problem: Coding on remote infra is slow...
VM based pipeline:
● Deploy time: maybe 45 minutes?
Docker based pipeline:
● Deploy time: maybe a few minutes?
Hacking react on my laptop with live reload:
● Maybe 1-2 seconds?
Hacking flask on my laptop with live reload:
● Instantaneous
38
42. datawire.io
Develop inside a container
Helps with onboarding and jumping between services:
● Single source of truth for build & dependencies
● Consistent and portable dev environment
You can make a faster feedback loop:
1. Sync local files -> remote build
2. Sync local files -> local build; snapshot image; deploy in seconds
3. Sync local files -> local build; proxy into remote cluster
Shameless self promotion:
● See https://forge.sh for (2) and https://telepresence.io for (3)
40
50. datawire.io
Summary
1. Start with: “How do I break up my monolithic process?”
2. Spinoff self sufficient & autonomous teams
3. Build awesome tooling for Service Oriented Development
48
51. datawire.io
Thank you!
● rhs@datawire.io
● If you want to learn more about these ideas, check out our hands-on tutorial here:
○ https://datawire.io/faster
● If you’re interested in any of our open source tools, check them out:
○ https://forge.sh for deployment
○ https://www.telepresence.io for real-time live coding
○ https://www.getambassador.io self-service API Gateway built on Envoy
49