Industry use cases of Jenkinsđ˘đ˘
What is Jenkins?
Jenkins is an open-source automation tool written in Java with plugins built for Continuous Integration purposes. Jenkins is used to building and testing your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by integrating with a large number of testing and deployment technologies.
Infrastructure
As an independent open source project, the Jenkins project maintains most of its own infrastructure including services that help to stay the project running. the type of things that fall under âinfrastructureâ can span from operating virtual machines, containers, configuring networks,s or developing and maintaining project-specific applications to form the event of Jenkins core and plugins more efficient.
Jenkins infrastructure is maintained by the Jenkins Infrastructure team. This team consists of Jenkins contributors and volunteers who provide best-effort support depending on their availability and other commitments. We are always looking for contributors who are interested to improve Jenkins services and helping with maintaining them.
What is Continuous Integration?
Continuous Integration is desirable to a Build and Integration method, run at dayâs finish once everybody has gone home. Nightly integration is restricted, occurring one time per day, as critical the continual method of CI. Developers agree that nightly integration is beneficial in things wherever the build method takes such associate degree extraordinarily great deal of your time that itâs best conducted once fewer individuals are accessing the servers.
What are the Jenkins Features?
1. Easy Installation
It's very easy to install and comfortable in every kind of operating system
2.Easy Configuration
Jenkins is easily set up and configured using its web UI
It is easy to configure, extend, and modify. It allows the instant generation of tests and building, automation, and deployment of code on different platforms.
3.Plugins
There are plugins available in the servers, integrating with every tool in the CI and CD
4.Free Open Source
Jenkins is an open-source resource backed by heavy community support.
5.Permanent links
6.RSS/E-mail/IM Integration
7..After-the-fact tagging
8.JUnit/TestNG test reporting
9.Distributed builds
10.File fingerprinting
11.Plugin Support
Fintech Innovation With A Jenkins Backbone
âAt the time we were building the proof of concept, we didnât require an extensive infrastructure, so we relied on different non-open source third-party vendors,â said Nicolas. âOnce our product became a big reality in the market â with a huge interest from the Credit Community and focus from companies like VISA â we knew we had to build a solid CI/CD system to scale with our business in a much more reliable and cost-effective way.â
Today, Tymit claims to have re-designed the credit card, putting the user in control, the majority of whom actively use the card and access the platform through the Tymit mobile app. New customers onboard every day by tapping into Tymitâs âinstant issuingâ service. With this particular feature, users can download the app, get issued a virtual card and make an initial transaction in just a few minutes. This instantaneous transaction is a first for the fintech industry, Nicolas points out, and one that requires the power and flexibility that Jenkins affords them.
These kinds of services and transactions are where Tymitâs infrastructure and CI/CD system starts to become more critical every day, the engineering team pointed out. For them, it was absolutely critical for them to have the right tools in order to scale in security, cloud resources and capabilities to continue to support Tymitâs exponential growth.
Also, since Tymit is a fully digital credit card, the team is tasked to provide mission-critical 24/7 customer service to users. That requires a platform that can seamlessly authorize global transactions at any time, day or night.
âIt is absolutely critical for our business to have a reliable way of keeping our platform evolving continuously and securely,â said Francisco De Lucas, Principal Lead Engineer on the platform team. âThatâs why we chose Jenkins over other CI/CD alternatives we had used in the past. Jenkins provides us with every single integration that we require for the cloud, whether that is mobile components or backend components.â
Scaling cloud resources and capabilities with Jenkins
Tymitâs infrastructure supports three distinct platforms: Mobile (iOS and Android), Backend (Microservices), and Platform (Infrastructure/Security/SRE/Operations). While they are quite heterogeneous, each division requires different release schedules and management processes. For instance, Tymit could hypothetically release new versions from the backend services while simultaneously releasing new updates for the iOS and Android app. And, as the platform is continuously evolving, they perform weekly Terraform releases. The Tymit technology team uses Jenkins to orchestrate these distinct release schedules from the environment up to production.
The product and engineering teams also manage very diverse load times with varying spikes. To handle that, they use spot instances. Over a period of weeks, they may need to release software on the backend in a rapid-fire way, requiring more resources in the CI than in the mobile vertical. By using the EC2 Plugin on-demand with special labeling, they can increase those resources for specific peak times for a particular team. Once finished, the tech team can simply roll back that infra to normal within the Jenkins configuration.
âWe managed to reduce the software lifecycle of our legacy monolith from 30â40 minutes to 20 minutes using Jenkins Parallel Jobs and Ec2 instances,â said Cristian Lopez, Tymitâs Principal Lead Engineer supporting the backend. âWe have also been able to scale CI force by offering developers more resources to apply their CI at a very low cost when we reach a peak in our workload. And for our integration tests, which are quite heavy, weâre exploring adding spot agents in AWS.â
Results:
- faster delivery of mobile, microservices, and operational services
- reduced software testing and release cycles by 50%
- ability to support thousands of users for real-time transactions
- created a secure, controlled, and compliant fintech environment