Disposable Dev Environment GCP Infrastructure for all-in-one Financial Services Platform

Executive Summary

Axle helps freight brokers grow faster by automating their back-office and providing fast & affordable working capital. For accelerating the new product upgrades, they wanted to move to trunk-based development. Axle approached Advascale to help them to redesign their development flow and implement disposable development environments in GCP infrastructure.

Advascale has upgraded the infrastructure, introduced GitHub actions and trunk-based development along with modified the pipeline. This way facilitated the team-driven development Axle has.

Customer Challenge

Axle has proprietary software that automates and streamlines operations and enables Axle to take a more data-driven approach to risk management. After a stellar year of growth and raised financing, Axle worked on the modernization of a next-generation technology platform.

For the great improvement of their product, they need to iterate quickly to get changes to an end-user faster than ever before, while maintaining control over how they deliver software to the end-user and need to implement the disposable development environment.

Axle expected the twice increase in the traffic and searched the solution to maximum speed with minimum formality in the software development. They needed to arrange a proper flow for strengthening the competitiveness and accelerating new feature time to market.

“One thing that impressed me about the Advascale team was just how methodical and structured you were in the way that you approached the business. I talked to other companies and consultants, but what really impressed me about your team was that you had a clear pattern for how you engage customers.”

Greg Mundy, Head of Engineering, Axle

Advascale Solution

The Advascale Team audited the entire infrastructure and proposed to implement the DevOps practice of modeling developer workflow for operational tasks. We proposed to improve continuous integration and layer them into the cloud process.

The disposable development environments are implemented in Kubernetes and separated by namespaces. DNS and Kubernetes namespace naming is taken from short-lived feature branches, as an id of the linked task. For each opened Merge Request a separate deployment was created and will be destroyed on closure.

GCP resources like VPC, GKE cluster, Container registry, and others were created using Terraform.

CI/CD is implemented using GitHub workflow and actions. Unit, status, and e2e tests are reused from the existing workflows.

The new workflow is triggered by pull request actions and executes tests as steps. After the passed test is built an application docker image and the application is deployed to the Kubernetes cluster.

The GKE Autopilot reduces the operational cost of managing clusters, optimizes clusters, and yields higher workload availability. There is no necessity in monitoring the health of your nodes or calculating the amount of compute capacity that your workloads require.

With a disposable development environment, Advascale facilitated the Axle development team to accelerate innovation, security, and compliance.

Results and Benefits

This is a typical case when a business benefits from cloud capabilities. Developers have greater freedom within the infrastructure to check their ideas. This works like an additional opportunity of putting changes back like it was in the shortest time possible - minutes when the idea does not work out.

Software updates to the runtime environment to be safe can be applied at development time where they can be tested through the full deployment cycle. And this can be done very fast.

This type of development stipulates continuous code review, real-time feedback, visibility, and collective code ownership and the speed - of integration of new changes occurs without downtime.

With Advascale’s solution, the platform development team excels the performance by using the benefits of trunk-based development and deploying new product features faster.