Managing External API’s in Enterprise Systems
summary
Migrates a wide legacy comms API into a constrained wrapper that uses move-only response carriers (unique_ptr), replaces callbacks with futures/promises, and routes between Service A and Service B via a service proxy with std::variant of futures, keeping global call semantics unchanged. Tests switch to a mock_service_proxy so unit suites need only small type fixes. Deployment is gradual (many months in production), decommission happens in two safe stages, and the pattern proves workable with Godbolt and GitHub code examples.
AI-written summary · about
chapters (19)
- 0:00Managing external APIs
- 1:24Why focus on API consumption
- 7:23System architecture overview
- 10:36Constraining external APIs
- 13:25Making API async with futures
- 15:54Action handlers for requests
- 18:01Unit testing with mocks
- 23:38Handling production changes
- 27:10Gradual migration to new service
- 31:26Safe API replacement requirements
- 33:53Service proxy abstraction
- 37:30Dealing with variant responses
- 41:41Semantic code changes
- 44:13Testing service proxy
- 47:44Routing requests between services
- 51:11Batching requests and responses
- 53:38Engineering low-risk change
- 55:06Mitigating production risk
- 56:57Q&A
related talks
19mAdopting AsyncAPI in Enterprisey Contexts
44mRoute to microservices the epic voyage of a fintech leader
44mPragmatic Microservices
43mAPIs Are the Backbone of Every Company
27mThe long journey to an API community of practice in an old insurance company
26mMastering API Strategies for Digital Transformation
44mWhy "Enterprise Tools" Are Bad for the Enterprise
27mUnlocking API Success: Bridging Business & Engineering
