Andy Nelson, Head of Systems & Architecture, describes how we deliver new versions of Overledger at pace to make it future proof.
Every two weeks, we deploy a new release of Overledger. Some releases add new connectivity and interoperability to blockchains, like the recent additions of Polkadot and Polygon. Other new versions add new functionality like the ability to mint and burn programmable stablecoins and issue payments. Sometimes the improvements are less visible to ensure that Overledger remains robust and scalable to handle the rapid and high-volume transactions that our enterprise customers expect.
The secret sauce is continuous improvement, continuous delivery
Like most modern SaaS platforms, Overledger is composed of multiple microservices, which are continually updated. To deliver new software versions at pace, we use continuous integration and delivery (CI/CD). In this, code changes are built and deployed automatically to a staging environment. Code is then merged after a successful pull request review. This process allows our development squads to work independently while ensuring that the latest checked-in code is always deployed and available for live environment integration and regression testing.
Recently, we retooled our CI/CD pipelines to use Jenkins-X and Tekton. At the same time, we’ve adapted some of our integration and regression testing to run automatically in a live ‘micro-environment’ during each pull request. Rather than waiting until after the code is merged, this process enables us to identify and fix bugs before making it to the staging environment. The impact is profound. Developers are less likely to revisit a change and are free to work on new projects. In addition, our product teams can see the implementation of new features nearly in real-time.
Reducing the burden on developers, empowering our business teams
Automating our testing, and running it earlier and more often, reduces the number of bugs in the production environment and improves the feedback loop between our product and development teams. Rather than responding to errors or bug-fixing problems in the production environment, our developers can spend more time focused on coding new features and doing the fun stuff.
Building blockchain interoperability for tomorrow
Our goal is to ensure that Overledger is a future-proof, cloud-native solution that can rapidly support any new requirements or functionality needed. So, whether we need to connect to a new distributed ledger, develop an interoperable NFT smart contract for web 3.0, or implement a brand-new use case, Overledger can rise to the occasion as blockchain technology becomes more widespread.