This chapter introduces a fairly formal approach to assessing and choosing a high availability solution for your applications. In reality, most folks who are attempting to do this Phase 0 HA assessment are really retrofitting their existing application for high availability. That’s okay because this Phase 0 assessment directly supports the retrofitting process. The key to success is doing as complete a job as you can on the assessment and using some of your best folks to do it. They will interpret the technology and the business needs with the most accuracy. You have a lot riding on the proper assessment—potentially your company’s existence. If you cannot free up your best folks to do this Phase 0 assessment, then hire some professionals who do this every day to do it for you. You will recoup the relatively small cost of this short effort very quickly.
Figure 3.17 Development methodology with high availability built in.
It is no small task to understand an application’s HA requirement, time to recovery, tolerance of recovery, data resiliency, application resiliency, performance/scalability, and costs of downtime (loss). Then, you must couple this information with your hardware/software configurations, several Microsoft-based technology offerings, and your allowable upgrade budget. The cost of not doing this upgrade will have a much greater impact, and if you are going to move to a high availability solution, getting the right one in place to start with will save tons of time and money in and of itself—and potentially your job.
Chapters 4 through 10 describe the Microsoft solutions that can be used to create a high availability solution (or component) and show exactly how to implement them. Those chapters provide a cookbook-type approach that will take you through the complete setup of something such as WSFC, SQL Clustering, Log Shipping, Data Replication, Availability Groups, or even a Stretch Database configuration using Microsoft Azure.
So, hold on to your hat, here we go.