Sign in
Categories
Your Saved List Become a Channel Partner Sell in AWS Marketplace Amazon Web Services Home Help

I could lose my entire Jenkins infrastructure all at once and it could reconstitute the entire environment directly from code

  • By CEO2961
  • on 12/19/2018

It is used for CI/CD, and where we work in the federal government, CI/CD is not proliferated quite as extensively as it is in the private sector and startup community. Therefore, CI/CD is still an important message in the government, and Jenkins is a big part of that message.
How has it helped my organization?
Its CI/CD capabilities are invaluable to the government. Typically, the government manually builds software, then manually deploys that software onto a machine. With Jenkins, it hooks into AWS and its ability to deploy directly to operating systems. We are able to not only automate infrastructure in AWS with Jenkins, but we are able to do the actual delivery of our software on operating systems and instances themselves.
What is most valuable?
* Its scalability.
* Ease of use.
* The community and support available for it.
Its ability to recreate our entire Jenkins environment, jobs, and seed jobs from code. Therefore, I could lose my entire Jenkins infrastructure all at once, and it could reconstitute the entire environment directly from code.
What needs improvement?
Sometimes on a heavily used Jenkins instance, if we are not scaling appropriately, we can have a lot of job failures without a whole lot of information telling us why jobs are failing, if we don't know that it's a performance issue. This is sort of expected out of the open source product, and I understand that the commercial CloudBees product has a lot more insight and tools to help you see these things ahead of time before they become issues. So, it is the nature of using the free open source version, and we just have to be a little bit more diligent.
We would like a little more native automation in the cloud spaces that there in.
For how long have I used the solution?
Three to five years.
What do I think about the stability of the solution?
We put an extreme amount of stress on it. All of our developers in the federal agency that I work for use Jenkins on a daily basis to do their jobs. We support about a half dozen teams right now, and we're looking at doubling that number very shortly.
We have had no infrastructure nor stability problems with the software.
What do I think about the scalability of the solution?
The scalability is outstanding. We can scale entire Jenkins boxes, which helps us scale our builds, our delivery, and our executors.
The size of the environment that we operate is anywhere from 300 to 500 EC2 instances at a time between development, test, and production. Jenkins is our primary orchestrator for all of them.
How is customer service and technical support?
The community is fantastic. The Jenkins technical support community on Stack Overflow is wonderful. We absolutely love it. Since we are on the free, open source, we don't necessarily get access to their private community and other commercial forums. However, the open source community has been fantastic for us.
Which solutions did we use previously?
We switched to Jenkins because it is so powerful.
How was the initial setup?
The integration and configuration in our AWS environment was very easy. It was very fast to get started.
There are a 101 tutorials out there to tell you how to do exactly what it is you want to do. It is free, fast, and easy. If you don't know what you're doing, the community is exceptional.
What was our ROI?
The amount of time that it takes to build software, test it, pass the testing, and get it deployed onto a server instance has dropped for a developer to do all these processes from about a day to a couple of minutes. Where we previously had a developer who might only have only been able to do one build, deployment, and test per day, they can now do dozens before lunch. That is the ROI. We're able to bring software to the government faster because of Jenkins.
Which other solutions did I evaluate?
There were some Atlassian products, like Bamboo, which we considered. We just didn't like their licensing model. We didn't like the lack of flexibility in some of these tools. Jenkins is the easiest CI/CD tool to start with.
What other advice do I have?
Always to pick what's best for you and your environment. Jenkins doesn't work for everybody. Try it first, give it a shot, and let it prove itself that it doesn't work for you, because there is literally nothing that you can't custom build in Jenkins. If it doesn't do something that you want it to do, you can write your own module or capability in it. The tool is very flexible.
We have been using the CloudBees open source version of Jenkins for about four years now. It's a fantastic product. It doesn't do anything that we need it to do. We absolutely love the product.
We have deployed this product in other environments, such as on-premise and other clouds. Amazon allows us to scale Jenkins and manage Jenkins in a more effective manner than deploying on-premise or on other clouds. We just use the open source version and haven't really dabbled in the different flavors.
We use Ansible to automate a lot of our infrastructure components that we might not be able to do with some other tools. We also integrate Jenkins with SonarQube for static code analysis and Nexus Repository for our object and binary repositories. It integrates beautifully with all of these. We are able to orchestrate deployments, testing, and everything from Jenkins. We used Jenkins to kick off our Ansible automation and have it do all of our automation.


There are no comments to display