Chp 11: Classic Solutions Architecture Discussions Flashcards
How to restore a RDS database
from a snapshot
How to restore an EBS volume
from a snapshot
What is Elastic Beanstalk
AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
What does Beanstalk handle
- automatically handles capacity provisioning, load balancing, scaling, application health monitoring, instance configuration
- just the app code is the responsibility of the developer
Describe Elastic Beanstalk worker environments
If your AWS Elastic Beanstalk application performs operations or workflows that take a long time to complete, you can offload those tasks to a dedicated worker environment.
Decoupling your web application front end from a process that performs blocking operations is a common way to ensure that your application stays responsive under load.
To avoid running long-running tasks locally, you can use the AWS SDK for your programming language to send them to an Amazon Simple Queue Service (Amazon SQS) queue, and run the process that performs them on a separate set of instances. You then design these worker instances to take items from the queue only when they have capacity to run them, preventing them from becoming overwhelmed.
Scales based on the # of SQS messages
can push messages to SQS queue from another web server tier