To understand Elastic Beanstalk, you need to know how it works. It uses a number of Amazon AWS services, and it adds application deployment on top of that. Because of the nature of Elastic Beanstalk, you can’t treat it as a black box. You need to have a basic understanding of the underlying AWS services, and how Elastic Beanstalk makes them work in concert. In this chapter, we’ll present an overview of the services that power Elastic Beanstalk, and illustrate how to use them independently. At the end of this chapter you’ll know the components that interacted to make Hystqio (the example of the previous chapter) work.
This is a lot of information at once, so don’t worry if it doesn’t look as simple as you thought. Later on, you can come back to this chapter as a reference for all the AWS services.
Elastic Beanstalk is not a Google App Engine. And, even though it resembles Heroku a bit, it is quite different from that as well. The purpose of Beanstalk is not to be a simple solution that will scale infinitely. But, to borrow Amazon’s marketing, it is something that is “impossible to outgrow.”
Google App Engine (GAE) is a Platform as a Service, or PaaS. It is designed to manage everything for your application; it promises you won’t have to worry about anything anymore. GAE completely hides anything resembling servers, IP addresses, load balancers, backups, etc. Heroku is similar, except that it is built on top of Amazon AWS. ...