System whose components run across multiple machines.

Pattern for creating objects through a method.

Memory area for dynamically allocated objects.

Distributes traffic across servers.

Representation of concepts in a problem domain.

Switching to a backup system after failure.

Design minimizing service downtime.

Recording application or system events.

Development approach centered on business domains.

Ability to continue operating despite failures.