EFT Software is a technology and design company that helps financial organizations excel in product agility.
They also act as an incubator for Fintech companies operating in different regions. The company was
The Challenge: Effortless CI/CD
Ozan, the most important and well funded company in the EFT incubator, offers a solution that lets customers perform financial transactions digitally through their phones. The software development team was growing and wanted to adopt Agile practices from the start.
The Ozan team wanted to add CI/CD pipelines, but they wanted to find the right DevOps solution for their requirements. EFT recommended a consultation with Rommel Tinoco, a CI/CD and DevOps expert, to explore options and set this up. Rommel and the EFT team had used Jenkins in the past and they believed that it required too much time and effort to set up and manage, hence taking valuable time away from innovating on their own platform.
“We wanted a solution that addressed the problems with Jenkins. We didn’t have the time to manage snowflake servers, download and manage hundreds of plugins, and maintain our own machines”, said Rommel Tinoco. ”If I change one thing in a pipeline, I now have to go update every pipeline. This isn’t scalable and creates a lot of manual work. Ozan wanted to build their platform very quickly and needed velocity, so I researched the available CI/CD platforms to find one that was agile, scalable, and needed very little management. Plus, we needed to run it behind our firewall since Ozan is a financial company handling sensitive customer information.”
Researching CI/CD platforms
EFT asked Rommel to look into ConcourseCI, so he spent a couple of weeks but had difficulty setting up pipelines. “Concourse is fine if you work for Pivotal and understand the bosh CLI and the highly custom DSL”, says Rommel, “For us, it was too complicated and required many manual steps like installing third-party tools ourselves. Also, there is no Enterprise edition unless you buy it with Cloud Foundry. We concluded that Concourse is fine if you want to use Cloud Foundry but doesn’t work well with other scenarios.”
Rommel then came across Shippable Server and found that it had the advanced pipelines functionality he was looking for. He decided to start a Proof of Concept (POC) and try it out.
Powerful CI/CD behind the firewall
Rommel immediately found that Shippable’s declarative yml made it very easy to configure CI/CD pipelines. He created his first pipeline in a couple of days and he could reuse configuration to create subsequent pipelines in a couple of hours each.
The POC was successful and Ozan decided to buy a Shippable Server license. The key reasons for choosing Shippable were:
The yml structure is easy to understand and configure. “You install it, set up integrations with third-party providers, and then you rock and roll. Build machines are auto-configured and easy to set up”, says Rommel.
Ozan is currently deploying to AWS Elastic Beanstalk, but plans to explore other options in the future. Shippable integrates with all popular PaaS and Container orchestration platforms, which allows for easy portability with just a couple of lines changed in the config.
Cost savings with dynamic build nodes
Shippable provides the ability to spin up dynamic nodes for builds, which significantly reduces cost for hosting CI/CD infrastructure. For example, if your build machines are only utilized 8 out of every 24 hours, your hosting cost will drop by 66% when compared to Jenkins which does not offer dynamic node management.
Updated build images
The Shippable team provides updated build images every month, so the latest versions of Docker, languages, packages and tools are available without needing to install manually.
Feature branch support
The platform makes it very easy to set up feature branch workflows, even Gitflow. It automatically detects which branch changed, and you can easily configure different build/test commands based on branch.
Shippable supports Docker natively and has the best support for Docker workflows.
The Ozan team today uses Gitlab, Docker, Shippable Server, and AWS Elastic Beanstalk. Shippable Server and build nodes are hosted on AWS EC2 machines in a private VPC. Shippable integrates with the entire stack and brings visibility and collaboration across all phases of the DevOps pipelines. It also integrates with Aqua Security to secure Docker containers running in each environment. Deployment pipelines for all 40 microservices are now set up to deploy in Dev, Test, and Sandbox environments.
“The Shippable team rapidly adds new features and offers great support.” Tinoco said, “We could build custom automation with very little effort.”
“At Ozan, we want to be as fast and efficient as possible, and Shippable Server has helped us focus on our core platform without worrying about how we were going to ship it,” Tinoco says. “EFT is now rolling out Shippable Server to the other fintech companies in its incubator.”