DevOps and blockchain are among the hottest topics in today’s technology world. However, you rarely hear the two discussed in tandem. Going forward, that may change. Here’s why.
On the surface, the two may not seem to have much to offer each other. DevOps is a set of cultural principles and practices designed to improve software delivery. Blockchain is a way of storing data in a decentralized fashion.
Bitcoin, a digital currency whose transaction records are stored using a blockchain, is the most well-known example, but the world is much bigger than Bitcoin.
So, besides using DevOps practices to create blockchain-based applications, how can they be used together?
DevOps on the Blockchain
The answer centers on making software delivery chains more transparent and reliable via blockchain technology.
What if, instead of relying on tools such as continuous integration servers and automated test suites to determine that code is moving down the pipeline successfully, you instead recorded that data on the blockchain?
This would make software delivery more transparent, which would in turn improve software quality and reliability. Application delivery status and information about software problems could be viewed instantly by anyone over the blockchain, providing a much greater deal of visibility into the continuous delivery process.
In addition, smart contracts could be used to regulate how code moves down the pipeline. They could also ensure that software deliveries meet user expectations.
Rather than relying on tools within the pipeline to catch problems such as a continuous integration error, information could be independently and automatically verified via smart contracts on the blockchain. If a problem occurs, the smart contract could require that it be fixed before it moves down the pipeline and grows into a bigger problem.
SLAs and Smart Contracts
At the same time, software functionality could be guaranteed using smart contracts. Currently, DevOps teams use service level agreements (SLAs) to promise their application users a certain degree of functionality and reliability in an application.
SLAs are not a great solution. They are inefficient to negotiate and costly to dispute. If an application fails to meet SLA terms, it’s on the user to report the problem and demand a solution.
If service agreements were instead recorded on the blockchain and enforced via smart contracts, users would have a guarantee that an application’s failure to provide the guaranteed functionality would be detected automatically. It could also result in an instant solution, such as the refund by the smart contract of a contractually determined amount of money.
Traditional SLAs, and all of the inefficient legal and contractual trappings that surround them, would become a thing of the past.
For now, no one is actually applying it to improve DevOps and continuous delivery. Like most blockchain-enabled innovations, this remains a theory, not a reality.
Yet, its potential to improve the work of DevOps teams, and the experiences of their users, is clear. Blockchain may not be a part of the DevOps conversation today, but it is poised to become a part in the future.