0

I would make a mobile applications that interact with a REST WebService and then with a remote database. I can't estimate how many users could I've after several time so I would to make a scalable solution. The app should provide some rest service to post and get data and a push notification service who run continuously. My initial idea is a Java App +MySQL db....but I don't know if there is abetter way to be scalable. Any suggestion?

danielemm
  • 1,636
  • 1
  • 14
  • 24
  • Have you looked at Parse.com? I've found it dead easy to get started with, and it can do db and push notifications. – Ben Clayton Mar 01 '13 at 12:32

2 Answers2

1

From what you said, I think that you need two services in AWS : EC2 and RDS.

In EC2, you will have all your servers where you can put your API. For scalability concern, I advise you to put your servers behind a LoadBalancer (ELB service), and to set-up the auto-scaling to add and remove instances when needed. You can also have an EC2 instance to handle your notifications sending (a daemon) and another instance (or the same one) for your backend work (downloading data from a source).

For the DB, of course, you should use RDS. You just have to create a database, and to configure security (who can access it), and you can go with it!

Talal MAZROUI
  • 645
  • 1
  • 6
  • 12
1

Just to add another option which scales pretty well: Amazon Elastic Beanstalk. In summary: you will have a full Java stack (Amazon Linux + Tomcat), elastic storage (on S3) and, optionally, a RDS instance (running MySQL, which would be perfect for your needs). Amazon takes care of the scaling (number of VMs, etc), of setting up a Load Balancer, and the RDS instance. You should only deploy your .war file, your DB schema and data and set up permissions.

From my point of view, it is the easiest to start with/maintain/scale/. It is a PaaS, unlike using EC2+RDS, which would be IaaS.

Viccari
  • 9,029
  • 4
  • 43
  • 77