Amazon Elastic Container Service (Amazon ECS) is a scalable, high performance container management service that supports Docker containers.
N/A
Google Cloud Run
Score 9.2 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
Anonymous
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 Elastic Container Service (Amazon ECS) is well suited where you need the ease of managing the clusters by letting AWS do the stuff for you. Obviously, whenever you want to run the docker based workloads, it is always better to go for either AWS ECS or AWS EKS. If you are interested in staying at AWS only and don't want to be cloud-agnostic, then go for AWS ECS instead of AWS EKS. AWS ECS is cheaper than AWS EKS and also more managed by AWS and better integrated with other AWS services. If you want to run those workloads as serverless, then AWS ECS Fargate is the best option to go with. If you already have a Kubernetes based setup that you want to migrate to AWS, then go for AWS EKS instead of AWS ECS.
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.
Well Integrated - As with the majority of AWS services, ECS works will with any other AWS product (Route 53, CloudWatch, IAM, etc).
Easy to get started with - It is easy to get started building just about anything in AWS and using ECS is no exception to this rule. Be careful though -- AWS lets you do/build anything in any way you could think of and allowing yourself to shoot yourself in the foot is no exception.
The user interface sometimes seem to be confusing and cumbersome. It can be improved so that people can understand clearly which section to go for which functionality.
When a container fails, the error logs are not readily available on the ECS console. If it can be provided it would be easier to debug from there itself instead of going to our log manager.
Sometimes the old EC2 containers become stale and need to be restarted manually. There should be a notification for such scenarios. We have mostly been finding it out on our own and then fixing it by manually restarting EC2 instances.
If this could be proactively monitored and notified, it would be great.
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.
AWS Elastic Beanstalk is a good beginner level orchestration service but lacks container management and scaling capabilities. EC2 is again not a Managed cloud service. It is like just renting a computer on cloud and then managing it on our own. Compared to these ECS is a comprehensive solution that provides management, scaling, containerization and other service connectivity out of the box.
We run 8 web applications (demo instances) on a single machine. At a particular time, no more than 3 applications run simultaneously. So, we keep only required containers up. This helps us to provision small EC2 machines without compromising performance.
Overall Amazon ECS helps to have less number of dedicated machines as more than one solution can be deployed on a single instance. This reduces costs a lot.