Amazon Web Hosting – Free Tier Basics

On November 21, 2010, in Technical, by Sanchit Garg

Amazon Web Services recently broadcast a free tier for 1 year, where one will not be charged for a year and will get some basic functionalities free of cost. This tutorial describes the basics, what is free and how to start on hosting your web application over amazon cloud.
To begin with, what is available under the ‘free tier’ tag:
As part of AWS’s Free Usage Tier, new AWS customers can get started with Amazon EC2 for free. Upon sign-up, newAWS customers receive the following EC2 services each month for one year:

Free Tier
Source: http://aws.amazon.com/free/
  • 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month
  • 750 hours of an Elastic Load Balancer plus 15 GB data processing
  • 10 GB of Amazon Elastic Block Storage, plus 1 million I/Os, 1 GB of snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests
  • 5 GB of Amazon S3 storage, 20,000 Get Requests, and 2,000 Put Requests
  • 30 GB per of internet data transfer (15 GB of data transfer “in” and 15 GB of data transfer “out” across all services except Amazon CloudFront)
  • 25 Amazon SimpleDB Machine Hours and 1 GB of Storage
  • 100,000 Requests of Amazon Simple Queue Service
  • 100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for Amazon Simple Notification Service

Few Deductions

  • Max hours in one month: 31 * 24 = 744 hours
  • The free package would normally cost around 700 Rs (15$) per month for instance alone and few bucks for other services such as Block storage (approx 0.4$ per month) or Amazon Simple Storage Service (approx 1$ per month, used for storing pictures, videos, etc.)
  • This cost gets minimized to 450 Rs (10$) per month if you reserve your instance for an year

Terminology

Micro Instance – Hardware configuration that you get from amazon to run your VM.

  1. Small amount of consistent CPU resources and allow you to burst CPU capacity when additional cycles are available. They are well suited for lower throughput applications and web sites that consume significant compute cycles periodically.
  2. Micro Instance 613 MB of memory, up to 2 ECUs (for short periodic bursts), EBS storage only, 32-bit or 64-bit platform.
  3. EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
EBS (Amazon Elastic Block Store) – offers persistent storage for Amazon EC2 instances. Amazon EBS volumes provide off-instance storage that persists independently from the life of an instance. Amazon EBS volumes are highly available, highly reliable volumes that can be leveraged as an Amazon EC2 instance’s boot partition or attached to a running Amazon EC2 instance as a standard block device. When used as a boot partition, Amazon EC2 instances can be stopped and subsequently restarted, enabling you to only pay for the storage resources used while maintaining your instance’s state.

Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic.

What’s not free?

Amazon EC2 Monitoring: Amazon CloudWatch enables you to monitor your Amazon EC2 instances, Amazon EBS VolumesElastic Load Balancers, and RDS database instances in real-time.
  • $0.015 per instance-hour (or partial hour)
As an example, a developer may want to monitor 10 Amazon EC2 instances 24×7 for a 30-day period. The Amazon CloudWatch cost would be $108 (or $0.015 per Amazon EC2 instance hour x 10 Amazon EC2 instances x 24 hours per day x 30 days).

Tutorials

Tagged with:  

Web Hosting

On September 5, 2010, in Technical, by Sanchit Garg

So I wanted to create a webapp for your product. After starting developing the product soon I was in a launch state and I wanted to go public on internet. I had two questions:
1. Where do i host?
2. Which domain name do I want?

I want to purchase a web hosting where I can host webapps written in Ruby on Rails, Joomla, etc. They are just small webapps and neither require much computation nor attract a large user base.I have couple of options on web hosting plans:

1. Traditional web hosting like http://www.bluehost.com, etc.
2. http://www.heroku.com, which is IMO is highly optimized (and specific?) to Ruby on Rails
3. http://aws.amazon.com/ec2/, which is cloud computing based. It may also provide me Java based webapps (for e.g. if I intend to run lucene, solr for enabling search).

Regarding Amazon cloud based web hosting I reached on conclusion that it is probably not the best thing to start of. Setting it up and maintaining it require some real work. May not be best suited for a budding startup. Here are some excerpts [Source]

  • There are three different sizes of EC2 instances you can summon and they’re all probably more powerful than the server currently running your blog. Unless you’re offloading video processing or something intense to EC2, the default small instance with its 1.7GB of RAM and 160GB disk should be more than fine. It’s just nice to know that if for any reason I need a farm of machines each with 15GB of RAM, I can get that easily.
  • There are many limitations with EC2 that make it difficult to use unless you carefully build around the EC2 architecture and don’t just assume that you can move your app to EC2 flawlessly. If an instance crashes and you run it again, you’ll loose data and when the instance comes back up it will have a new IP, adding another hurdle with DNS issues. Fortunately, the elastic IP feature lets you assign a static IP address to your instances.
  • If your startup is looking to use EC2 as a scalable platform, fortunately there are many services that have already built stable systems on top of EC2, ready for your consumption: WeoCeo, Scalr and RightScale. (Not really useful for ruby on rails – Windows)
  • If you terminate an instance and bring it up again, your machine will only have the data initially included in the image. That’s why lots of work goes into making (“bundling”) a good image you will always use that has the configurations and software you need so you don’t have to do much whenever you load the image.
  • EC2 really isn’t something to mess with unless you have quite a bit of sysadmin and development experience. Actually using EC2 as an elastic compute cloud usually involves setting up an instance as a load balancer and giving that instance access to an array of active EC2 instances which it can hand work to. Other hurdles include providing multiple instances access to the same database, using Amazon S3 as a persistent filesystem and employing highly redundant backup systems given the relatively volatile nature of instances.
  • A small instance would cost 0.10*24*31 = ~$75 just for running (backups, traffic, etc. not included). http://calculator.s3.amazonaws.com/calc5.html
  • Google app engine vs Amazon
    * http://www.thetechtrendz.com/2010/07/comparing-google-app-engine-with-amazon.html

Heroku is a Rails application deployment platform that’s unique for its laser focus on scalability and ease of use. Heroku provides a well-crafted abstraction layer on top of Amazon’s Elastic Compute Cloud (EC2) that offers a much better mental map for how an application should interact with its deployment environment. Heroku is an App Engine – like service for Ruby applications. But it works differently from App Engine, and has some novel ideas.

  • Heroku runs on Amazon EC2, It is basically a wrapper for ruby apps over cloud computing architecture of Amazon.
  • There’s a bunch of nice add-ons for Heroku. Enabling Solr will be a matter of writing service.solr = in your app.ini.
  • Heroku uses git to deploy.
  • With Heroku your app will be live instantaneously (exactly 2 min). You can edit all your code and data from the comfort of your browser—there’s no need to install anything.
  • Some good points and limitations of Heroku: http://depth-first.com/articles/2009/10/20/building-chempedia-heroku-deployment-first-impressions
  • Video on how to set up your ruby web app on Heroku
  • It is pretty much free for small webapps, but costly if you start using its extra features.
  • Application that I installed: http://blazing-sky-53.heroku.com/

Traditional web hosting
Critiques:

https://www.bluehost.com/ => has gemstone, shell access, unlimited domain names, etc etc. 4$ / month
Tagged with: