Google Cloud Run vs. Heroku
Choosing the right serverless platform for containerised applications can be tough. We’ve picked two of the most popular: Heroku, one of the first Platform as a Service (PaaS) for developers, and the relatively new Google Cloud Run, to see how each performs for Docker container deployment.
Table of Contents
1. Heroku: Platform as a Service App Engine
2. Google Cloud Run: Scalable Serverless Deployment Platform
– Is Cloud Run the Same as Google App Engine?
3. Google Cloud Platform and Heroku vs. AWS
4. Google Cloud Run vs. Heroku: Pricing
Heroku: Platform as a Service App Engine
To quickly sum up Heroku, is a container-based PaaS used to deploy and manage web applications. As a fully managed service, developers don’t need to worry about maintaining servers or an on-premises infrastructure for their web app.
Heroku was one of the first cloud services focused on providing app developers with this kind of platform. Today, there are various options for app deployment, including Google Cloud Run.
Google Cloud Run: Scalable Serverless Deployment Platform
Another serverless fully managed platform, Google Cloud Run is part of the Google Cloud Platform, or GCP, and uses the open-source Knative. Knative uses Kubernetes but simplified so that developers don’t have to manage Kubernetes nodes directly. Google also provide GKE, the Google Kubernetes Engine, a managed ecosystem for app deployment.
Is Cloud Run the Same as Google App Engine?
App Engine is a slightly different way to deploy an app. You give the App Engine some general instructions, such as what runtime you wish to use, and the App Engine will create a Docker image based on this.
Google Cloud Run provides more control, allowing custom-building of Docker images to your exact specification including using a stateless API when necessary.
Google Cloud Platform and Heroku vs. AWS
As well as Google and Heroku, AWS also offers options for deploying container-based apps. AWS Fargate is a container-based compute solution, and AWS Lambdaworks with various coding options including node.js, Java, and Python, but also Docker images.
Amazon also provides the elastic Kubernetes service (EKS). The AWS services tend to be classed as Infrastructure as a Service (IaaS). Other options include ACI from Microsoft Azure. Browse the Iron.io blog for more information on container-based app deployment options.
Iron.io Serverless Tools
Need a fully scalable solution for your background task processing? IronWorker could be the answer. Get in touch to find out more.
Google vs. Heroku: Pricing
Heroku is highly scalable, but as your resource requirements increase, so does the price. Heroku’s pricing is per dyno, the containers which Heroku uses to run and scale its own resources. The more you scale your project up, the more expensive it becomes.
Google Cloud begins on a free tier ideal for a startup, but again, costs can add up once scalability becomes involved and the number of cloud functions increases. Its pay per use, so higher traffic means a higher bill.
Google vs. Heroku: Ease of Use
There’s plenty of support for Heroku including numerous tutorials and forums. Most DevOps teams find Heroku easy to learn, and it’s designed to make app deployment intuitive. The CLI is simple to use, and there are plenty of troubleshooting documents on the Heroku DevCenter.
Google Cloud Run is also intuitive and easy to use. Being able to custom build Docker images helps developers stay in control, and deployment takes just seconds. GCP also boasts simple workflow orchestration.
Google vs. Heroku: Performance
Heroku has dedicated servers, which prevents out of memory issues for app dependencies. Heroku also manages load balancing well. Debugging is simple as error logs are easily parsed, and there’s a vast array of plugins and add-ons to increase functionality. Downtime is minimal.
Google uses vCPUS, a kind of virtual machine or virtual CPU. Developers can easily deploy stateless microservices. Response times vary, and latency does sometimes occur. Autoscaling helps deal with spikes in traffic and there are various forms of automation to make tasks simpler for developers.
Both platforms support developers in deploying containerized apps, making the process simpler than managing on-premises servers. It’s also easy to configure additional security like two-factor authentication. Heroku is, by now, kind of a legacy PaaS with a wealth of support and functionality. GCR is definitely the “new kid,” but certainly a contender for developers who want simple deployment without having to worry too much about the backend of the service.
Unlock the Cloud with Iron.io
Talk to Iron.io today about IronWorker, and go beyond SaaS with a Worker as a Service ideal for managing all sorts of asynchronous tasks with full elasticity and scalability.