Replication is a useful method of maintaining application and data availability. In this video, you’ll learn about SAN replication, VM replication, and a comparison of on premises and cloud redundancy.
When we deploy an application instance, it’s very common that the computing engine that is able to manage the front end for the users is separated from where the data is being stored. And if we could store the data in a centralized facility the multiple front ends are able to access then we have more redundancy. If we lose one of these front ends, we have other front ends that can still access the same amount of data that we have in this data store.
We refer to this data store as a storage area network or SANs. The storage area network is high performance storage with built in redundancy and we’re usually able to access this over very high speed network. Not only does this allow multiple front ends to this data store but we can also replicate the data between storage area networks.
So we could either have a primary and a backup storage area network or both storage area networks could be active simultaneously. And they’re constantly replicating data between each other to maintain everything at exactly the same state. You could also do this across multiple locations. So you can have one data center with SAN and another data center with SAN and then constantly replicate that data between those data centers.
If a data center suddenly becomes unavailable or you want to switch everyone from one data center to another, you will always have access to the data. If real-time replication of data between SANs isn’t available, you can create a SAN snapshot. The snapshot will take data from one storage area network. Take the exact makeup of that data and then copy that data to a separate storage area network.
The snapshot can be taken at an interval that you choose. So it might be taken every hour or every 24 hours or whatever interval makes sense for that data and that application. If there’s an outage and you need to move to the backup storage area snapshot then you’ve only lost the data that occurred between the snapshot and the current time frame.
Our cloud based application instances rely heavily on virtual machines. And being able to have multiple virtual machines running simultaneously. We also have the ability to replicate virtual machines. So we can update one VM and have those updates replicate to all of the other VMs that might be running in our environment.
This allows us to maintain consistency between all of the separate virtual machines. Once we update the primary VM all of those updates can be rolled out to every other virtual machine that we’re running wherever it happens to be in the world. This replicated VM also acts as a backup. If we happen to lose the primary virtual machine we can roll a new virtual machine from the replication and continue to have uptime and availability on the new VM.
This VM replication is very efficient. If you change only one file on a virtual machine, you only have to copy those changes to all of the other VMs to maintain the replicated data. You don’t have to duplicate the entire VM from one place to the other if the only thing that’s changed is that single file.
When you’ve got all of these cloud based systems, you may want to decide to have the data replicated into a local service. Or into a service that might be in the cloud. And there are advantages and disadvantages for both of those decisions.
One concern may be with the speed of the network connection that you’ll be using to provide this replicated data. If there’s a large amount of data that has to be replicated having devices that are local on your network would provide very fast connectivity. Connections to the cloud are almost always going to be slower than devices that would be in a local data center.
But if you’re going to have all of this equipment in your own local facility you’ll need to purchase all of that. That’s going to take quite a bit of money to spin up all of these separate storage drives. Cloud storage systems tend to have a low cost entry point and then you would scale up the costs as you use more of those resources.
And from a security perspective if you’re storing data locally then exactly who has access to that data. Storing data in the cloud could possibly open access to that data up to others. So you may have to add additional encryption or the security mechanisms if you’re planning to store data in the cloud.