Get Started with the Project

6 Steps  |  45 Minutes

Python_Web_App_HERO-ART_SM

Q: What is the benefit of hosting an application on Amazon Web Services and Elastic Beanstalk?

Elastic Beanstalk provides monitoring tools, resource management, and simple configuration options that make it easy to manage environments. You can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. At the same time, you retain full control over the Amazon Web Services resources powering your application and can access the underlying resources at any time.

Q: Will I own the resources in the stack?

All of the resources in your environment except the CNAME record that points to your load balancer are launched under your account. To avoid drift, you should only manage these resources using the functionality provided by Elastic Beanstalk.

Q: Can I customize my app once it is hosted on Amazon Web Services?

Most settings on your Elastic Beanstalk environment can be changed after launch. Application name, environment name, platform, and Amazon VPC assignment cannot be changed.

Q: How can I change the configuration of my environment after it is created for me?

You can use the Elastic Beanstalk Management Console or Elastic Beanstalk CLI to change settings on a running environment, or save an environment's current configuration and apply it to another environment. You can also use configuration files to configure and extend the resources in your environment in the source code of your application.

Q: How do I scale my app in the event of more traffic?

Configure your environment's Auto Scaling group to launch more instances when traffic reaches a predefined threshold.

Q: How do I update the application?

Deploy a new version of your application's source code to a running environment with the Elastic Beanstalk Management Console or Elastic Beanstalk CLI.

Q: What is High Availability?

High Availability (HA) is an environment configuration that ensures that your application is always available to serve requests from users. For a typical web application, configuring for HA requires running multiple web servers behind a load balancer, configuring Auto Scaling to replace lost instances and launch more instances in response to surges in traffic, and having a standby database instance configured for automatic failover. These measures ensure that your application will continue to serve traffic if infrastructure failure affects any single resource, and that it can handle increases in traffic without running enough servers to handle max capacity at all times. For Amazon Elastic Beanstalk, production HA configuration also includes running your database instances outside of your web server environment which allows you to perform blue/green deployments and advanced database management operations.

Q: Can I make my application non-highly available?

Yes, you can change your environment type to Single Instance to remove the load balancer, and launch a single-AZ database instance to reduce the number of resources needed to run your environment.

Q: How long will it take for the stack to come up and running?

Launching a new Elastic Beanstalk environment usually takes less than 5 minutes, but may take longer if you launch a large number of instances or include a database instance. A database instance takes about 10 minutes to launch.

Get Started with the Project