Welcome!

IT Is Power. Try Living Without A Single Breadboard For A Day.

Don MacVittie

Subscribe to Don MacVittie: eMailAlertsEmail Alerts
Get Don MacVittie via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Virtualization Magazine, Wireless Technology Magazine, F5 Networks

Blog Feed Post

Ways to Improve Replication Performance and Reliability

The Slow Growth of Speedy Communications

THE SLOW GROWTH OF SPEEDY COMMUNICATIONS

It used to be that if you were replicating database or file storage to a remote location you had few options if your connection was not the best. You could use rate shaping to give more of the pipe over to your replication, increase TCP window sizes, turn on jumbo frames… All relatively primitive stuff. image

As time went on, the speed and reliability of data connections grew, which increased our usage of such connections to replicate data, which decreased the reliability of the connections because we were pouring  more data through pipes every day. So we grew the pipes, but latency and packet loss were beyond our control.

And then, as inevitably happens, we outgrew those larger connections too. And the cycle commenced. Replicating anything over a WAN connection is a lot of data to transfer, no matter how you slice it, and if the analysts are to be believed, the amount of data we need to transfer just continues to grow, making the problem ever more complex. And now there is increasing pressure to secure that data in-flight over the WAN, not an unreasonable request, but definitely one that is technologically complex.

But there are ways to improve replication performance and reliability without continuing to increase your pipe and resend failed data. I thought we could chat about the architectural styles, just so you have a reference for what you could be doing. Up-front, F5 participates in this market with our WOM product, and thus, the “device-based multi-function” item below is us. I don’t think I overstate the case, but it is best if you know a writers’ possible biases up-front.

Picture Courtesy of WeLoveTeaching.com


OPTIONS! WHAT ARE THE OPTIONS!?

1. Server-based acceleration and/or encryption. A process on the server does TCP optimizations and perhaps data compression on the way off the server. The strength of this solution is that it is cheap, often bundled with database software and backup software respectively. The weakness is that the server it operates on can see significant performance degradation as this process takes up memory and CPU. The other leading negative is that the options for optimization are generally limited in an on-server software solution. A similar process is available for encryption, but it really tortures your CPU, taking a ton of processing power to encrypt a live stream.

2. Speedier server based encryption. There are add-on cards available to offload encryption in this scenario, and they’re well worth the investment if you are encrypting data on the server. Seriously. Check your CPU usage if you’re in this crowd, and consider an acceleration card for encryption if it’s high.

3. Device based encryption. A network device encrypts your data on the way out of the building. This is a solid answer to the encryption problem, but still leaves your data unaccelerated. If your problem is simply encryption, and your communications are reliable and your connection is big enough, this might just be the solution for you.

4. Device based acceleration. These devices allow you to accelerate your communications in a variety of ways, depending upon vendor. TCP acceleration, caching, deduplication, local remote storage… They can give you a great speed increase, again, depending upon your vendor and the product. While not doing much to secure your communications, these can increase the performance of your replication and decrease the amount of traffic flowing through the connection.

5. Device based rate shaping and QoS. Devices in this category allow you to partition your outgoing (and incoming) connection to give preference to varying types of applications within limits – setting minimum and maximum amounts of pipe a given protocol can use, or giving heavier precedence to one protocol over another, for example.

6. Device based multi-function. These are the kings of the roost. They offload encryption and acceleration from your servers, they encrypt the data heading out, accelerate the TCP connection, rate shape the data flowing through them to your specifications, compress, deduplicate, and in very rare products, can cook you breakfast. Okay, that last part may be a bit of exaggeration, but some products do run hot, so you never know. These products have one thing over server based solutions in that they (and all device-based products) work on all data flowing through your connection – assuming you configure them that way – while server-based solutions work only on the data that particular server is passing through it.

7. Storage-based Acceleration. This category is growing in visibility at the moment, it copies from one storage device to another, often optimizing the throughput. Not generally as effective as dedicated solutions, and not generally providing database replicas (though some do), this solution set is an option for those that have a lot of data and are copying it from like to like storage systems. In many cases these products benefit from the above solutions, as they do not 100% overlap in functionality.


CAVEATS! ALWAYS CAVEATS!

The quality of acceleration and security you get does of course vary, and as I hinted at above, which is best for your environment is definitely a question that you are in a far better position to answer than I am. Generally, I lean away from server-based solutions because they only address a piece of the problem and they do so at the cost of processing power on your servers – the very things you’re trying to make appear faster with acceleration.

These solutions always cost money, but the amount that they cost might well be recouped in uptime and deferred costs of upgrading your connection in a short amount of time. Again, this varies widely based upon your environment, the completeness of the product in question, and growth patterns, but it is definitely worth checking out. Of course if your replication is failing because of the quality or size of your connection, you will likely gain a large and immediate benefit from any of the acceleration solutions.


Follow me on Twitter icon_facebook

AddThis Feed Button Bookmark and Share

Related Articles and Blogs:

Read the original blog entry...

More Stories By Don MacVittie

Don MacVittie is founder of Ingrained Technology, A technical advocacy and software development consultancy. He has experience in application development, architecture, infrastructure, technical writing,DevOps, and IT management. MacVittie holds a B.S. in Computer Science from Northern Michigan University, and an M.S. in Computer Science from Nova Southeastern University.