GOTO 2014 • Microservices • Martin Fowler Microservices - Martin Fowler Talk Notes
https://www.nginx.com/blog/introduction-to-microservices/
https://opensource.com/resources/what-are-microservices
https://smartbear.com/learn/api-design/what-are-microservices/
http://microservices.io/
https://www.youtube.com/watch?v=57UK46qfBLY
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services should be fine-grained and the protocols should be lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity and makes the application easier to understand, develop and test. It also parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.[1] It also allows the architecture of an individual service to emerge through continuous refactoring.[2] The microservice architecture enables continuous delivery and deployment.
- Componentization via Services
- Organized around business capabilities
- Products not Projects
- Smart endpoints and dumb pipes
- Decentralized Goverance
- Decentralized Data Management
- Infrastructure Automation
- Design for failure
- Evolutionary Design
components are indepentently reeplaceable and upgradeable service
Things to have when you go live:
- Traceable Business Transactions
- Continuous Delivery
- Product-centered Teams
- Multi-Dev Environment
- Rapid Provisioning
- Basic Monitoring
- Rapid Application Deployment
- Devops culture