Need advice about which tool to choose?Ask the StackShare community!

Amazon EC2

39K
27.6K
+ 1
2.5K
Firebase

28.1K
23.8K
+ 1
1.9K
Heroku

20K
15.6K
+ 1
3.2K
Advice on Amazon EC2, Firebase, and Heroku
Needs advice
on
Socket.IOSocket.IOFirebaseFirebase
and
ApolloApollo

We are starting to work on a web-based platform aiming to connect artists (clients) and professional freelancers (service providers). In-app, timeline-based, real-time communication between users (& storing it), file transfers, and push notifications are essential core features. We are considering using Node.js, ExpressJS, React, MongoDB stack with Socket.IO & Apollo, or maybe using Real-Time Database and functionalities of Firebase.

See more
Replies (3)
Timothy Malstead
Junior Full Stack Developer at Freelance · | 7 upvotes · 254.7K views
Recommends
FirebaseFirebase

I would recommend looking hard into Firebase for this project, especially if you do not have dedicated full-stack or backend members on your team.

The real time database, as you mentioned, is a great option, but I would also look into Firestore. Similar to RTDB, it adds more functions and some cool methods as well. Also, another great thing about Firebase is you have easy access to storage and dead simple auth as well.

Node.js Express MongoDB Socket.IO and Apollo are great technologies as well, and may be the better option if you do not wish to cede as much control to third parties in your application.

Overall, I say if you wish to focus more time developing your React application instead of other parts of your stack, Firebase is a great way to do that.

See more
Recommends
AblyAbly

Hello Noam 👋,

I suggest taking a look at Ably, it has all the realtime features you need and the platform is designed to guarantee critical functionality at scale.

Here is an in depth comparison between Ably and Firebase

See more
Recommends
8base8base

Hey Noam,

I would recommend you to take a look into 8base. It has features you've requested, also relation database and GraphQL API which will help you to develop rapidly.

Thanks, Ilya

See more
Needs advice
on
FirebaseFirebase
and
Amazon EC2Amazon EC2

I'm looking for a storage service for a simple website (built with Vue) with browser games. The website will have a login system and will collect some basic information about users. It will also have a chat, so it needs to store messages. I would prefer a free solution for now, because the number of users and transferred data will be very small. I Was choosing between Amazon EC2 and Google Firebase even tho they aren't really in the same category. Any advice on that will be appreciated

See more
Replies (2)
Recommends
FirebaseFirebase

Hi Michal,

Correct, AWS EC2 is not at all the same thing as Firebase. AWS EC2 is a server instance where you can run server code. Firebase is a suite of pre-built cloud services that help developers offload maintenance, development and speed up development.

In your situation, if you are looking for a free or low cost option, where you can integrate many of the different types of services you have mentioned (authentication, storage, chatting, etc), Firebase is your best bet for the lowest effort.

If you go with AWS, you will end up needing much more than just EC2 to build and run your backend. More over, you will have to learn AWS's console which isn't the greatest user experience.

Beware that Firebase has a tendency not to be very reliable compared to AWS.

See more
Davi Koscianski Vidal
Recommends
Amazon S3Amazon S3

If you are using only Vue.js, you could consider Amazon S3 for the static portion of your site and Amazon Lambda for the bits you need to store data (also in S3).

https://aws.amazon.com/getting-started/projects/host-static-website/services-costs/ https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html

This setup would require more work on your side, but it can be WAY cheaper than EC2 instances: it can be from $0 to $3/month. If you use only AWS free tier, you can make a very nice app paying for nothing for the first year, at least.

See more
Decisions about Amazon EC2, Firebase, and Heroku

I'm transitioning to Render from heroku. The pricing scale matches my usage scale, yet it's just as easy to deploy. It's removed a lot of the devops that I don't like to deal with on setting up my own raw *nix box and makes deployment simple and easy!

Clustering I don't use clustering features at the moment but when i need to set up clustering of nodes and discoverability, render will enable that where Heroku would require that I use an external service like redis.

Restarts The restarts are annoying. I understand the reasoning, but I'd rather watch my service if its got a memory leak and work to fix it than to just assume that it has memory leaks and needs to restart.

See more
Daniel Quinn
Senior Developer at Workfinder · | 5 upvotes · 4.7K views

I host my stuff with Hetzner in large part because their tools are straighforward and easy to use and they're based in a country whose laws respect privacy.

If you're hosting with a company that's US-based, you have to worry about their laws affecting your site, which isn't an acceptable requirement in my opinion.

See more
Jerome/Zen Quah
Shared insights
on
DigitalOceanDigitalOceanAmazon EC2Amazon EC2

DigitalOcean was where I began; its USD5/month is extremely competitive and the overall experience as highly user-friendly.

However, their offerings were lacking and integrating with other resources I had on AWS was getting more costly (due to transfer costs on AWS). Eventually I moved the entire project off DO's Droplets and onto AWS's EC2.

One may initially find the cost (w/o free tier) and interface of AWS daunting however with good planning you can achieve highly cost-efficient systems with savings plans, spot instances, etcetera.

Do not dive into AWS head-first! Seriously, don't. Stand back and read pricing documentation thoroughly. You can, not to the fault of AWS, easily go way overbudget. Your first action upon getting your AWS account should be to set up billing alarms for estimated and current bill totals.

See more
Craig Finch
Principal Consultant at Rootwork InfoTech · | 6 upvotes · 96.2K views

We first selected Google Cloud Platform about five years ago, because HIPAA compliance was significantly cheaper and easier on Google compared to AWS. We have stayed with Google Cloud because it provides an excellent command line tool for managing resources, and every resource has a well-designed, well-documented API. SDKs for most of these APIs are available for many popular languages. I have never worked with a cloud platform that's so amenable to automation. Google is also ahead of its competitors in Kubernetes support.

See more
Sarthak Saxena
Technical Lead at DreamTune · | 2 upvotes · 12.3K views

(2/3) Numpy: This is a package for scientific computing in python. Vectorised code from this library also makes this very efficient. This is an absolutely essential library for machine learning and will help us develop our models efficiently. SciKit-Learn, our machine learning library of choice, uses Numpy extensively and therefore it has to be used by us.

SciKit-Learn: SciKit-Learn is a machine learning library in python. It includes models for regression, classification, clustering, SVM’s, forests, etc. We have chosen this because of all the types of models it offers and the ease with which they can be integrated with our software.

Stripe: POS system of choice with direct integration to all major forms of payment. By using stripe, we can worry less about payment security as they are innovators in the industry and are dedicated to making POS reliable, fast, and scalable.

Firebase: Direct integration into Python makes this NoSQL database a perfect choice. Search is fast and uses an indexing method similar to Google allowing for low latency. Also has the benefit of allowing context casting to remodel JSON data into workable python objects easily.

Heroku: Heroku integrates really well with GitHub and makes the process of deploying our web app extremely easy. After setting up Heroku on our GitHub project, a simple push to it’s master branch deploys the updates. It’s really simple to set up and uses and it is absolutely free. Furthermore, it makes the web app accessible to everyone instead of deploying it locally which is a huge plus.

See more
Stephen Fox
Artificial Intelligence Fellow · | 2 upvotes · 99.3K views

GCE is much more user friendly than EC2, though Amazon has come a very long way since the early days (pre-2010's). This can be seen in how easy it is to edit the storage attached to an instance in GCE: it's under the instance details and is edited inline. In AWS you have to click the instance > click the storage block device (new screen) > click the edit option (new modal) > resize the volume > confirm (new model) then wait a very long time. Google's is nearly instant.

  • In both cases, the instance much be shut down.

There also the preference between "user burden-of-security" and automatic security: AWS goes for the former, GCE the latter.

See more

React is used for its functional nature and simplification of ES6. The efficiency of how it re-renders based on components is an added bonus. styled-components is used to simplify CSS 3 styling, and to avoid having additional files.

The Node.js framework, ExpressJS, is used for the back-end to create a RESTful API for the NoSQL Firebase database.

Deployment is done through Heroku. ExpressJS, Firebase, and Heroku are used for their ease of use and simplicity, over its alternatives for this proof of concept application.

They would most likely be migrated into Laravel, aws, and MySQL, for production because of their scalability, and robustness if used with a larger dataset and userbase.

Finally, Visual Studio Code is used as a code editor, due to its combination of features and speed, while also having an integrated terminal.

See more

Most bioinformatics shops nowadays are hosting on AWS or Azure, since they have HIPAA tiers and offer enterprise SLA contracts. Meanwhile Heroku hasn't historically supported HIPAA. Rackspace and Google Cloud would be other hosting providers we would consider, but we just don't get requests for them. So, we mostly focus on AWS and Azure support.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Amazon EC2
Pros of Firebase
Pros of Heroku
  • 644
    Quick and reliable cloud servers
  • 515
    Scalability
  • 391
    Easy management
  • 276
    Low cost
  • 269
    Auto-scaling
  • 88
    Market leader
  • 80
    Backed by amazon
  • 78
    Reliable
  • 66
    Free tier
  • 57
    Easy management, scalability
  • 12
    Flexible
  • 10
    Easy to Start
  • 9
    Web-scale
  • 8
    Widely used
  • 8
    Elastic
  • 7
    Node.js API
  • 4
    Industry Standard
  • 3
    Lots of configuration options
  • 2
    GPU instances
  • 1
    Amazing for individuals
  • 1
    Extremely simple to use
  • 1
    All the Open Source CLI tools you could want.
  • 1
    Simpler to understand and learn
  • 361
    Realtime backend made easy
  • 264
    Fast and responsive
  • 234
    Easy setup
  • 207
    Real-time
  • 186
    JSON
  • 128
    Free
  • 121
    Backed by google
  • 81
    Angular adaptor
  • 63
    Reliable
  • 36
    Great customer support
  • 26
    Great documentation
  • 23
    Real-time synchronization
  • 20
    Mobile friendly
  • 17
    Rapid prototyping
  • 12
    Great security
  • 11
    Automatic scaling
  • 10
    Freakingly awesome
  • 8
    Chat
  • 8
    Angularfire is an amazing addition!
  • 8
    Super fast development
  • 6
    Awesome next-gen backend
  • 6
    Ios adaptor
  • 5
    Built in user auth/oauth
  • 5
    Firebase hosting
  • 4
    Speed of light
  • 4
    Very easy to use
  • 3
    It's made development super fast
  • 3
    Great
  • 3
    Brilliant for startups
  • 2
    Great all-round functionality
  • 2
    Low battery consumption
  • 2
    I can quickly create static web apps with no backend
  • 2
    The concurrent updates create a great experience
  • 2
    JS Offline and Sync suport
  • 1
    Faster workflow
  • 1
    Large
  • 1
    Serverless
  • 1
    .net
  • 1
    Free SSL
  • 1
    Good Free Limits
  • 1
    Push notification
  • 1
    Easy to use
  • 1
    Easy Reactjs integration
  • 704
    Easy deployment
  • 460
    Free for side projects
  • 374
    Huge time-saver
  • 348
    Simple scaling
  • 261
    Low devops skills required
  • 190
    Easy setup
  • 174
    Add-ons for almost everything
  • 154
    Beginner friendly
  • 150
    Better for startups
  • 133
    Low learning curve
  • 48
    Postgres hosting
  • 41
    Easy to add collaborators
  • 30
    Faster development
  • 24
    Awesome documentation
  • 19
    Focus on product, not deployment
  • 19
    Simple rollback
  • 15
    Natural companion for rails development
  • 15
    Easy integration
  • 12
    Great customer support
  • 8
    GitHub integration
  • 6
    No-ops
  • 6
    Painless & well documented
  • 4
    Free
  • 4
    I love that they make it free to launch a side project
  • 3
    Just works
  • 3
    Great UI
  • 2
    PostgreSQL forking and following
  • 2
    MySQL extension
  • 1
    Able to host stuff good like Discord Bot
  • 0
    Sec
  • 0
    Security

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon EC2
Cons of Firebase
Cons of Heroku
  • 13
    Ui could use a lot of work
  • 6
    High learning curve when compared to PaaS
  • 3
    Extremely poor CPU performance
  • 29
    Can become expensive
  • 15
    No open source, you depend on external company
  • 15
    Scalability is not infinite
  • 9
    Not Flexible Enough
  • 5
    Cant filter queries
  • 3
    Very unstable server
  • 2
    No Relational Data
  • 2
    Too many errors
  • 1
    No offline sync
  • 23
    Super expensive
  • 6
    Not a whole lot of flexibility
  • 5
    No usable MySQL option
  • 5
    Storage
  • 4
    Low performance on free tier
  • 1
    24/7 support is $1,000 per month

Sign up to add or upvote consMake informed product decisions

What is Amazon EC2?

It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

What is Firebase?

Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.

What is Heroku?

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Amazon EC2?
What companies use Firebase?
What companies use Heroku?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon EC2?
What tools integrate with Firebase?
What tools integrate with Heroku?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Dec 22 2020 at 9:26PM

Pinterest

Amazon EC2CMemcached+4
10
2366
Sep 29 2020 at 7:36PM

WorkOS

PythonSlackG Suite+17
6
2546
May 21 2020 at 12:02AM

Rancher Labs

KubernetesAmazon EC2Grafana+12
3
1229
Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
5
2143
What are some alternatives to Amazon EC2, Firebase, and Heroku?
Amazon LightSail
Everything you need to jumpstart your project on AWS—compute, storage, and networking—for a low, predictable price. Launch a virtual private server with just a few clicks.
Amazon S3
Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web
Amazon EC2 Container Service
Amazon EC2 Container Service lets you launch and stop container-enabled applications with simple API calls, allows you to query the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features like security groups, EBS volumes and IAM roles.
Beanstalk
A single process to commit code, review with the team, and deploy the final result to your customers.
Microsoft Azure
Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
See all alternatives