Need advice about which tool to choose?Ask the StackShare community!
Google Compute Engine vs Heroku: What are the differences?
Introduction
This document highlights the key differences between Google Compute Engine and Heroku.
Pricing model: Google Compute Engine offers a pay-as-you-go pricing model, where users are billed based on the resources they consume. On the other hand, Heroku follows a platform-as-a-service (PaaS) pricing model, where the cost is determined by the dyno hours used.
Scalability: Google Compute Engine allows users to scale resources vertically by increasing the size of a virtual machine, or horizontally by adding more virtual machines to a cluster. Heroku, however, supports horizontal scalability by allowing users to add dynos to their applications.
Customization: With Google Compute Engine, users have more control over customizing their virtual machines, as they can choose the operating system, install custom software, and modify network settings. Heroku, being a PaaS, provides limited customization options, as it abstracts away the infrastructure management to provide a simpler development experience.
Managed services: Google Compute Engine offers a wide range of managed services, such as Cloud SQL for managed MySQL and PostgreSQL databases, Cloud Pub/Sub for real-time messaging, and Cloud Storage for object storage. Heroku, on the other hand, provides an integrated platform that includes managed services like Heroku Postgres for databases and Heroku Redis for caching.
Deployment process: Google Compute Engine requires users to manually set up and configure their virtual machines, which involves a more involved deployment process. In contrast, Heroku simplifies the deployment process by providing a Git-based workflow, where users can push their code changes to Heroku and the platform handles the deployment and scaling automatically.
Community support: Google Compute Engine has a large community of users and developers, with extensive documentation, forums, and resources available. Heroku also has a vibrant developer community but is more tightly integrated with the broader Salesforce ecosystem, offering a different support experience.
In summary, Google Compute Engine offers a flexible pricing model, extensive customization options, and a wide range of managed services, making it a suitable choice for users who require greater control and scalability. On the other hand, Heroku provides a simpler deployment process, integrated managed services, and a community that is tightly linked to the Salesforce ecosystem, making it a good option for developers looking for a streamlined development experience.
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.
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.
Pros of Google Compute Engine
- Backed by google87
- Easy to scale79
- High-performance virtual machines75
- Performance57
- Fast and easy provisioning52
- Load balancing15
- Compliance and security12
- Kubernetes9
- GitHub Integration8
- Consistency7
- Free $300 credit (12 months)4
- One Click Setup Options3
- Good documentation3
- Great integration and product support2
- Escort2
- Ease of Use and GitHub support2
- Nice UI1
- Easy Snapshot and Backup feature1
- Integration with mobile notification services1
- Low cost1
- Support many OS1
- Very Reliable1
Pros of Heroku
- Easy deployment703
- Free for side projects459
- Huge time-saver374
- Simple scaling348
- Low devops skills required261
- Easy setup190
- Add-ons for almost everything174
- Beginner friendly153
- Better for startups150
- Low learning curve133
- Postgres hosting48
- Easy to add collaborators41
- Faster development30
- Awesome documentation24
- Simple rollback19
- Focus on product, not deployment19
- Natural companion for rails development15
- Easy integration15
- Great customer support12
- GitHub integration8
- Painless & well documented6
- No-ops6
- I love that they make it free to launch a side project4
- Free4
- Great UI3
- Just works3
- PostgreSQL forking and following2
- MySQL extension2
- Security1
- Able to host stuff good like Discord Bot1
- Sec0
Sign up to add or upvote prosMake informed product decisions
Cons of Google Compute Engine
Cons of Heroku
- Super expensive27
- Not a whole lot of flexibility9
- No usable MySQL option7
- Storage7
- Low performance on free tier5
- 24/7 support is $1,000 per month2