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.
I started using Firebase over 5 years ago because of the 'real-time' nature. I originally used to use Real Time Database, but now I use Cloud Firestore. I recommend using the Google Firebase PaaS to quickly develop or prototype small to enterprise level web/mobile applications. Since Google purchased Firebase, it has exploded and it growing rapidly. I also find some level of comfort that it is Backed by Google.
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.
It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
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.
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.
Elastic – Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You can commission one, hundreds or even thousands of server instances simultaneously.;Completely Controlled – You have complete control of your instances. You have root access to each one, and you can interact with them as you would any machine.;Flexible – You have the choice of multiple instance types, operating systems, and software packages. Amazon EC2 allows you to select a configuration of memory, CPU, instance storage, and the boot partition size that is optimal for your choice of operating system and application.;Designed for use with other Amazon Web Services – Amazon EC2 works in conjunction with Amazon Simple Storage Service (Amazon S3), Amazon Relational Database Service (Amazon RDS), Amazon SimpleDB and Amazon Simple Queue Service (Amazon SQS) to provide a complete solution for computing, query processing and storage across a wide range of applications.;Reliable – Amazon EC2 offers a highly reliable environment where replacement instances can be rapidly and predictably commissioned. The Amazon EC2 Service Level Agreement commitment is 99.95% availability for each Amazon EC2 Region.;Secure – Amazon EC2 works in conjunction with Amazon VPC to provide security and robust networking functionality for your compute resources.;Inexpensive – Amazon EC2 passes on to you the financial benefits of Amazon’s scale. You pay a very low rate for the compute capacity you actually consume.;Easy to Start – Quickly get started with Amazon EC2 by visiting AWS Marketplace to choose preconfigured software on Amazon Machine Images (AMIs). You can quickly deploy this software to EC2 via 1-Click launch or with the EC2 console.
Add the Firebase library to your app and get access to a shared data structure. Any changes made to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.;Firebase apps can be written entirely with client-side code, update in real-time out-of-the-box, interoperate well with existing services, scale automatically, and provide strong data security.;Data Accessibility- Data is stored as JSON in Firebase. Every piece of data has its own URL which can be used in Firebase's client libraries and as a REST endpoint. These URLs can also be entered into a browser to view the data and watch it update in real-time.;Real-time Synchronization- Firebase takes a new approach to the way data is moved around an app. Rather than using a traditional request & response model, it works by synchronizing data between devices. Whenever your data changes, all clients are immediately notified within milliseconds. The synchronized data is also persisted, allowing new clients to be immediately updated.;First-class Data Security- Traditional applications intermix security code with application code, whereas Firebase treats security as a first-class feature. You define your security policies in one place using a flexible rules language, and Firebase ensures that they are consistently enforced across all parts of your application. Having all your security logic in one place allows for easy auditing and helps you avoid security mistakes. The safety and security of your data is our top priority.;Automatic Scaling- The Firebase API is built from the ground up for performance and scale. Whenever your data changes, Firebase calculates the minimum set of updates required to keep all your clients in sync. In addition, all Firebase API functions are designed to scale linearly with the size of the data being synchronized. More importantly, Firebase handles all of the scaling and operations for you. Your app will scale from its first user to its first million without any code changes.;Servers are Optional- Firebase can provide all of the data storage, control, and transmission needs of most apps. In many cases, Firebase can completely replace your server and server-side code. This means you no longer need to build complicated backend software and can instead focus on your application logic and your customers.
Agile deployment for Ruby, Node.js, Clojure, Java, Python, Go and Scala.;Run and scale any type of app.;Total visibility across your entire app.;Erosion-resistant architecture. Rich control surfaces.