Blockchain As A Service: As the initiatives on Blockchain and smart contracts are high on the radars of business and IT leaders , one of the main hurdle they face is the inherent complexities in setting up distributed database and associated networks using relatively new platforms like ethereum, hyper leder, ripple etc.. Existing cloud providers filled this gap, with the delivery of “Blockchain As A Service” – BaaS as part of their offering. In this context two of the major technology players , Microsoft and IBM provide Blockchain as a Service. Logically, Microsoft provides BaaS on top of existing Azure cloud services and IBM provides BaaS on top of Bluemix services, which makes these services fit well in to their existing customers as well enable partners to build solutions on top of it.
As there is immense potential for Blockchain usage in the industries, at this time both players are complimenting each other by promoting usage of Blockchain and too early to provide opinion on which one is good, however following are thoughts about what kind of details provided by the respective providers which will help during the proof of concept initiatives of the organizations.
Blockchain Protocol Support:
As explained in my other article about smart contracts, currently there are multiple platforms available for development of smart contract and blockchain solutions. As customers experiment on blockchain solutions, depending on their skills and strategy they are going with different platforms.
Microsoft Azure BaaS initially started with Ethereum platform as a base. But subsequently they have expanded into other platforms like, R3 Corda, Quorum, Chain, BlockApps and Hyperledger Fabric. Each of these platforms are available as a Azure Resource Manager based templates as well as graphical user interface using Azure market places. This makes it easy for organizations to experiment on new smart contract initiatives. As I have explained in my smart contract management system blog, one organization may be part of multiple blockchain networks and each of them could be implemented using a different platform.
IBM Bluemix BaaS unlike Azure, fully revolves around Hyperledger Fabric. Hyperledger Fabric is a blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation.
While the Blockchain network promotes trust and transparency from the business point of view. The underlying network infrastructure and topology needs to be carefully planned. This helps in determining where the nodes are placed , how nodes communicate with each user, which nodes the distributed apps connect and submit transactions and other decisions about public facing nodes. The following general topologies that most organizations can fit their blockchain and smart contract solutions.
· Single organization, multiple departments or divisions: This is a common topology when divisions in an organization do not trust each other, for example when one division is auditing another division.
· Multiple organizations, private: This is the true consortium scenario where each organization will have its own footprint , the services deployed must not be publicly accessible on the internet, even though communication will occur across organizations.
· Multiple organizations, public-facing: Similar to the above topology, but in industries, enterprises, or scenarios where IT requirements allow or require the services deployed to be accessible to the public, over the internet. This simplifies the network connectivity requirements for the distributed system.
Microsoft Azure BaaS has effectively utilized the components of its existing Infrastructure As A Service to provide multiple topologies from Ethereum platform perspective. For example their multi node consortium template utilizes, Azure Virtual Net Gateway, Load Balancer, Network Security Group, Public IP Address , Storage Accounts coupled with base virtual machines to provide a fully working configuration. Existing Azure shops can easily adapt to this architecture as it is built using known components and easy to manage. The template also provides SSH key based authentication such that admins can login to any of the nodes, by appropriately identifying the port numbers and domain name of the load balancer. From a performance perspective, the templates provide options to choose the VM size and also storage performance options. Using powershell based interface, adding new members in to the network can be done by the administrators. However beyond Ethereum multi member configuration for other platforms like Hyperledger Fabric, Quorum are still in basic stages and will improve in the coming days.
IBM Bluemix BaaS provides a complete managed service for Hyperledger Fabric, making it fast and easy to build, run and govern business networks while ensuring high levels of security, privacy, and performance. The service enables the creation of blockchain business networks with ownership and control distributed across different organizations. New networks can be bootstrapped by setting up governance rules, inviting members, and configuring network policies. This topology also provides High availability for various nodes like, peers, ordering service, certificate authority.
Smart Contract Development:
Probably the biggest time consuming activity that will happen for Blockchain initiatives is about the design and development of smart contracts. First of all, the whole concept is new and the programming constructs that support smart contracts are still evolving and hence it is one area which requires lot of support from BaaS Providers.
Microsoft Azure BaaS provides the following support for smart contract development.
· Visual Studio extensions for development in Solidity Framework which support development of smart contracts for ethereum platform
· Nethereum is the .Net integration library for Ethereum, simplifying the access and smart contract interaction with ethereum nodes.
IBM Bluemix BaaS provides the following support for smart contract development.
· Hyperledger Fabric utilizes Chaincode for developing and deploying smart contracts
· Chaincode is initially implemented in Go programming language and subsequently available in Java also
· IBM provides, Hyperledger Fabric Client SDK APIs to interact with a blockchain network on Bluemix.
Blockchain as a service from cloud providers makes it easy for organizations to quickly create blockchain consortium networks and start developing and deploying smart contracts on top of them. In this context both IBM and Microsoft have taken major steps in promoting Blockchain for enterprises.
The following initiatives are some of the practical usage of both Microsoft and IBM blockchain as service and the associated technologies.
Post a Comment