Amazon Elastic Container Service (Amazon ECS) is a scalable, high performance container management service that supports Docker containers.
$0
per hour per GB
Google Cloud Run
Score 8.9 out of 10
N/A
Google Cloud Run enables users to build and deploy scalable containerized apps written in any language (including Go, Python, Java, Node.js, .NET, and Ruby) on a fully managed platform. Cloud Run can be paired with other container ecosystem tools, including Google's Cloud Build, Cloud Code, Artifact Registry, and Docker. And it features out-of-the-box integration with Cloud Monitoring, Cloud Logging, Cloud Trace, and Error Reporting to ensure the health of an application.
There is no additional charge for Amazon ECS. You pay for AWS resources (e.g., Amazon EC2 instances or Amazon EBS volumes) you create to store and run your application. You only pay for what you use, as you use it; there are no minimum fees and no upfront commitments.
—
More Pricing Information
Community Pulse
Amazon Elastic Container Service (Amazon ECS)
Google Cloud Run
Considered Both Products
Amazon Elastic Container Service (Amazon ECS)
No answer on this topic
Google Cloud Run
Verified User
Engineer
Chose Google Cloud Run
Most of our existing serverless services are deployed on Google to it was a natural choice. With the new artifact registry, its very easy to deploy. With git flows, its now even easier to update the deployment just with a commit to the main branch. The initial trial period is …
Amazon ECS is well suited for the scenarios where you want to deploy a microservice to a cloud and instead of manually specifying instance size, number of instances and then specifying the configurations and connecting it with other cloud services like database service, secret manager service etc., you just want to specify these configurations as a file and using that file, the ECS would deploy the service and keep it healthy. It might be less suited for a scenario when you don't want to stick to AWS specific solution for your microservice deployment. The ECS configuration file is specific to AWS ECS and may not be useful for other cloud providers like Azure etc.
Microservices and RestFul API application as it is fast and reliant. Seamless integration with event triggers such as pubsub or event arc, so you can easily integrate that with usecases with file uploads, database changes, etc. Basically great with short-lived tasks, if however, you have long-running processses, Cloud Run might not be idle for this. For example if you have a long running data processing task, other solutions such as kubeflow pipelines or dataflow are more suited for this kind of tasks. Cloud Run is also stateless, so if you need memory, you will have to connect an external database.
One of the biggest advantages is the flexibility to change underlying EC2 instances. As the traffic or demand increases, we can easily change EC2 instances without any issues.
Amazon ECS APIs are extremely robust and one can start and stop containers by firing one post request only. So, it is not mandatory to keep the demo solutions up for every time. Just at the time of demo fire the command - make the container up and running - do the demo - down the container with API. A simple portal can control every container which helps non-technical (sales, marketing) to do the demo without keeping the solutions up for the entire time frame.
Another AWS Service - While AWS has a service for just about everything, that is also a negative point. There is no service that does 4 out of 4 things you need. This service does 3 out of 4, another service does the fourth thing you need and another two things that the other service does.
With AWS things in general, it's really hard to remain cloud agnostic. Keep that in mind.
The UI can be made simpler. Currently the UI is bloated and it takes time to find out what you want
More integrations with container registry providers (ECR, dockerhub)
Better permissions UX. Currently GCP requires service accounts to be used with cloud products, the experience adding/removing permissions is difficult to navigate
Aside from some ECS-specific terms to learn at first, learning & starting to use ECS is relatively straightforward. AWS docs on the topic are also of high quality, with sound & relevant examples to follow. Troubleshooting container issues is also a breeze thanks to CloudWatch integration & helpful error messages on the AWS console.
The UI/console is great... the documentation is top-notch for developers, but the CLI itself when you have to script around it is very complex and easy to forget some options... the downside of a generic command line client.
Support is relatively good, although the documentation sometimes is lacking, as well as outdated in our experience, especially when we initiated the process of using this service. But once we found how to assemble things, we haven't really required support from anyone at AWS, the service works without problems so we haven't had the need to contact support, which speaks well of how ECS is built.
I chose Amazon ECS over Amazon EKS and other products because the whole infrastructure was decided to be designed on AWS cloud and Amazon ECS made it easier to make the clusters live in just a few minutes. Amazon ECS has better integration with other AWS services and we don't have to look for plugins to do the things, everything is available and can be configured from the AWS console.