What is the difference between a plain Amazon ec2 instance and beanstalk?

6,004

You can think of AWS Elastic Beanstalk as being a sort of automated version of EC2--that is, it uses EC2 on the backend for the servers, but you don't have to worry about manually provisioning servers, expanding servers when you hit capacity, and so on. Basically, you give Beanstalk your application and it will "scale" it for you. In fact, you aren't charged for Beanstalk itself--you are charged for the AWS resources you're using, such as S3, SNS, and EC2.

So to answer your questions:

  1. If you want control over scaling and resource control, EC2 is what you want--but keep in mind, this leads to a lot of administrative work, and if you aren't familiar with the concepts at hand, you may get a little lost. Plus, it might not be worth the time and effort to do so. Beanstalk gives you scalability without micromanagement.
  2. MySQL Micro RDS instances start at $0.025 an hour, while Small EC2 instances start at $0.020 an hour. However, the RDS service provide several useful features, such as auto-scaling, automated backups, database optimization, and so on. It's really up to you if you want either or. You'll need to run the numbers yourself and decide how much time you want to spend dealing with the DB.
  3. You will almost certainly need to use a DNS provider to setup a CNAME on your domain. Coincidentally, there's an AWS service--Route 53--that does this. IIRC, there are also several third party services that can bridge this gap for you.

Hope this helps!

Share:
6,004

Related videos on Youtube

Chev
Author by

Chev

Updated on September 18, 2022

Comments

  • Chev
    Chev almost 2 years

    I am a solo developer and the sites I'm deploying are very small, usually hobby sites and I have a few questions about the Amazon services.

    1. Is there a reason for me to use beanstalk or should I just stick with a single ec2 instance?

    2. Should I use RDS for database? I heard someone say that I could just install a database on my ec2 instance, making it cheaper. I'm trying to keep everything as cheap as possible.

    3. I need to point custom domains to my sites. Pretty sure that means I have to deal with elastic IPs. Do those work with beanstalk or only with individual ec2 instances?

    Thanks in advance!

  • Chev
    Chev about 12 years
    Perfect. Exactly what I was looking for. Very good explanation. In fact, in the time since asking the question and seeing your answer I have discovered and setup route 53. Looks like that is the best option because it is able to dynamically return the proper IPs assigned to my sites and whatnot. Only thing I'm worried about is racking up charges with the database stuff. Does ".025/hr" mean per hour that the service is up there or per hour that it costs CPU time because of website activity?
  • Chev
    Chev about 12 years
    For database wouldn't it actually be $0.020 an hour for instances but $0.045 an hour for RDS because I would also have an instance running as well?
  • Chev
    Chev about 12 years
    I have done that, but I'm trying to keep my costs very low, like $15/mo or cheaper. Running a full VPS seems to run about $60 or more.
  • Andrew M.
    Andrew M. about 12 years
    How about shared hosting? For example, I and some of my friends use DreamHost (not advocating its use, just giving an example), which offers basic hosting for $9 a month, with VPS starting at $15. Since it doesn't sound like this is intensive, you may consider something like this.
  • Chev
    Chev about 12 years
    Actually that's what I'm migrating from :P because I'm planning to grow some of these apps so I wanted to hop on-board with one of the scalable providers. But starting out I just want to keep it small and cheap.
  • Andrew M.
    Andrew M. about 12 years
    Understood! In that case, you may be interested in the auto-scaling features that are provided by both Beanstalk and RDS separately--and if it's going to be high traffic, you'll definitely want the dedicated database server. But for the time being, it may be more cost efficient to just double up on the EC2 server.