Showing posts with label Azure. Show all posts
Showing posts with label Azure. Show all posts

Tuesday, September 5, 2017

Azure BaaS - HyperLedger Fabric Installation Issues...

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.
  • 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.

See  the output  of Docker  from  each of the  nodes,  it  is better  to close the next steps  with proper documentation  from  Microsoft  side.

Monday, September 4, 2017

Blockchain And BOT Framework - Azure Perspective


Smart Contracts Will Redefine B2B Interactions:   Over the   years  agility  of  the  businesses  have  been  highly  affected  by  lack  of  trust  and  transparency,  and  lot  of  time  is  wasted  on  intermediary  validation  and  transfer  of  data  between  parties.  However  Smart Contracts  enabled  by  blockchain  technology  making  strides  to  solve  this  issue  for  enterprises.  Blockchain  enables   direct  communication  between  business   stake holders ,  its  underlying  security  features  ensure  that the business  transactions  can  never  be   tampered  with,   and  each  stakeholder sees a  Single Version Of Truth.

Some  of  the  important  aspects  of  Smart  Contract  being

·         They  are  written  in Computer  Languages   rather  than  Legal Languages,  which means  most  operations, decisions, outputs  are  Boolean  (either  Yes  or  No)  and  no  room  of  ambiguity  which is  typical  in  manually  written  legal  contracts .

·         Fully  automation  driven,  which  means  the   contract  terms  and  conditions  are  enforced  automatically  when the desired  condition  met  and no need for manual  interaction. This provides  agility  and  prevents  fraud.

·         With  the  concepts  like Digital  Twins,  Digital  Sharing Concepts,  assets  that the businesses operating  are  converted  to  Digital  assets  and  Smart  Contracts  provide  best  options to integrate  Digital  Assets  with  Business Process Flows.

·         Smart contracts  also  solve  typical  IT  problems  in  maintaining  the  SOR (System  of  Record), which  are  typically  ,

o   ETL  (Extraction, Transaction  and  Loading)  :  A  data  transfer mechanism  to   send  transactions  records  from  one  system  to another  system  within the organization.

o   ESB/Gateways  (Enterprise  Service Bus) :  A transfer  mechanism  to  send  transactions  from  one  enterprise  to another  enterprise.

o   Backup/High Availability/Disaster Recovery :  Mechanisms  to  ensure  that  the businesses  continue  to  run  without  disruption,  even  if  the  contract  information is lost  due to human  or  system  failures.

·         With  their  concepts  like  Peer  to  Peer  networking,   Near  Real  time   Replication,  Smart contracts  also  solve  much  of  the  typical  IT  issues  mentioned  above.

Smart Contract  Market Place:  In future  we  may  see  certain  solution  providers  creating  standard  smart  contracts  that  solve   typical  business  to business  transactions.  These  could  be  smart  contracts for  purchase  order, vendor  quality  checks,  payment  advice, bank  transactions  and  more.  Organizations  can  use  the  industry  standard  pre  built  smart contracts  as a  base  and  make  modifications  as  per  their  needs.

Smart Contract  From  the Eyes  Of Legal  And Finance People:  As  smart  contracts  become  main stream,  the biggest  consumers  will  be  non  technical   people  like  those  in finance , legal and other departments  out side  of IT.  Now  with   the  existing   paper  based  contracts  which are in  natural  languages  like English,  are  being  converted  to  programming  lanaguges,  these  set of people  definitely  require  more  help  from the  system  for  them  to  understand   smart contracts and to act  on  them.  With the possibility  that  smart  contracts  may  be   obtained  from  market  place  and  not  written  by  participating  organization,  it  is  even  more  important  that   these  Smart Contracts  are  smart  enough  to  provide  enough meta data  to identify  them  selves ,  and  how  a  non  technical person  can  interact  and  act  on  them.

BOT Framework :  As  the  innovation  happen  in the  backend  technologies   like  Blockchain,  the  user interface also  transformed  to a  great  extent. From  a  traditional    Request/Response  model  the  user interfaces  have  moved  to “Conversational  User Interface”,   where  by  the  application  interacts with the  user  in a  conversational  way.  Apart  from  building  applications  that  uses  rule  based pattern matching  techniques,  BOT  framework  can  be  built  using  advanced  natural  language understanding  and  other  cognitive  techniques  to  make  it  highly  user  friendly,  and  infact   replace the needs  of  a  human  intrepretor.

By  building  a  BOT  Framework  interface     for  Smart   Contracts,   non  technical  users  like  Attorneys, Certified  Public Accountants,  Finance  Professionals, Government  personnel  all  can  easily understand a  smart  contract  and  act on them.

There  are  some  articles   written  about  Blockchain  which  provides  a  point  of  view  that  Smart Contracts  will  replace  lawyers, Accountants.  But  in  real  life,   Smart  Contracts  will  make their functions more  efficient  and  transparent  and  BOT  Framework  could  act  as a  much  needed interface   between  the  technological aspects of  Blockchain  and  legal  needs  of  humans. In other words BOT Framework  will  compliment  the  stake holders  in understanding the  smart contracts better.

Azure  as  a  leading  Intelligent Cloud  Platform  provides   both   Blockchain  as  a  Service  as   BOT  Framework  to  enable  organizations  to  think  of  integrated  applications   on  both  Blockchain and BOT  framework.

Microsoft  BOT Framework:    BOT  Framework  enables  organizations  to  build  conversational  applications  using  multiple  programming  languages.  The  following  are  the  salient  features  of BOT  Framework.

·         BOT  Builder SDK  enables  developer   productivity  with  integration  with  IDE  and provide  easy to start  templates  that  gives  the  basic  flow  for building  BOTs.

·         BOT  Portal  enables  developers  to  register their  BOTs  and  enable  them  to  be    discovered and consumed  from  client  applications

·         BOT  framework SDK  facilitates  multiple  kinds of  interaction  like   Form  based,  Question & Answer based,  Voice   based  (using Cortana)  and  Natural Language  Understanding  based.

·         Multi  Channel  enablement  helps  the  published  BOTs  to  interact  with end user  using  multiple different  options. The  most  popular  channels  being ,  email, skype, sms, slack, facebook and  Directline for mobile   applications.

·         Developed  BOTS  can  be  deployed  into  Azure  platform  to  make  them  work  across  multiple  consumers.

Azure Blockchain As A Service:    On  the  other  side  of  the  spectrum,  Azure  provides  Blockchain as  Service,  which  helps  organizations  to  build  private  consortium networks  using   Azure enabled  infrastructure  components.  Azure  BaaS  supports  most  of  the  leading  blockchain  platforms like,  Ethereum, Quorum, R3, Hyperledger.  The  service  provides  complete  network  components  for  building  the  initial   leader  and other members. It  also  provides  easy to use scripts  for adding  new members  to the   blockchain  consortium. These  features  makes  Azure  BaaS  as a  easy  platform for building  production  grade  private consortium  blockchain networks.

Benefits  Of  Integrating  Blockchain  With BOT Framework:   

·         Blockchain   networks    promote  trust  and  transparency  and  hence  humans  play  a  major  role  in its  success,  which means  any  attempts  to  fully engage humans in a  conversational and innovative  ways  will  help their success

·         Major  consumers  of  Blockchain  will  be   non  technical  people  and  there  has to be  universal  attempts  to  describe  the  metadata  behind   smart  contracts  and  let these users to make  best  use of  them.  Writing  custom   user  interface  will  slow  down the adoption  as well  as  the  users  less  interesting.

·         With the  concept  of   market place  for smart contracts  and  third  party  smart contracts, a  particular  organization  may  not  have any one  technical  enough  to  explain a  smart contract and  a  generic  BOT  framework  based  conversational  user  interface will help with quick adoption

·         Combined  with  other   deep  learning  techniques  like  Vision API, Facial  API, Voice API,  Natural Language  Understanding  these  BOTS  can  provide  value  added  services on top of Smart Contracts  by  ensuring  that  correct  persons  execute  them  and  correct  actions are taken.