Keep business logic in the center (domain/use cases) and talk to the outside world through ports (interfaces). Adapters implement those ports for DB, HTTP, queues, etc., so you can swap infrastructure without rewriting core logic.