Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

ArtOfWarfare

macrumors G3
Original poster
Nov 26, 2007
9,671
6,211
Am I crazy (or perhaps missing something), or is AWS a waste of time and money?

Parse has a free tier that maxes out at 1 CPU, 30 reqs/second (79 M requests each month if 100% utilization), 20 GB of database, and 20 GB of file storage.

Amazon's free tier gives you 1 CPU, no requests, and no data (so basically, it's completely useless from what I can tell).

Parse's standard pricing scales all the way up to 10 CPUs, 200 reqs/second (526 M requests each month if 100% utilization), and 24 TB of file storage for $2420 each month.

Doing the same thing with Amazon costs $4205 each month.

What's more, you need to go through a crap ton of effort to make Amazon's web services work. It seems to me that someone who knew exactly what they were doing already would take a few days to set it up. Someone who didn't know quite what they were doing would take a few weeks to set it up.

Parse on the other hand looks quite straight forward.

I had assumed that AWS was the best option just because I've heard a lot of positive things about it over the years and I was actually planning on using it for my backend of an app I've been working on for 6 months. But I looked at Parse, crunched those numbers, looked at how easy it seemed to be, and I feel like I can spend a week or two to replicate what took months with AWS (I had planned moving to in house servers eventually, so I wrote my code pretty well separated so that all the front end code can stay exactly the same) and save thousands of dollars each month.

For what it's worth, I'm planning on having hundreds of thousands of users using my app initially. The back end needs to hold files they upload, and databases.
 
It really depends on your specific needs since AWS is a huge platform with dozens of different services. You might need to get closer to the OS (via EC2), or just need simple file storage like S3 (that’s easily migrated to a CDN).

Implementations will of course vary quite a bit, but secure S3 access in one of our apps is one library inclusion and literally 3 lines of code.

I wasn’t surprised that Parse - like so many other cloud/storage/PaaS type solutions - actually runs on top of AWS:

http://aws.amazon.com/solutions/case-studies/parse/

I definitely will take some time and look into Parse, we’ve generally been using Heroku or another competitive PaaS combined with S3+CF when we roll-our-own, but I’m always up for simpler management, more cost effective scaling. :cool:
 
Am I crazy (or perhaps missing something), or is AWS a waste of time and money?

Nope. Some of the services that Amazon offers are incredibly difficult (and expensive) to run yourself. Take Amazon S3. In order to do something like that you'd need multiple servers running a distributed file system like Ceph and then you'd have to mirror the content to multiple destinations. The cost of that would be astronomical compared to what Amazon charge for S3.

Then you have Amazon RDS which would also be expensive and time consuming to implement yourself. Normally you'd rely on a DBA to do it for you which would cost thousands of pounds.

Parse has a free tier that maxes out at 1 CPU, 30 reqs/second (79 M requests each month if 100% utilization), 20 GB of database, and 20 GB of file storage.

Amazon's free tier gives you 1 CPU, no requests, and no data (so basically, it's completely useless from what I can tell).

You pay for transfer which is to be expected. But you get a small amount for free as well.

Parse's standard pricing scales all the way up to 10 CPUs, 200 reqs/second (526 M requests each month if 100% utilization), and 24 TB of file storage for $2420 each month.

Doing the same thing with Amazon costs $4205 each month.

I wouldn't recommend using Amazon EC2 since it is significantly more expensive than other VPS providers. If you used someone like Linode you'd save quite a bit of cash on VPS instances and probably get better performance as well.

Handling 200/requests a second on Linode is certainly doable but it depends on how you configure your servers. I'd guess it would cost significantly less than $2420. You most likely won't need that much file storage and if you do you can just store your files to Amazon S3 for reasonably cheap storage costs.

What's more, you need to go through a crap ton of effort to make Amazon's web services work. It seems to me that someone who knew exactly what they were doing already would take a few days to set it up. Someone who didn't know quite what they were doing would take a few weeks to set it up.

Parse on the other hand looks quite straight forward.

You mention that you have planned to move the services in-house. Well I can guarantee that using Amazon Web Services is significantly easier than coming up with a comparable system on your own.

Parse does some of the hard work for you with Amazon Web Services but you lose some of the flexibility that Amazon Web Services offers you.

I had assumed that AWS was the best option just because I've heard a lot of positive things about it over the years and I was actually planning on using it for my backend of an app I've been working on for 6 months. But I looked at Parse, crunched those numbers, looked at how easy it seemed to be, and I feel like I can spend a week or two to replicate what took months with AWS (I had planned moving to in house servers eventually, so I wrote my code pretty well separated so that all the front end code can stay exactly the same) and save thousands of dollars each month.

It would cost you more to run servers in-house. Not less. Since you'd need to take care of geographic redundancy on your own. Plus don't forget the cost of your own time when taking into account the amount of system administration work it would require. You sound slightly inexperienced when it comes to running your own services otherwise you wouldn't be some easy going with the idea of moving services as complicated and redundant as Amazon Web Servers in-house.

For what it's worth, I'm planning on having hundreds of thousands of users using my app initially. The back end needs to hold files they upload, and databases.

Amazon S3 and Amazon RDS (with a recommendation to use the PostgreSQL option for the database server) are likely to be the best choices here in terms of both price and ease of management.

You talk about bringing all the servers in-house but it sounds like you don't know much about server management. Keeping a fleet of servers running such that you have a reliable master-slave database system up and running is non-trivial. I think you'd be much better off outsourcing some of these things. Unless you can provide a good reason as to having the servers in-house (price probably isn't going to be an issue as the time it takes you to administer them is also a cost).

If you want some specific advice I've used AWS quite a bit and run my own servers for various web related tasks and have experience in managing the two in parallel. So feel free to ask specific questions.
 
Has anyone used Firebase? How does that compare to Parse? Parse in my limited experience, has been a joy to work with.
 
Has anyone used Firebase? How does that compare to Parse? Parse in my limited experience, has been a joy to work with.

Different pricing model from Parse. Doesn't seem to offer much in the way of data storage though, at least not from what I could tell from my quick glance.

Very similarly attractive looking docs, but I think I preferred Parse's if only slightly.

Why don't docs for other frameworks/libraries look anywhere near as nice as the ones for Parse and Firebase? SoftLayer and AWS are each a nightmare to navigate, as are most other docs that I've tried reading that aren't Apple or Microsoft's (Microsoft, interestingly, actually has some nice web programming docs. I particularly like what they have on Canvas and SVG. It's really weird given how IE tends to be the biggest PITA to support in web development.)
 
Last edited:
Different pricing model from Parse. Doesn't seem to offer much in the way of data storage though, at least not from what I could tell from my quick glance.

Very similarly attractive looking docs, but I think I preferred Parse's if only slightly.

Why don't docs for other frameworks/libraries look anywhere near as nice as the ones for Parse and Firebase? SoftLayer and AWS are each a nightmare to navigate, as are most other docs that I've tried reading that aren't Apple or Microsoft's (Microsoft, interestingly, actually has some nice web programming docs. I particularly like what they have on Canvas and SVG. It's really weird given how IE tends to be the biggest PITA to support in web development.)

Any idea which supports storing information offline then uploading once an internet connection is established? I know Parse does some that is very bare bones and from what I've read, they are working on a solution.

Currently I just save everything to a plist then upload the plist when the user is ready. Wondering if there are any better solutions. In my app I'm saving Lat/Long of the user and general notes of the location.

The problem with the plist approach is that it saves the entire plist as a file, not nicely split up in rows and columns that Parse provides.
 
Any idea which supports storing information offline then uploading once an internet connection is established? I know Parse does some that is very bare bones and from what I've read, they are working on a solution.

Currently I just save everything to a plist then upload the plist when the user is ready. Wondering if there are any better solutions. In my app I'm saving Lat/Long of the user and general notes of the location.

The problem with the plist approach is that it saves the entire plist as a file, not nicely split up in rows and columns that Parse provides.

I think Parse will handle that for you. I haven't actually tried testing without a connection, but the Parse documentation says it'll handle that.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.