Tips and tricks of building microservices for highly scalable applications. Presentatio talks about core architectural concerns to take care while planning to build microservices.
Used for the talk at Delhi tech meetup March2017.
1. Building Microservices
Delhi Tech Meetup - 22/3/2017
(Presentation slides used for the talk on “building micro-services”. Slides alone not a comprehensive material on the topic.)
12. Architectural Concerns - Security
Simplistic - manage at firewall
Intermediate - inter-service tokens
Advanced: Identity service, encryption etc [Avoid till
13. Architectural Concerns - Protocols
Create common libs for protocol standards [HTTP, Headers,
Marshaling protocols], connection pooling, failure
handling, logging etc
JSON, XML, Protobuf, all?
Provision for protocol/serialization versions! Always.
14. Architectural Concerns - Context
Manage context across sync and async calls!
Context should contain:
❏ Unique source request Id
❏ User/actor id
❏ Caller service id
❏ Specific server instances
❏ Security/authorization info, if applicable
21. Runtime Performance
Prepare for performance degradation of others
Use circuit breakers. Timeouts won’t help.
Isolation of problem is important. Design such.
Design for failure. Have product flag/alternative setup
Idempotent APIs help
Sync vs Async services - design for best & worst case