Compute | AWS Elastic Beanstalk Flashcards
What is AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk makes it even easier for developers to quickly deploy and manage applications in the AWS Cloud. Developers simply upload their application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.
Who should use AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
Those who want to deploy and manage their applications within minutes in the AWS Cloud. You don’t need experience with cloud computing to get started. AWS Elastic Beanstalk supports Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker web applications.
Which languages and development stacks does AWS Elastic Beanstalk support?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk supports the following languages and development stacks:
Apache Tomcat for Java applications
Apache HTTP Server for PHP applications
Apache HTTP Server for Python applications
Nginx or Apache HTTP Server for Node.js applications
Passenger or Puma for Ruby applications
Microsoft IIS 7.5, 8.0, and 8.5 for .NET applications
Java SE
Docker
Go
See Supported Platforms for a complete, up-to-date list of supported language and development stacks.
Will AWS Elastic Beanstalk support other languages?
General
AWS Elastic Beanstalk | Compute
Yes. AWS Elastic Beanstalk is designed so that it can be extended to support multiple development stacks and programming languages in the future. AWS is working with solution providers on the APIs and capabilities needed to create additional Elastic Beanstalk offerings.
What can developers now do with AWS Elastic Beanstalk that they could not before?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk automates the details of capacity provisioning, load balancing, auto scaling, and application deployment, creating an environment that runs a version of your application. You can simply upload your deployable code (e.g., WAR file), and AWS Elastic Beanstalk does the rest. The AWS Toolkit for Visual Studio and the AWS Toolkit for Eclipse allow you to deploy your application to AWS Elastic Beanstalk and manage it without leaving your IDE. Once your application is running, Elastic Beanstalk automates management tasks–such as monitoring, application version deployment, a basic health check–and facilitates log file access. By using Elastic Beanstalk, developers can focus on developing their application and are freed from deployment-oriented tasks, such as provisioning servers, setting up load balancing, or managing scaling.
How is AWS Elastic Beanstalk different from existing application containers or platform-as-a-service solutions?
General
AWS Elastic Beanstalk | Compute
Most existing application containers or platform-as-a-service solutions, while reducing the amount of programming required, significantly diminish developers’ flexibility and control. Developers are forced to live with all the decisions predetermined by the vendor–with little to no opportunity to take back control over various parts of their application’s infrastructure. However, with AWS Elastic Beanstalk, developers retain full control over the AWS resources powering their application. If developers decide they want to manage some (or all) of the elements of their infrastructure, they can do so seamlessly by using Elastic Beanstalk’s management capabilities.
What elements of my application can I control when using AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
With AWS Elastic Beanstalk, you can:
Select the operating system that matches your application requirements (e.g., Amazon Linux or Windows Server 2012 R2)
Choose from several available database and storage options
Enable login access to Amazon EC2 instances for immediate and direct troubleshooting
Quickly improve application reliability by running in more than one Availability Zone
Enhance application security by enabling HTTPS protocol on the load balancer
Access built-in Amazon CloudWatch monitoring and getting notifications on application health and other important events
Adjust application server settings (e.g., JVM settings) and pass environment variables
Run other application components, such as a memory caching service, side-by-side in Amazon EC2
Access log files without logging in to the application servers
What are the Cloud resources powering my AWS Elastic Beanstalk application?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk uses proven AWS features and services, such as Amazon EC2, Amazon RDS, Elastic Load Balancing, Auto Scaling, Amazon S3, and Amazon SNS, to create an environment that runs your application. The current version of AWS Elastic Beanstalk uses the Amazon Linux AMI or the Windows Server 2012 R2 AMI.
What kinds of applications are supported by AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk supports Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker, and is ideal for web applications. However, due to Elastic Beanstalk’s open architecture, non-web applications can also be deployed using Elastic Beanstalk. We expect to support additional application types and programming languages in the future. See Supported Platforms to learn more.
Which operating systems does AWS Elastic Beanstalk use?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk runs on the Amazon Linux AMI and the Windows Server 2012 R2 AMI. Both AMIs are supported and maintained by Amazon Web Services and are designed to provide a stable, secure, and high-performance execution environment for Amazon EC2 Cloud computing.
How quickly will my application start running?
General
AWS Elastic Beanstalk | Compute
It typically takes a few minutes to create the AWS resources to run your application, measured from the time you upload your application version (e.g., WAR file, ASP.NET files, Node.js files, PHP files, Python files, or Ruby files) to when it is fully deployed and accessible to your users. This time is dependent on a number of factors, including the size of your deployable code and the number of application servers you are deploying.
How quickly will my application get updated?
General
AWS Elastic Beanstalk | Compute
Deploying new application versions to existing resources (e.g., environments) happens much faster (typically under a minute) and is mostly dependent on the size of the new application version.
How quickly can my application scale up and down?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk provides a truly elastic environment using Auto Scaling. Your application can be configured to automatically scale tens or even hundreds of times based on thresholds, such as CPU utilization or network bandwidth. These thresholds can be easily configured for your specific application using the Elastic Beanstalk console. With Elastic Beanstalk, you don’t have to worry if you will be able to scale quickly to handle peaks in traffic or users, nor if you will be forced to pay for resources that you don’t need.
Can I have multiple versions of my application running at the same time?
General
AWS Elastic Beanstalk | Compute
Yes. AWS Elastic Beanstalk is designed to support multiple running environments, such as one for integration testing, one for pre-production, and one for production. Each environment is independently configured and runs on its own separate AWS resources. Elastic Beanstalk also stores and tracks application versions over time, so an existing environment can be easily rolled back to a prior version or a new environment can be launched using an older version to try and reproduce a customer problem.
How many applications can I run with AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
You can create up to 75 applications and 1,000 application versions. By default, you can run up to 200 environments across all of your applications. If you are also using AWS outside of AWS Elastic Beanstalk, you may not be able to create 10 environments since other limits may be hit sooner. For example, the default AWS account limits allow you to launch up to 20 EC2 instances and create up to 10 elastic load balancers. If you need more resources, complete the AWS Elastic Beanstalk request form, and your request will be promptly evaluated.
Can I use AWS Elastic Beanstalk to deploy applications that must be highly available?
General
AWS Elastic Beanstalk | Compute
Yes. To do this, you edit your environment configuration settings, select 2 or more instances for Auto Scaling minimum, and set Multiple Availability Zones to “Any 2”. AWS Availability Zones are designed to be physically distinct, fail independently, and be reliable.
What happens if my application stops responding to requests?
General
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk applications are protected against failures in the underlying infrastructure. If an Amazon EC2 instance fails for any reason, AWS Elastic Beanstalk will use Auto Scaling to automatically launch a new instance. Elastic Beanstalk can also detect if your application is not responding on the custom URL even though the underlying infrastructure appears healthy, and will log that as an environment event (e.g., a bad version was deployed) so you can take appropriate action.
Which AWS Regions is AWS Elastic Beanstalk available in?
General
AWS Elastic Beanstalk | Compute
Please refer to Regional Products and Services for details of Elastic Beanstalk availability by Region.
How do I access AWS Elastic Beanstalk?
General
AWS Elastic Beanstalk | Compute
You can use the AWS Management Console, the AWS Elastic Beanstalk command line interface (CLI), the AWS Toolkit for Visual Studio, the AWS Toolkit for Eclipse, the AWS Elastic Beanstalk API, or AWS SDKs.
Can I use an integrated development environment, like Eclipse or Microsoft Visual Studio?
Getting Started
AWS Elastic Beanstalk | Compute
Yes. You can use Eclipse and Visual Studio to deploy your application to AWS Elastic Beanstalk. You can use the AWS Toolkit for Eclipse for Java applications and the AWS Toolkit for Visual Studio for .NET applications. The toolkits allow you to develop your application, deploy it to Elastic Beanstalk, and even test it out without having to switch your focus away from your IDE.
How do I sign up for AWS Elastic Beanstalk?
Getting Started
AWS Elastic Beanstalk | Compute
To sign up for AWS Elastic Beanstalk, choose the Sign Up Now button on the Elastic Beanstalk detail page. You must have an Amazon Web Services account to access this service; if you do not already have one, you will be prompted to create one when you begin the Elastic Beanstalk process. After signing up, please refer to the AWS Elastic Beanstalk Getting Started Guide.
Why am I asked to verify my phone number when signing up for AWS Elastic Beanstalk?
Getting Started
AWS Elastic Beanstalk | Compute
AWS Elastic Beanstalk registration requires you to have a valid phone number and email address on file with AWS in case we ever need to contact you. Verifying your phone number takes only a few minutes and involves receiving an automated phone call during the registration process and entering a PIN number using the phone key pad.
How do I get started after I have signed up?
Getting Started
AWS Elastic Beanstalk | Compute
The best way to get started with AWS Elastic Beanstalk is to work through the AWS Elastic Beanstalk Getting Started Guide, part of our technical documentation. Within a few minutes, you will be able to deploy and use a sample application or upload your own application.
Is there a sample application that I can use to check out AWS Elastic Beanstalk?
Databases and Storage
AWS Elastic Beanstalk | Compute
Yes. AWS Elastic Beanstalk includes a sample application that you can use to test drive the offering and explore its functionality.