Blockchain is an amazing technology: it solves problems that either cannot be solved in any other way or cannot be solved truly effectively using other existing technologies. This article hopes to shed light on the possibilities it opens and to propose a few initial steps and tools that could help your organization move faster down what may well be the DevOps of the future.
Not just Cryptocurrency
The term most commonly connected to Blockchain is Bitcoin. This is truly a misfortunate bond, because Blockchain goes far beyond cryptocurrency. As a concept for project management and project development, it presents what may seem a disruptive approach, because at its heart are the decentralized, freely distributed, and often public, digital ledgers of every transaction. However, what it actually offers is a resilient and strong environment, wherein each participant verifies and audits transactions independently.
This technology ensures that the applied logic we have written cannot change or be manipulated in any way. It can record every transaction and every action and sign it in a way that cannot be forged or hacked. In addition, by representing assets digitally and uniquely, there can be no duplicates and every action is chronologically recorded. The unique retention of information in a chain of interconnected blocks in a non-disassembly, modification or separation digital connection prevents or compromises system reliability. Moreover, decentralizing the system to many original copies allows it to be restored even if several sites are damaged.
The result is a 100% transparent, 100% accountable, 100% verifiable, 100% auditable, 100% restorable process.
A taste of the future
The technologies below are a few that I like to use when developing and managing blockchain solutions. These are Microsoft-developed technologies, most of which are open-source, and can operate as cloud services run in Azure:
All of these tools, as well as many others, help us with the development of our apps. However, keep in mind that the design and development of a blockchain system requires a great deal of attention to detail and issues that are usually not required to be dealt with in standard systems. Planning becomes more complex when it comes to systems that need to integrate with other systems in the organization. Properly leading the design and implementation process, from practical experience in defining and implementing blockchain processes, is the key to success and making the difference between a successful and groundbreaking blockchain project and a shuffle project.
- Developer Toolkit: Microsoft offers an open-source toolkit that can be easily installed as a plugin for its VS Code development tool. This suite allows you to develop, distribute and manage blockchain applications from within your development environment. It basically wraps together Truffle and Ganache, two tools designed to develop code for Ethereum-based blockchain systems, enriches them with additional capabilities, making it easy to develop, compile and debug applications. The toolkit also allows you to upload apps directly to Azure blockchain services.
- Azure Blockchain Service (PaaS): This managed service enables the use a number of common and open source platforms, such as Ethereum, Quorum, Corda, with an additional set of services:
- Monitoring and control of operations in the blockchain, which also examines integration;
- User rights management;
- Information security casing.
- Azure Blockchain Workbench Service: This service allows companies and organizations to develop an app, start to end, in blockchain. From running feasibility studies in low-cost development environments, through UX/UI planning, to uploading and production. Management of the process workflow and application permissions are run automatically. In addition, the service includes a standard REST API layer that allows custom client-side development of the application, connecting end users to standard and simple interfaces, in addition to a rich array of services that automatically manage the blockchain asynchronous processes.
- Serverless technologies: One of the complex challenges developers face is the integration between the distributed technology of blockchain and the standard, concentrated systems. Utilizing these new Azure capabilities, blockchain systems can be seamlessly integrated with other enterprise systems, whether as a one-time event or as or as scheduled actions in the process. Whether on Azure, other clouds, or in the customer’s own environment, this allows developers to deliver a truly end-to-end solution.