Wednesday, September 6, 2017

IoT and Blockchain - Azure Product Mapping

Digital Platforms Take Center Stage:    Recently Gartner released document titled “Hype Cycle For Emerging Technologies".   If you  read  the  document  it  talks  about  emergence  of  Digital Platforms.  While there  are  multiple  platforms as part  of Digital Platforms like, Quantum Computing, 5G, Edge Computing etc..  it  is  the   Internet  of  Things  and  Blockchain   are  the  most  important  digital platforms  that  will be of value  for  enterprises.

Azure  provides  Digital  Platform  Services  on   both  of  them:
  • Azure  Blockchain As A Service  for  enabling  Blockchain  based  solutions
  • Azure  IoT  Suite  of Services  for  enabling  IoT  solutions.
The  following  will  be  small  case  study  on  how  IoT  and  Blockchain  can  be integrated  from Azure Digital Platform perspective.


  • Adventure Works  an imaginary   organization,  has  created  a  blockchain  network  for  all their vendors  who will sell  products to them (i.e Adventure Works)
  • Adventure Works creates  the  initial  Smart Contract  in to the block chain network  which is a Purchase Order  for a specific  vendor.
  • The Smart Contract  will  be  with the initial  status  of  "Ordered"
  • The  Smart Contract  will  have  the  address  of  the  Vendor  (the receiver)  and  only  the  specified  vendor  can  open the smart contract
  • The Vendor  after  seeing the  purchase order  ,  will  ship the  item  and  set the status  to "Shipped"
  • Adventure Works  will  receive the  product  into their  warehouse
  • The  IoT  Device   will  trigger  a  Azure  IoT  API  Call
  • The  back end  Web Job  will  update the Smart Contract with the status  of "Received"
  • The  Smart Contract  will  release the payment  to  vendor.
Solution Architecture:

Azure Services Used In the Solution :

  • Azure Iot Hub : Azure IoT Hub is a fully managed service that enables reliable and secure bidirectional communications between millions of IoT devices and a solution back end.
  • Azure Web App:  In App Service, a web app is the compute resources that Azure provides for hosting a website or web application.
  • Azure Mobile App: Mobile Apps leverages the functionality of Azure App Service to add sign-in, push notifications, and data sync to your mobile app. Connect your app to enterprise systems and on-premises resources.
  • Azure Storage Queue: Azure Queue storage provides cloud messaging between application components.Queue storage delivers asynchronous messaging for communication between application components, whether they are running in the cloud, on the desktop, on an on-premises server, or on a mobile device.
  • Azure Web Jobs: WebJobs is a feature of Azure App Service that enables  to run a program or script in the same context as a web app.  Webjobs can be programmed  to  trigger a function when  a  new message  is  received  in Azure Storage Queue.  In this case  the new message is triggered  when  the  IoT  Client  scans  a new  product into the warehouse.
  • Azure Blockchain As A Service:   BaaS  provides  the  underlying  infrastructure  for  running blockchain  network  using  various  protocols.
In  the  above  solution  Azure Web Jobs  is used,  as  the  code  to  interact  with the  Blockchain Network has to be robust  and may  require multiple libraries to do various  functions. However it could  be  replaced  with other  Azure components  like   Azure Functions, Azure Event Grid.

The  above   scenario  is  a  simple  view of a  use case where the blockchain  and  IoT  can be integrated. I will share  some of  the  code snippets  of  various  components  involved  in the coming days.

1 comment:

  1. "• Nice and good article. It is very useful for me to learn and understand easily. Thanks for sharing your valuable information and time. Please keep updating IOT Online Training