The term “Microservice” is one of the most popular and most misunderstood concepts in modern software architecture. How small is a microservice? Does it have to be REST-compliant? Can different microservices share a database? And who made this stuff up anyway?
To answer these and other common practical concerns we’ve designed this one-day hands-on workshop. You’ll gain both a deep understanding of the microservices style of distributed server architectures and hands-on experience with building such an architecture and using the tools available to support it.
Trainer: Dror Helper
OUR NEXT WORKSHOP: TBD
Target Audience
- Software Developers
- Software Development Tech Leads
- Software Architects
Prerequisite
- At least 1 year of experience developing software
Objectives
- Learning the main characteristics of microservice-based architectures
- Understanding benefits, costs and risks
- Coding a microservice based system in class
- Practicing patterns and tooling essential for microservice architecture success
Topics
- 9 common characteristics of microservice architectures
- Domain driven design (DDD) in the service of microservice architectures
- Essential design patterns
- Multi-tier testing strategy for microservices
- Available open source tools
Structure
- A bit of history
- Lewis and Fowler’s industry survey of microservice usage
- 9 main characteristics of microservice
- Componentization via Services
- Organized around Business Capabilities
- Products not Projects
- Smart endpoints and dumb pipes
- Decentralized Governance
- Decentralized Data Management
- Infrastructure Automation
- Design for failure
- Evolutionary Design
- A brief overview of DDD
- Ubiquitous language
- Entities, value objects and aggregates
- Bounded contexts
- DDD in the service of microservice systems
- Essential design patterns
- Service registry
- Routing
- Load balancing
- Circuit Breaker
- Bulkhead
- Throttle
- Global lock
- A multi-tier testing strategy for microservice systems
- Unit tests
- Component tests
- Contract tests (w/ Pact)
- Integration tests
- End to end tests
- Hands-on practice: Building a microservices based system in class.
Schedule
Unless otherwise stated, the workshop runs 1 day, 9:30 to 17:30.