Comparison
Hexagonal architecturevsTier vs layer
Hexagonal architecture
the same use case runs from an HTTP handler, a message consumer and a test, and none of them is the primary one.
An arrangement where the application defines ports — interfaces for what it needs and what it offers — and adapters implement them for HTTP, databases, queues or tests. The hexagon shape carries no meaning beyond having several sides; the content is that the application never depends on a delivery mechanism or a storage technology. It makes the application testable in isolation and adds an interface plus an adapter for every boundary, which is real work for a small service.
Full entry →Tier vs layer
someone said three-tier and meant three folders, and someone else heard three machines.
A layer is a logical grouping of code; a tier is a physical place it runs. Three layers can live in one process and one deployable, and usually should — the classic three-tier picture put them on separate machines because that was how you scaled in the nineties. Keeping the two words apart is what stops a layering discussion turning into a deployment argument.
Full entry →