-: To create redundancy for our servers,
we're going to use a concept known as clustering.
A cluster is when you take two or more servers
and have them work together
to perform a particular job function.
We can cluster our servers as either failover clusters,
or load-balancing clusters.
When we talk about failover clusters,
failover clusters are concerned with high availability.
They're designed so the secondary server can take over
in case the primary one fails
with limited or no down time.
A good example of this is your active domain controllers.
You have a DC1 and a DC2.
DC1 acts as the primary server,
and if DC1 goes down, then DC2 would take over.
Also, you could do this with a mail server,
having a primary and a secondary exchange server.
If the first server goes down,
the second one takes over.
That's the idea we're talking about
when we're dealing with failover clustering.
Now, the second type of clustering is known
as load-balancing clustering.
Load-balancing clustering is focused
on servers sharing their resources,
such as their processing power,
their memory, and their hard disks.
For example, Microsoft has a thing
called the cluster server.
This allows for parallel, high-performance computing
where multiple servers can all be used
as part of a server farm
to conduct processing towards a common need.
For example, let's say I had an application
and I wanted to break some kind of encryption or password.
I might use clustered servers to do that
because it allows me to combine all of that processing power
from all of those machines
to help me crack the encryption
or that password much, much faster.
Load-balancing clusters are also commonly used
to provide web servers for busy websites.
For example, Facebook.com is really busy.
They can't have a single server handling all that load.
So they use a large cluster of load-balancing servers
to do that, because that single server couldn't handle
all those requests on its own.
(techno music)