Prototyping Python Microservices in Production
Speaker | Justin Akers |
---|---|
Time | 2017-08-06 12:05 |
Conference | PyCon Au 2017 |
Prototyping Python Microservices in Production
Move fast with stable infra.
Microservices.
- Help move fast, with stable infrastructure.
- Composability.
- Just do one task. Can user service by contract without understanding implementation.
- Reliability.
- Mobility.
- Fault isolation - only if you do it properly.
- Test and deploy at your own pace.
- Ownership. Teams can own individual microservices.
- Safer deployment and testing.
- Scaling. Can move bottlenecks around. Doesn’t actually help.
- Can back fire. Not as easy as it sounds.
Why not?
- Complexity.
- Logging and metrics diverge. Standard logging service. Standard metrics service. Constant checking required.
- Shift in bottlenecks.
- Overheads leads to waste.
- Management to aviod silos.
- Full stack testing is harder.
- Difficult to debug interactively.
- Disaster recovery is daunting.
- Not a silver bullet. Different colour.
Decouple cleanly. Apache Thrift.
- asyncio support coming soon.
Measuring and monitoring. Should be done from the start. Prometheus.
Should not hardcode IP addresses or domain names.
Shadowing. Duplicate requests to instances.