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.
Blockchain Topology:
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.
Summary:
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.
No comments:
Post a Comment