Laine will explain the options for running MySQL at high volumes at Amazon Web Services, exploring options around database as a service, hosted instances/storages and all appropriate availability, performance and provisioning considerations using real-world examples from Call of Duty, Obama for America and many more. Laine will show how to build highly available, manageable and performant MySQL environments that scale in AWS—how to maintain then, grow them and deal with failure. Some of the specific topics covered are:
- Overview of RDS and EC2 – pros, cons and usage patterns/antipatterns.
- Implementation choices in both offerings: instance sizing, ephemeral SSDs, EBS, provisioned IOPS and advanced techniques (RAID, mixed storage environments, etc…)
- Leveraging regions and availability zones for availability, business continuity and disaster recovery.
- Scaling patterns including read/write splitting, read distribution, functional dataset partitioning and horizontal dataset partitioning (aka sharding)
- Common failure modes – AZ and Region failures, EBS corruption, EBS performance inconsistencies and more.
- Managing and mitigating cost with various instance and storage options