Enabling Enterprise Blockchain AppDev Teams

Blockchain is the latest buzzword in the FinTech scene and all companies big and small are vying to launch blockchain enabled products. At the basic technology level Blockchain is a distributed technology application. The challenges of operating such an application are known [1]. But the techniques of developing distributed applications by large enterprise teams, in a typical SDLC lifecycle (Develop, Test, Deploy and Upgrade) is not well known. Without proper methodologies / Formal Tools as is the case with most blockchain systems, bugs slip in easily. Studies on failures point to developers missing low handing bugs as most of the errors are simulated with 3 nodes or less [2]. The developer ecosystem is fast changing with technologies like containers and the emerging Micro Services architectures and Cloud Native Computing. The decisions on setup, build, CI/CD, Automated Testing are not taken at the beginning and as pointed out by [3] affect the entire project. The good news is that there are lot of tools available in the Open source domain that addresses the needs. The bad news is that picking the right combination to work in team sizes of 5 or more is not straight forward. This paper details our journey and lessons learnt on setting up Application Development Teams for Rapid Development in Blockchain using multiple blockchain tools like Ethereum and the HyperLedger Fabric. It details both our application architecture and the modifications needed to enable a Cloud Native architecture and the build/ deploy/ testing frameworks that we used.