Australian company Atlassian offers Bamboo, a continuous integration server.
$1,200
1 remote agent
AWS Lambda
Score 8.3 out of 10
N/A
AWS Lambda is a serverless computing platform that lets users run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes of requirements to run and scale code with high availability.
$NaN
Per 1 ms
Jenkins
Score 8.4 out of 10
N/A
Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.
Jenkins works great, but Bamboo is just fantastic when integrated with other Atlassian tools. Since we were using JIRA and Bitbucket, we went for Bamboo.
We chose Bamboo over Jenkins for 2 reasons - one, for its tight integration amongst all the products in the tool suite. We find explicit value in the traceability from JIRA issues all the way down to the Bamboo build that was triggered by the check in of those issues. The …
Bamboo is great tool when compared to the open-source alternative Jenkins, with mainly the same functionality in both it really shines with its integration of the Atlassian product line. Jenkins works really well with a huge community of users and plenty of plugins that are …
We used Jenkins before for our projects. While Jenkins has an extensive plugins list that makes it more flexible to integrate it with other tools, we switched to Bamboo for nicer User Interface but mostly for the seamless integration with Jira and Bitbucket. Also Bamboo has more …
Bamboo's ability to integrate with Bitbucket and Jira (the other two key systems we use) pretty much sealed the deal on our decision to choose Bamboo over other alternatives. Being able to map every build result back to the relevant code changes and Jira issues are just too …
Bamboo won solely based on the fact we were "all-in" with Atlassian. TeamCity is now in the process of taking over as we transition off of Bamboo, and I think TeamCity stacks up nice against Bamboo thus far (too soon to tell).
Bamboo integrates directly with our bug system (JIRA) and source control system (Bitbucket). It allows us to get what we need to done without worrying about how it works with our other systems.
Bamboo is hands-down the best of these options if you rely on other products of Atlassian origin. Bamboo is not just built for teams, but teams-of-teams and teams of many workers. It has the administrative features you need to manage and maintain CI at scale. Enterprise model …
Jenkins is a solution for CD/CI pipelines. We can leverage this tool to run code automatically. Long-lived applications and jobs can also be run through it.
I don't know nor have used any other product that really competes with AWS Lambda. I would think Microsoft would have a product that completes with AWS Lambda but I have never used it.
Jenkins is highly customizable and flexible, supporting a wide range of plugins and integrations. Jenkins works with any version control system (Git, Subversion, etc.). Jenkins has a more mature ecosystem, and it may be better for large-scale, complex environments, especially …
One of the most important factors for selecting Jenkins would be the cost. Since Jenkins is opensource, there is a good amount saved from licensing and software procurement costs. Apart from cost, Jenkins is easy to understand and there is wide range of documentation and …
It is free, of course that's the best advantage. Great number of plugins. Largest active developer community among peer competitors. Very few competitors have got the pipelines features right as good as Jenkins.
Bamboo has 100 plugins versus 1100 with Jenkins. Bamboo integrates well with Atlassian suite (as it should), but so does Jenkins with the dev community efforts. Test automation with tools like Selenium is excellent on Jenkins.
We previously utilized Hudson - which was limited and did not have the extensive plugin abilities of Jenkins. We selected Jenkins for it's ease of use, beautiful interface, and stability. Other software such as Hudson and Bamboo didn't provide these abilities.
I would use TeamCity if Jenkins was not already in place. TeamCity seems a lot more stable when it comes to upgrading the software and job templates the way TeamCity handles them is an absolute killer feature. Jenkins is a bit of a wild animal, quite unpredictable but with the …
As mentioned before not the best option out there but since it's open source and it does what you need it for, we can't complain. Plays well with other tools like SVN.
Jenkins and Hudison were originally the same source. I prefer Jenkins. Because it is open source, and has a large community to support. I am not familiar with Bamboo. So nothing to say about that.
If you value integration over cost, Bamboo is clearly the way to go. It offers tight integration to the rest of the Atlassian suite, and when you need traceability from issue to build, Atlassian is the right way to go. However, if you find yourself needing to save on costs, you may consider taking an approach of rolling your own build system with open source alternatives, such as Jenkins, if you don't [mind] putting in a little extra elbow grease.
Lambda excels at event-driven, short-lived tasks, such as processing files or building simple APIs. However, it's less ideal for long-running, computationally intensive, or applications that rely on carrying the state between jobs. Cold starts and constant load can easily balloon the costs.
Jenkins is a highly customizable CI/CD tool with excellent community support. One can use Jenkins to build and deploy monolith services to microservices with ease. It can handle multiple "builds" per agent simultaneously, but the process can be resource hungry, and you need some impressive specs server for that. With Jenkins, you can automate almost any task. Also, as it is an open source, we can save a load of money by not spending on enterprise CI/CD tools.
Levels of granularity. Organization has many projects that have many build plans that have many jobs that have many tasks, etc. And branch builds allow source control branches to be built separately.
Versatility. I can use bamboo to manage my Java, node, or .NET build plans. I can use it to spin up Windows or Linux build agents, or install it on a Mac to build there as well.
Bamboo integrates with other Atlassian products like Bitbucket, Stash, JIRA, etc. If a company commits to the entire Atlassian stack then work can be tracked through the whole development lifecycle which is really useful.
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
Developing test cases for Lambda functions can be difficult. For functions that require some sort of input it can be tough to develop the proper payload and event for a test.
For the uninitiated, deploying functions with Infrastructure as Code tools can be a challenging undertaking.
Logging the output of a function feels disjointed from running the function in the console. A tighter integration with operational logging would be appreciated, perhaps being able to view function logs from the Lambda console instead of having to navigate over to CloudWatch.
Sometimes its difficult to determine the correct permissions needed for Lambda execution from other AWS services.
We have a certain buy-in as we have made a lot of integrations and useful tools around jenkins, so it would cost us quite some time to change to another tool. Besides that, it is very versatile, and once you have things set up, it feels unnecessary to change tool. It is also a plus that it is open source.
Bamboo offers solid usability for teams looking for an integrated, scalable CI/CD solution, especially those using Atlassian tools. Its interface is intuitive for existing Atlassian users, and its focus on deployment automation makes it a strong option for continuous delivery. However, its complexity and cost may pose challenges for small teams or those new to CI/CD. Overall, Bamboo’s usability shines in environments where ease of integration and streamlined workflows are prioritized. Still, it may require more effort for teams unfamiliar with its setup or without dedicated resources.
I give it a seven is usability because it's AWS. Their UI's are always clunkier than the competition and their documentation is rather cumbersome. There's SO MUCH to dig through and it's a gamble if you actually end up finding the corresponding info if it will actually help. Like I said before, going to google with a specific problem is likely a better route because AWS is quite ubiquitous and chances are you're not the first to encounter the problem. That being said, using SAM (Serverless application model) and it's SAM Local environment makes running local instances of your Lambdas in dev environments painless and quite fun. Using Nodejs + Lambda + SAM Local + VS Code debugger = AWESOME.
Jenkins streamlines development and provides end to end automated integration and deployment. It even supports Docker and Kubernetes using which container instances can be managed effectively. It is easy to add documentation and apply role based access to files and services using Jenkins giving full control to the users. Any deviation can be easily tracked using the audit logs.
No, when we integrated this with GitHub, it becomes more easy and smart to manage and control our workforce. Our distributed workforce is now streamlined to a single bucket. All of our codes and production outputs are now automatically synced with all the workers. There are many cases when our in-house team makes changes in the release, our remote workers make another release with other environment variables. So it is better to get all of the work in control.
Bamboo is a fairly small product but having said that it was fairly easy to get assistance. Especially for the small to easy things. Anything large or fairly complex was an issue finding detailed answers for. This caused a lot of trial and error on our part to try to find a solution.
Amazon consistently provides comprehensive and easy-to-parse documentation of all AWS features and services. Most development team members find what they need with a quick internet search of the AWS documentation available online. If you need advanced support, though, you might need to engage an AWS engineer, and that could be an unexpected (or unwelcome) expense.
As with all open source solutions, the support can be minimal and the information that you can find online can at times be misleading. Support may be one of the only real downsides to the overall software package. The user community can be helpful and is needed as the product is not the most user-friendly thing we have used.
It is worth well the time to setup Jenkins in a docker container. It is also well worth to take the time to move any "Jenkins configuration" into Jenkinsfiles and not take shortcuts.
We selected Bamboo because its capabilities to integrate with other Atlassian products specially Jira Software, Bitbucket and in some useful scenarios with Confluence. Also, we found these pros important for us: great user interface, easily agent deployment, Docker compability, simply to maintain / manage, and straightforwardly integration with different notification platforms
AWS Lambda is good for short running functions, and ideally in response to events within AWS. Google App Engine is a more robust environment which can have complex code running for long periods of time, and across more than one instance of hardware. Google App Engine allows for both front-end and back-end infrastructure, while AWS Lambda is only for small back-end functions
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/GitLab/Azure) provide other options but can obfuscate the process due to the lack of straightforward simplicity. In other areas (capability, power, customization), Jenkins keeps up with the competition and, in some areas, like customization, exceeds others.
It helped us achieve the Continuous Deployment and Continuous Integration goals for our applications, a huge milestone that saved a lot of time for developers in making the builds and deployments and saved time for QA in running the automated tests.
Helped with DevOps: we moved the formal approval from the email to the system and allowed the approver to actually push the button for the production deployments.
Biggest positive impact of using Bamboo is that it improved our response time to customers and increased the frequency of our deliveries to them.
Positive - Only paying for when code is run, unlike virtual machines where you pay always regardless of processing power usage.
Positive - Scalability and accommodating larger amounts of demand is much cheaper. Instead of scaling up virtual machines and increasing the prices you pay for that, you are just increasing the number of times your lambda function is run.
Negative - Debugging/troubleshooting, and developing for lambda functions take a bit more time to get used to, and migrating code from virtual machines and normal processes to Lambda functions can take a bit of time.