There were some great follow-up questions to my webinar on high availability infrastructure, two of which I want to write about today.
If I'm looking to add cloud capacity for resiliency and reliability, what should I look for in a provider?
- Their level of comfort with your technical stack and requirements
- Level of experience with companies like yours
- A consultative approach to understanding your applications, current infrastructure, operational model, and security requirements
- The ability to implement your desired mix of public cloud and dedicated infrastructure
- A high-availability network to connect your multi-site resources (if appropriate)
- A track record of reliable operation
- Willingness to share information about the process they use for design and change management at every level, from infrastructure and managed services to cloud product lines
You mentioned several technologies for adding redundancy and load balancing to web and app servers. What about database servers?
Most database systems require you to use their internal technology for load balancing, but Oracle, PostgreSQL, MySQL, and MS SQL Server all support most of the common high-availability implementations; usually, master/master, and read replicas.
MS SQL Server is most often implemented via shared storage, which is riskier if the underlying storage becomes corrupt. As another option for MS SQL, PCTI has a database load balancer that is transaction-aware and can keep multiple server or clusters in sync, locally or remotely.
To get more transactions per second than the classic database architectures can support, clustering is of limited use at a certain point, and it may be worth looking at Clustrix, MemSQL, NuoDB, and other "NewSQL" systems, many of which are transactionally safe (ACID compliant). Most of them require large amounts of RAM or SSD and direct, high-speed network connectivity, or have database size limits, but they can scale to much larger numbers of transactions per second for much less cost than traditional, ACID-compliant systems.