Carrier
Part Six · Adoption Strategy
Chapter 231 min read

Introducing Carrier into an Enterprise

Adopting Carrier is not only a language decision. It is an operating-model decision. Carrier changes how services are described, reviewed, built, documented, and governed. The best introduction is not a broad mandate. It is a focused pilot with a real business problem, clear ownership, and measurable outcomes.

Figure 23.1 A pragmatic adoption arc — start narrow, prove value, expand deliberately.

Pilot Selection

Strong candidates include a new internal service with clear boundaries, a workflow service with several typed APIs, a domain that needs generated OpenAPI, a regulated data workflow where policy visibility matters, a modernization slice around a legacy boundary, or a healthcare intake or questionnaire-driven workflow. Weak candidates include systems with unclear ownership, unstable requirements, unresolved political boundaries, or heavy legacy coupling.

Figure 23.2 The authoring ladder — pick the smallest tier that fits the work.

Success Criteria

Useful success criteria include: the service compiles with carrier build --target node; API documentation is generated with carrier openapi; schema changes are handled through carrier migrate generate; routes, models, and policies are visible in .carrier/manifest.json; business logic is placed in actions rather than route bodies; the service boundary is clear enough for architects and developers to explain; reviewers can understand API and schema impact faster than in the previous stack.

Team Enablement

Carrier adoption requires teaching teams how to think in Carrier constructs. Enablement should include small reference services, code review examples, migration examples, OpenAPI generation, and manifest inspection. Architects should learn enough Carrier to review service shape directly, not only through diagrams.

Migration from Existing Stacks

Migration should usually be incremental. Carrier can be introduced beside existing systems through new service boundaries, anti-corruption layers, integration APIs, or workflow slices. The enterprise does not need to rewrite a platform to gain value. The key is to avoid recreating old architecture inside new syntax. Carrier adoption should improve boundary clarity, not merely translate existing framework patterns one-for-one.

Contents