Testing an individual software component.

Transaction spanning multiple services or databases.

Continuing partial functionality when components fail.

Cached build outputs used to accelerate later builds.

Controlling software configuration throughout its lifecycle.

Software design approach centered on business-domain concepts.

Database designed around nodes and relationships.

Component required to compile or package software.

Text specifying how to connect to a service or database.

Infrastructure transporting events between software components.