Elasticity and Scalability Flashcards
Scalability
focus on building for growth;
keep storing more and more data without having to provision any hardware.
Elasticity
ability to scale up and scale down
pay only for what you need, when you need it.
– increase or decrease read and write throughput capacity on demand.
EC2 – Scaling and Elasticity
Scalability: -- Increase the size of instances -- choose different instance types -- launch more instances Elasticity: -- auto scaling gives the ability to grow and shrink back .
Amazon RDS and ElastiCache
- Reserved capacity is available
- New generation of Reserved Cache Nodes only offer Heavy Utilization nodes, while older generations offer Heavy, Medium, and Light Utilization
AutoScaling vs. Resizing
auto scaling: distributes the load across multiple instances; uses metrics and rules to automate spinning up/terminating instances; can scale or shrink on a schedule.
Resizing instances: Increases/decreases resources available to our application
Challenges of Auto Scaling
relatively complicated to setup
– instances can be started and stopped at any time;
– Applications need to be designed to handle distributed work
– important data needs to stored in a central location
–if one server terminates, the application should still function;
Delays in scaling
– Instances take time to initialize
– applications may require setup which could take even more time.
Challenges of Resizing Instances
Compatibility
– instances must have the same virtualization type to resize;
– incompatible instances require migration
EBS-backed instances need to be stopped before resizing
instance store-backed instances require migration by creating an image and launching a new instance from that image.
Resizing is not very flexible compared to auto scaling
usually has to be downtime and careful planning
resizing instances in auto scaling groups may need “suspending”