Amazon Elastic Container Service (Amazon ECS) is a scalable, high performance container management service that supports Docker containers.
$0
per hour per GB
GitLab
ScoreĀ 9.0Ā outĀ ofĀ 10
N/A
GitLab DevSecOps platform enables software innovation by aiming to empower development, security, and operations teams to build better software, faster. With GitLab, teams can create, deliver, and manage code quickly and continuously instead of managing disparate tools and scripts. GitLab helps teams across the complete DevSecOps lifecycle, from developing, securing, and deploying software. Differentiators, as described by Gitlab:
Simplicity: With GitLab, DevSecOps canā¦
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.
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.
We started to use GitLab for hosting git source code repositories of our projects only but slowly we started to use it to store container images, packages, dependency proxy as well infrastucture registry and it is now well suited for Continuous Integration in our projects, It wasn't that good in Continuous Deployment before 12.0 version but after 12.0 it is amazingly good for Continuous Deployment as well since it keeps deployment information in a well organized manner which can be configure in ci yaml configuration.
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.
Gitlab is the best in its segment. They have a free version, they have open-source software, they provide a good service with their SaaS product, they are a fully-remote company since the beginning (which means they are fully distributed and have forward-thinking IMO). I would certainly recommend them to everyone.
I find it easy to use, I haven't had to do the integration work, so that's why it is a 9/10, cause I can't speak to how easy that part was or the initial set up, but day to day use is great!
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.
At this point, I do not have much experience with Gitlab support as I have never had to engage them. They have documentation that is helpful, not quite as extensive as other documentation, but helpful nonetheless. They also seem to be relatively responsive on social media platforms (twitter) and really thrived when GitHub was acquired by Microsoft
If you are using AWS, you will be using Amazon ECS. I have also used Azure Container Instances and it works just as well in Azure as ECS does in AWS. It's really all a matter of what cloud provider you are utilizing. Because of the "Cloud Wars," it's difficult to measure cross-cloud connectivity, but I have had better luck remaining cloud agnostic in other cloud providers than AWS (Azure, GCP). Because of the sheer volume of tooling in AWS and inter-connectivity between them, it's almost easier to be fully AWS if you are using it in any kind of capacity.
GitLab is easily the preferred tool when it comes to versioning and source control. With other tools the UI often feels outdated and clunky leading to inefficiency and confusion. With some of the sleeker tools such as GitKraken, while the aesthetic is pleasing, the experience is plagued by a lack of support, lack of optional plugins, and a plethora of bugs that cause unnecessary legwork to resolve. GitLab is the best of both aesthetic and functionality
The autoscaling kept the performance of the services great.
We saved money by running the workloads on AWS ECS in Fargate mode by having different settings for different services to save on the hardware configuration side as well as having scheduled tasks.