Blockchain technology and containers may not seem to have much in common. At a conceptual level, however, they do. Here’s what the two have to do with each other.
Blockchain refers to a type of database architecture in which data is stored in distributed fashion on a decentralized system of nodes. It has become most famous as the technology driving Bitcoin. However, it has many other applications that extend beyond the world of cryptocurrency, from the media industry to property management.
Containers, meanwhile, are a way to host applications. Apart from serving as a solution for deploying software that runs a blockchain-based application, containers may not seem like they have much to do with blockchain.
Containers and the Blockchain
Yet, if you think about the foundational ideas behind the two technologies, some important shared traits emerge:
- Decentralization. Just as a blockchain stores data in a decentralized fashion, a containerized application is powered by a number of containers, across which the workload is distributed. No one container is more important than another, and load can shift across the environment as application demand dictates.
- Fault-tolerance. If some of the nodes on the blockchain disappear, data remains intact because it is stored on other nodes. This makes blockchain data storage more reliable than conventional databases. Containers operate in a similar fashion. A containerized application consists of multiple containers. When one fails, others remain available to keep the application running.
- Immutability. Containers are a form of immutable infrastructure. When you want to modify your application, you don’t change existing containers. You create new ones. Blockchains are somewhat similar in that once data is written to the blockchain, it is immutable (in most cases). To change records, you write new data rather than modifying data already in place.
- Scalability. The ability to scale is one of the killer features of both technologies. Although blockchains such as Bitcoin have faced scalability challenges, in general a distributed, decentralized blockchain can scale much faster and more extensively than a conventional database. So can a containerized application.
- Business value. Both technologies have followed similar paths. Both were born as obscure, marginal technologies with no clear use case, and slowly evolved to gain significant importance for business. Containers, or things that looked like them (such as jails), were around for decades before Docker brought them mainstream in 2013. Bitcoin emerged in 2008, but it took several more years before mainstream organizations began to recognize the value of blockchain not just for building cryptocurrency, but also for a variety of purposes. Today, it seems clear that both are here to stay, even though few people were talking about either of these technologies just five years ago.
In short, blockchain and containers have more in common than you may think. To be sure, they solve quite different sorts of problems. But they both reflect a set of design principles and goals that are at the fore of next-generation computing.