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 8.7 out of 10
N/A
GitLab is an intelligent orchestration platform for DevSecOps, where software teams enable AI at every stage of the software lifecycle to ship faster. The platform enables teams to automate repetitive tasks across planning, building, securing, testing, deploying, and maintaining software.
$0
per month per user
SonarQube
Score 8.0 out of 10
N/A
SonarQube is an automated code review solution, serving as the verification layer for code quality and SDLC security. SonarQube is used to ensure that code is secure, reliable, and maintainable. It is available through SaaS or self-managed deployment.
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.
GitLab Credits enable flexible, consumption-based access to agentic AI capabilities in the GitLab platform, allowing you to scale AI adoption at your own pace while maintaining cost predictability. Powered by Duo Agent Platform, GitLab’s agentic AI capabilities help software teams to collaborate at AI speed, without compromising quality and enterprise security.
If usage exceeds monthly allocations and overage terms are accepted, automated on-demand billing activates without service interruption, so your developers never lose access to AI capabilities they need.
Real-time dashboards provide transparency into AI consumption patterns. Software teams can see usage across users, projects, and groups with granular attribution for cost allocation. Automated threshold alerts facilitate proactive planning. Advanced analytics deliver trending, forecasting, and FinOps integration.
Chose Amazon Elastic Container Service (Amazon ECS)
EKS is a Kubernetes technology and you need to learn Kubernetes and build a cluster before using it. So there's a learning curve here. ECS was easier to implement and simpler to have in our use case. It takes less time to run a workload and make it available.
GitLab
Verified User
Consultant
Chose GitLab
Other solutions were studied, however GitHub being a SaaS solution causes security issues whithin many organizations. Bitbucket on the other hand can be installed and maintained however it must require licensing purchases. Although GitLab free version doesn't provide a lot of …
We migrated from Gerrit to GitLab, and minus a few minor bumps during migration, GitLab has been hands down better. Our devs have faster time to code review with notifications, the UI is easy to navigate and, and our pipeline is integrated and automated, so once everything is …
We are coming from Bitbucket, and we switch to Gitlab to improve the source code management and the reading, which is better on Gitlab. The Merge request flow is also better than Bitbucket. This allows us to use Gitlab CI, which is well-integrated. Compared to GitHub, it is …
GitLab offers us the CE as an on-premise option without additional cost. We can deploy easily GitLab CE using docker official images. The GitLab CI option is more mature and simple than GitHub Actions.
Cost aside, the current field of source code management systems is exceptional. GitLab, however, rises above them all. The community version has all of the basic features needed by virtually any company and the pricing for additional features is in line with the value obtained.
Gitlab, if you have the right license, ships with a static analysis tool. It integrates better with Gitlab, but didn't seem to have the same quality output that Sonarqube did. Sonarqube's community version is plenty suitable for day to day analysis operations.
SonarQube deployment worked well with our pipeline and had the right integrations with our IDE as well as it worked well with analyzing .NET frameworks when compared to GitHub and GitLab which has some of the functionality and can do some checks, but SonarQube made more sense …
Verified User
Engineer
Chose SonarQube
Jenkins and GitLab are not exact alternatives for SonarQube, however, they do provide functionality for running and executing build pipelines for various languages and generating reports. However, they are not extensible, have no integration with IDEs and not suitable for …
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.
GitLab is good if you work a lot with code and do complex repository actions. It gives you a very good overview of what were the states of your branches and the files in them at different stages in time. It's also way easier and more efficient to write pipelines for CI\CD. It's easier to read and it's easier to write them. It takes fewer clicks to achieve the same things with GitLab than it does for competitor products.
SonarQube is excellent if you start using it at the beginning when developing a new system, in this situation you will be able to fix things before they become spread and expensive to correct. It’s a bit less suitable to use on existing code with bad design as it’s usually too expensive to fix everything and only allows you to ensure the situation doesn’t get worse.
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.
Detecting bugs and vulnerabilities: SonarQube can identify a wide range of bugs and vulnerabilities in code, such as null pointer exceptions, SQL injection, and cross-site scripting (XSS) attacks. It uses static analysis to analyze the code and identify potential issues, and it can also integrate with dynamic analysis tools to provide even more detailed analysis.
Measuring code quality: SonarQube can measure a wide range of code quality metrics, such as cyclomatic complexity, duplicated code, and code coverage. This can help teams understand the quality of their code and identify areas that need improvement.
Providing actionable insights: SonarQube provides detailed information about issues in the code, including the file and line number where the issue occurs and the severity of the issue. This makes it easy for developers to understand and address issues in the code.
Integrating with other tools: SonarQube can be integrated with a wide range of development tools and programming languages, such as Git, Maven, and Java. This allows teams to use SonarQube in their existing development workflow and take advantage of its powerful code analysis capabilities.
Managing technical debt: SonarQube provides metrics and insights on the technical debt on the codebase, enabling teams to better prioritize issues to improve the quality of the code.
Compliance with coding standards: SonarQube can check the code against industry standards like OWASP, CWE and more, making sure the code is compliant with security and coding standards.
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.
Importing a new custom quality profile on SonarQube is a bit tricky, it can be made easier
Every second time when we want to rerun the server, we have to restart the whole system, otherwise, the server stops and closes automatically
When we generate a new report a second time and try to access the report, it shows details of the old report only and takes a lot of time to get updated with the details of the new and fresh report generated
I really feel the platform has matured quite faster than others, and it is always at the top of its game compared to the different vendors like GitHub, Azure pipelines, CircleCI, Travis, Jenkins. Since it provides, agents, CI/CD, repository hosting, Secrets management, user management, and Single Sign on; among other features
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.
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!
I've never had experienced outages from GItlab itself, but regarding the code I have deployed to Gitlab, the history helps a lot to trace the cause of the issue or performing a rollback to go back to a working version
GItlab reponsiveness is amazing, has never left me IDLE. I've never had issues even with complex projects. I have not experienced any issues when integrating it with agents for example or SSO
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
We we easily able to integrate the SonarQube steps into our TFS process via the Microsoft Marektplace, we didn't have the need to call SonarQube support. We've used their online documentation and community forum if we ran into any issues.
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.
Gitlab seems more cutting-edge than GitHub; however, its AI tools are not yet as mature as those of CoPilot. It feels like the next-generation product, so as we selected a tool for our startup, we decided to invest in the disruptor in the space. While there are fewer out-of-the-box templates for Gitlab, we have never discovered a lack of feature parity.
SonarQube is an open-source. It's a scalable product. The costs for this application, for the kind of job it does, are pretty descent. Pipeline scan is more secured in SonarQube. Its a very good tool and its support multiple languages. Its main core competency is of static code analysis and that is why SonarQube exists and it does it exceedingly well. The quality of scan on code convention, best practices, coding standards, unit test coverage etc makes them one of the best competent tool in the market
Positive ROI from the standpoint of flagging several issues that would have otherwise likely been unaddressed and caused more time to be spent closer to launch
Slightly positive ROI from time-saving perspective (it's an automated check which is nice, but depending on the issues it finds, can take developers time to investigate and resolve)