Azure Blockchain As A Service is a great option for enterprises to get started with their blockchain Proof of Value, Pilot and live production projects. The solution templates which are available using ARM (Azure Resource Manager) make the blockchain implementation much easier. Most organizations who have good Network and Cloud administrators can easily implement blockchain consortium networks using Azure BaaS.
While these templates does not really recommend any specific configuration, the following typical consortium architectures are supported in Azure BaaS.
1. Single Organization where the multiple divisions within it share information . Typically global organizations who have their own setup in USA, Europe, Asia Pacific .. with different regulatory needs can use this kind of a setup.
2. Multiple Organizations Private Network : This is a typical consortium setup, which is permissioned and private. This extends the Single Organization mentioned above, at the same time more than one organization participate in this. Typically the Compute, Storage, Network components of each organizations are managed separately, however multiple nodes across organization will communicate with each other, for mining and other transaction related activities.
3. Multiple Organization Public Facing : This is the most advanced configuration, where it extends option 1,2 above and also provides access from public network. However this setup will still be permissioned where the pubic will interact with blockchain network only through a member organization. For example bank customers may access the blockchain consortium using the bank's self service portal.
Azure BaaS also extended their support to multiple protocols beyond Ethereum, these include the following.
While these templates does not really recommend any specific configuration, the following typical consortium architectures are supported in Azure BaaS.
1. Single Organization where the multiple divisions within it share information . Typically global organizations who have their own setup in USA, Europe, Asia Pacific .. with different regulatory needs can use this kind of a setup.
2. Multiple Organizations Private Network : This is a typical consortium setup, which is permissioned and private. This extends the Single Organization mentioned above, at the same time more than one organization participate in this. Typically the Compute, Storage, Network components of each organizations are managed separately, however multiple nodes across organization will communicate with each other, for mining and other transaction related activities.
3. Multiple Organization Public Facing : This is the most advanced configuration, where it extends option 1,2 above and also provides access from public network. However this setup will still be permissioned where the pubic will interact with blockchain network only through a member organization. For example bank customers may access the blockchain consortium using the bank's self service portal.
Azure BaaS also extended their support to multiple protocols beyond Ethereum, these include the following.
- Hyperledger Fabric
- R3 Corda
- Quorum
- Chain
- BlockApps
This support for multiple protocols is important, as it is likely that an organization is part of multiple consortium and each consortium again could have been implemented with a different protocol. The following diagram provides an illustration of a multi consortium, multi protocol view from the point of an enterprise.
It is in the best interest of Azure Blockchain adoption that all these protocol work seamlessly without errors, such that Azure can be the go to platform for Blockchain implementation. In this context I have listed the current issues I am facing with setting up HyperLedger Fabric On Azure. It could be that some thing is missed out. Azure should include more documentation on implementing this on Azure, so that more work could be done.
For implementing HyperLedger Fabric start with the pre defined ARM Template that is available in Azure Market Place.
- Select, Hyperledger Fabric Single Member Blockchain from Azure Resource Manager Template
- Enter information about SSH Public Key that will help with authentication
- In the Network Size & Performance tab, select information about number of Membership Nodes, Orderer Nodes, Peer Nodes. We can leave it the default for the demo setup.
- Finally the system runs a validation to ensure that all values are correct to be ready with deployment.
After the final submission, the deployment takes roughly around 30 minutes to create the objects and it also outputs the connection parameters to connect to the blockchain network.
The template creates 5 virtual machines, same number of network interfaces, storage objects. The Load Balancer will act as a entry point for each of the virtual machines and NAT rules are setup to SSH into each of the virtual machines.
We could use Putty to log in to each of the nodes to see the Docker Processes that are running. However as seen in the following screen shot, few of the Docker Images are running properly. For others it looks like they are going into Restart mode. There is no further documentation from Microsoft for fixing this issue. As mentioned it will be in the best interest of organization to fix the HyperLedger Fabric Installation issues as it is one of the important private consortium protocol.
Very informative article Srinivasan. Thanks.
ReplyDeleteCan we have two membership node Default template has fixed setting for membership node as 1
ReplyDelete