Armagan Amcalar
Agile Turkey Summit 2016
Oct 6th, 2016
Armagan Amcalar
Head of Software Engineering @ unu GmbH
Founder @ Lonca Works
dashersw dashersw
Your team wants to adopt microservices.
Is your organization ready for the challenge?
Bounded contexts in domain driven design (at worst)
Request–response flow breakdown with
preferably many smaller pieces (with separate codebase)
A bug in a service doesn't bring down the whole app
Scales well, needs minimal additional resources
Supports event-driven architecture
Single responsibility, API interface
Clear interfaces between services
Auto discovery
Dynamic configuration
High availability
Scale and update single services
Wrong domain model
Error handling & circuit breaking
Fault-tolerance
Monitoring
Multiple points of failure
Hard to get the big picture
Code will rapidly change
Dependencies will change
Deployment & release processes will change
Prepare for and own the change
Defer responsibilities
Increase visibility on dependencies and interfaces between software components
Architectural documents are back
DevOps movement
Integration tests are a lot more important
Controversy: decrease unit and functional tests and increase automated user acceptance tests.
Increase in code ownership
Awareness of impact
Increase in communication
Reduced stress due to automation
Architecture is straightforward; reduces ambiguity for what implementation belongs in what class
DDD is more important, more straightforward
Freedom to use the best tool for the job
Invest in a solid CI/CD process
Pipelined builds with several stages
Containerize your application
Invest heavily in monitoring
No vendor lock in
No secret sauce
No surprises
Migration is damn easy
Adopting new technologies is lightning fast
Team structure completely changes
Scrum teams will get an update
Release management becomes a first-class citizen
Hierarchy is eliminated
Find other ways to keep a consistent vision within the team
Increased agility
Smaller teams lead to easier decisions
Helps with planning for impediments and dependencies; “blocked-by hell”
Increased happiness
Increased productivity
Fit for distributed teams!
Armagan Amcalar