Keeping a service running when one machine fails.
THE CONCEPTS
Load balancing distributes requests across several servers. High availability means the service survives the failure of any single component.
They are related and not identical: a load balancer distributing across two servers is both, unless the balancer itself is a single point of failure.
WHAT IT REQUIRES
Multiple application servers with identical code Shared or replicated storage for uploads, or an object store A database that is either shared or replicated Session handling that does not depend on one server A balancer in front
THE HARD PARTS
Database replication and failover File uploads, which must be available to all servers Sessions, which must be shared
Each is a real engineering problem, not a configuration setting.
WHETHER YOU NEED IT
Most small and medium sites do not. The complexity introduces its own failure modes, and a single well-maintained server with good backups and monitoring is more reliable in practice than a poorly understood cluster.
WHEN TO CONSIDER IT
When downtime has a measurable cost that exceeds the complexity, and you have the expertise to operate it.