Fintech Innovation With A Jenkins Backbone
By Tymit Technology Team and Alyssa Tong
Solution: Tymit, a revolutionary credit card processing company, leveraged Jenkins to build a compliant, transparent and secure modern DevOps platform to drive product innovation, handle instant financial transactions and support thousands of users in real-time.
Challenge: Create a solidly reliable CI/CD platform that provides the technology team with the agility and the flexibility needed to innovate while ensuring the security and scalability their fintech service requires.
- 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
The idea behind Tymit began when two brothers, Martin and Nicolas Magnone, thought there should be a better long term way to manage finances than relying on credit cards or loans. The pair felt that credit cards often have unclear pricing, lots of fees and a lack of features to help keep balances under control. The Mangones were convinced that they could leverage the latest payment technology to offer much better customer experiences: cheaper, flexible, transparent and more readily available wherever and whenever it was needed.
The brothers kicked things off by creating an app for family and friends that would accomplish those goals. Nicolas led the technology initiative to build a proof-of-concept. The idea took off. The app was subsequently adopted by thousands of users, and a new fintech business, Tymit, was born. However, the infrastructure the prototype was built on needed to be adapted to allow for faster innovation, optimal performance across multiple devices, and the advanced security, reliability and control required to safely protect every transaction.
As CTO of the growing company, Nicolas led a technology team – including Principal Software Engineers Francisco De Lucas and Cristian Lopez, as well as Product Owner Filippo Matoso. Together they chose Jenkins to propel this initiative forward.
A flexible infrastructure to keep pace in a rapidly evolving fintech world
“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.”
Enabling secure, transparent financial transactions with a powerful CI/CD
When people’s finances are on the line, security and privacy are of paramount importance. “Being a fintech company on the road to achieving PCI DSS compliance creates a lot of challenges in terms of security,” Nicolas explained. “Because Tymit uses CI to perform for both software and platform releases, the need to have a solid and secure pipeline which does not leak any sensitive information is critical to our success.”
For this, Tymit creates ‘secrets’ within Jenkins — which are either stored fully encrypted or acquired from their AWS Cloud provider — to ease the deployment of certain software on different platforms. Using specific Jenkins capabilities – like the Docker with Pipeline plugin – the team can handle Docker images in a secured environment.
Employing ‘secrets’ must be compliant with PCI DSS. Fortunately, these are covered by our Jenkins CI with custom security rules in our AWS Cloud provider, according to the Platform team. With Jenkins, they said they can create a secure ecosystem between CI, cloud, and developers, which allows Tymit to deliver software in a rapid and – more importantly, for any fintech app – a secure way.
Scaling as rapidly as Tymit’s fintech rise
The technology team at Tymit feels that this platform-as-a-service solution offers more capabilities than a standard CI/CD system. And they aim to use Jenkins to integrate additional processes in their software life cycle to help scale and deliver the best quality to their customers.
They equate Jenkins to “a big Swiss Army knife” and believe that with a bit of setup, it can offer many possibilities in the software engineering world and beyond. “Jenkins has become a fundamental piece for our ‘time to market’ to deliver constant value,” Filippo Matoso, Tymit’s Product Owner, summarized.
And as Francisco shared in his Jenkins User Story: “Jenkins has all of the key ingredients required to be successful: power, flexibility, scalability and community.” It would seem that the same description applies to the innovative credit card apps powered by Tymit.