Squeezing toothpaste out from the back of the tube is a well-established best practice – because if you squeeze your tube at the front, you create a toothpaste delivery bottleneck.
The same is true of blockchain. To capitalize on emerging blockchain opportunities, many IT leaders are looking to jump-start some development pilots. But if you start squeezing out blockchain code without first achieving DevOps mastery, you’ll wind up with a very counter-productive digital value bottleneck.
Blockchain is new
Blockchain is essentially a new distributed data structure surrounded by mechanisms for managing that data structure. And as everyone who has been in development for any length of time knows, new data structures can give developers fits – especially when they’re associated with all kinds of idiosyncratic replication and data read/write controls.
This novelty means that developers are likely to make a lot of mistakes as they get up to speed on blockchain. No matter how much onsite and online training you provide for them, they will largely learn by doing. That means they will have to code, test, correct, and re-test their daily work-product more iteratively than ever. They will also need to share their new daily learning with their peers.
Teams can’t collaboratively execute this kind of nimble, iterative testing and learning without a strong DevOps foundation. That foundation must include a well automated workflow toolchain, a strong culture of collaboration, and leadership that consistently manages to and incentivizes the right KPIs.
None of these happen without genuine DevOps maturity.
Blockchain is inter-connected
Much of the first-wave narrative surrounding blockchain has treated it as a discrete island of technology. And this is understandable. For one thing, the leading exemplar of blockchain – Bitcoin – is a standalone cryptocurrency platform. For another, there’s a lot we all have to learn about blockchain itself before we delve into the complexities of integrating blockchain with our existing systems.
But that integration is essential. If you plan on using blockchain to facilitate distributed transactions, you’ll likely have to integrate the resulting transactions with your core financial reporting systems. If you’re in healthcare, you’ll likely have to integrate the data generated by your blockchain app with your core EHR and/or clinical systems.
DevOps maturity is a prerequisite for reliable integration of your new blockchain apps and these core systems. To quickly, easily, and iteratively test integration of new blockchain code, your developers and QA staff need a DevOps toolchain that provides them with convenient access to some sort of application modeling – such as application “stubs,” virtual instances, or API sandboxing.
Conversely, when you update your core applications, you’ll need a DevOps toolchain that can simulate behavior of your blockchain app to make sure your new code doesn’t inadvertently break your integrations.
Blockchain requires built-in security
Blockchain is no more or less inherently secure than any other technology. Any application or service can be secure if it is properly secured. And any application or service can be breached if it is inadequately secured.
The difference with blockchain from a security perspective is that it could ultimately run anywhere – including on servers that are not surrounded by the multiple layers of security typically found in an enterprise environment. So blockchain is much more fully dependent on application-level security than other, more conventional data structures.
Here again is where mature DevOps comes in. Or, more accurately, DevSecOps – which entails building security into application code as much as possible, rather than always limiting to security to that which can be “bolted on” after the fact.
With a mature DevSecOps process, blockchain attributes such as participation criteria, read/write permissioning, and blockchain rule update controls can be more rigorously engineered for security and compliance auditability – thereby safeguarding the block chain from bad actors and strengthening the blockchain value proposition through high participant confidence.
The bottom line: Blockchain pilots are great – but they may slow and painful if your organization hasn’t first achieved the requisite DevOps maturity.