In this lesson,
we're going to discuss some high availability approaches.
Now, it's essential to achieve high availability
in your network environments
if you want to be able to maintain continuous operations
with minimal downtime for your end users.
Network redundancy is focused on ensuring our networks
remain up and running at all times
so that we can increase our availability.
This includes the server connections to the network,
the connections between our switches and our routers
and our connections out to the internet.
To accomplish all of this,
our servers have two or more network interface parts,
and they can be operated as a pair
or in a load balancing configuration.
For example, I can have a network attached server
with five network cards installed.
On this particular server,
I have four network cables plugged into it,
and it's already providing services.
Now under this configuration, if one of those cards fails,
the other ones can take over the load and the demand.
Now, these network cards can also be used in pairs
for more redundancy,
or we can split them up and put them into two groups
so you have additional throughput
by operating more of these cards at one time
in a simultaneous manner.
So let's say I create two groups,
one with four network cards in it,
and one with a single network card over there by itself.
Now this will give me a total
of five different network connections that we can have.
Four of those can operate in a shared load capacity,
and this means that all four
will work together as one virtual card.
So if each one is 100 megabits per second each,
this will give me a combined amount
of 400 megabits per second,
and that fifth one sitting over there by itself,
it will still be 100 megabits per second by itself,
and we can use that as a backup connection
for increased levels of redundancy if we need to.
Now, if the group of four connections happens to go offline,
that fifth one sitting by itself can take over
and provide some level of service,
even though it's going to be a slower connection.
Now, in order to ensure our network devices have redundancy,
we're also going to use things like switches
and routers that are configured
with multiple and redundant network cables
going between them.
For example, if I have a switch
with two trunk ports using fiber optic cables,
this can allow me to have that switch
to be able to get service from two separate routers.
And this way, if one of the routers goes down,
the other router can take over as the secondary one,
and it'll carry all the data from that switch
out to the network.
This will then give me redundancy
by allowing us to have different pathways out of that switch
by using these two different network connections.
So as you can see,
when you're planning for network redundancy,
you really need to start thinking about this
in three different parts.
You need to think about it as the device,
those network interface cards and the cables themself.
Also, you need to think about it from the router
and switch perspective to make sure you have redundant paths
inside of your network and out to the internet as well
when you're making external connections.
All right, now that we've covered some of the basics,
let's explore some different high availability approaches
or strategies that we can utilize
to achieve higher levels of availability
and redundancy in our networks.
This includes things like active-active approaches,
active-passive approaches,
the use of hardware devices like load balancers,
and the use of content delivery networks.
First, let's explore
the active-active approach to high availability.
Now, inside of an active-active setup,
multiple systems will be run simultaneously
and they'll share the load and provide seamless service
even if one or more of those systems fail.
This approach will maximize resource utilization
and ensure that the service can handle the load
even in a case of a system failure.
For example, if I have two network cards
installed in my network-attached file server,
and each card operates at one gigabit per second,
I can put them in a load balance configuration
that supports the active-active configuration.
And that way, if both cards are operating,
they'll be working together
to provide a combined throughput of two gigabits per second.
But if one of those network connections
goes down for any reason,
the other one is already there and working.
So it's going to continue to work because it's already active.
The only difference that we're going to see as an end user
is that our speed or our throughput has gone down
because it's been cut in half
because we lost one of those two connectionsm
so we went from one gigabit per second
plus one gigabit per second,
or two gigabits per second of combined throughput
down to only a single one gigabit per second connection.
And that means we only have
one gigabit per second of throughput
that we can use for our systems.
Now the second thing we need to discuss
is an active-passive approach to high availability.
When we're using an active-passive approach,
our systems are going to be configured
so that a standby system will remain idle
until the primary system fails.
When the primary or active system fails,
then our standby system will go in
and take over to ensure that the continuity
of our services will remain available and online.
Now, one thing to note about this approach
is that it may not utilize resources
as efficiently as an active-active setup,
but it does still provide
a reliable fallback mechanism for us to use.
Let me give you a real-world example
of an active-active and active-passive setup.
Now at my old office building,
our power was configured
to use an active standby configuration
when we first moved in.
Because our offices were located in a region
where hurricanes and power outages occurred often,
the previous owner had installed a large diesel generator.
Anytime the power to the building was lost,
the generator would detect that,
it would start itself up
in response to the power loss,
and after about 30 to 60 seconds,
it would come online and take over providing power
until the primary power source
was available for us to use again.
Now, unfortunately,
this left us in the dark for about a minute
while that generator was turning on
and getting ready to assume the power loads
to run the building,
and we really didn't like this setup
from a high availability or redundancy perspective,
and so we decided to change it
from this active-passive mode into something
that uses an active-active configuration instead.
To achieve this,
we first installed 60 solar panels
to generate enough electricity
to be our primary power source.
Then we installed an electrical transfer switch
that would automatically go
from the solar panels to the electrical grid
anytime we're not getting enough power generated
by those solar panels
because maybe it's a cloudy day or something like that.
This was effectively an active standby configuration,
similar to what we discussed with a generator,
because we would use all solar
or we would use all electric power company provided grid,
we wouldn't use both of them at the same time.
Now, to achieve an active-active configuration,
we actually went ahead and installed
an always on battery backup system.
By using this system,
our solar panels would first fill the batteries,
and then the batteries would discharge
the power into the office building.
If the solar went down for any reason,
we actually wouldn't even notice it
because the battery backup will continue to provide power
for between four and seven days
based on the system size that we had installed
and our level of power utilization.
So hopefully you can see the difference here
between the active passive configuration
where we are using one of two power sources
with the ability to switch to the second one
and an active-active configuration
where we are constantly feeding the batteries,
and then those batteries are feeding the power
to our building,
so we always can use both power sources at the same time.
Now, third, let's take a look at load balancers.
Load balancers are going to function inside
of our high availability approaches as well,
and they're going to be used to distribute network traffic
across multiple servers to ensure
that no single server will bear too much load,
and this way we can maintain higher levels
of performance and uptime.
These load balancers really do play a crucial role
in an active-active setup
by efficiently distributing incoming requests
to the best available resources.
Load balancers also will continuously
monitor the health of the servers,
and they can reroute your traffic away
from failed nodes to maintain uninterrupted services.
Fourth, we have content delivery networks.
Content delivery network or CDN
is another vital component
in achieving high levels of availability.
A content delivery network is a network of servers
that are distributed geographically
to deliver content to users more efficiently and reliably.
CDNs can also store cash content closer to the end users,
so we can reduce the latency
and lower the load times for those end users
when they're trying to access those services.
Now, in the case of a server failure or excessive traffic,
our content delivery networks
can simply reroute the request
to the next closest server to ensure
that our end users experience remains unaffected
by the loss of a single server
or higher than expected network traffic loads
being experienced.
Now, when it comes to implementing high availability,
it's important that you design the network with redundancy
at its core.
Redundancy can be achieved
by deploying multiple network interface cards
inside of your servers,
and this way, you can support both load balancing
and redundancy by ensuring that multiple pathways exist
between your switches and routers,
as well as by having redundant internet connections
for your use too.
By combining these infrastructure setups with active-active
or active-passive approaches and integrating load balancers
and CDNs, your enterprise network
can achieve high availability, minimize its downtime,
and provide a seamless user experience.
So remember, high availability approaches
include things like active-active configurations
and active-passive configuration,
leveraging load balancers,
or implementing a content delivery network
so that you can maintain continuous operations
and higher levels of performance
in enterprise networks and services.
These strategies can also be combined
with a robust network design
that can focus on integrating redundancy into your systems
so that you can ensure your business
can provide reliable and efficient services
to its end users.