1

Please advice me, what products(amazon aws) should I use for my application (quite simple).

  • Its a mobile application
  • user takes picture and upload to server
  • Others users will be able to load pictures from images

Q1. I am thinking of using EC2. (I am not sure if S3 can be elastic, easily extend the storage or not). Thus please, advice which products I needed for my apps? (EC2, RDS, S3, SImpleDB etc)

Q2. If I were using EC2, should I install httpd, mysql, php on 1 instance? Or should I separate it?

heathub
  • 113
  • 1
  • 2
  • 6

1 Answers1

0

Q1. EC2 + EBS.

Q2. It is up to you, but I would put everything on a single instance (it will cost you less and you can always reconfigure later). When necessary, you can separate mysql to a separate instance (or rather create new instance with httpd/php and continue to use mysql from your old one). Bear in mind, that data on Amazon instances is not persisted if instance is terminated, i.e. it will not survive relaunch (it will survive reboot though). So, you will need to keep your data either on a separate EBS volume or use EBS instance. Do some reading - Amazon has pretty decent docs on these topics.

Hope this helps.

dtoubelis
  • 4,579
  • 1
  • 28
  • 31
  • Thank, it helps. From your answer, I need 1 instance for httpd+php, 1 instance for mysql. I just setup an EC2, installed(before checking your answer) httpd,php and mysql, however, I didnt mount it, but it still works. Could you please, explain a little bit on the "mount"-ing? Is it necessary? I am reading the articles, but not very understand. – heathub Mar 21 '11 at 04:35
  • The thing with Amazon is, that if you terminate your instance and launch it again it will come up prictine, i.e. it does not persist any changes. There are several ways to deal with it but I use two approaches. The simplest one is to create EBS based instance and disable terminate option on it, so you will be able to stop it, but it will not loose any data. The other approach is to create EBS volume, mount it on boot and keep all data on it. The second one is relatively easy with Rightscale (this is what we use), but it may require some scripting if you use only Amazon tools. – dtoubelis Mar 21 '11 at 04:52
  • The second approach that you mention sounds really good and reliable, but I dont know the scripting, thus, I might go the easier and straight-forward method like you mentioned, i.e: "create EBS based instance and disable terminate option on it". Do you by any chance know about load-balancing? If I were use your first approach, is it very hard to do load-balancing? – heathub Mar 21 '11 at 04:59
  • I'm not that familiar with load balancing in Amazon environment, but both these approaches would work identically in respect to load balancing. – dtoubelis Mar 21 '11 at 05:27