Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Blockchain Applications with Hyperledg...

Managing Blockchain Applications with Hyperledger and Docker on Cloudsoft AMP

DockerCon 2016 Community Theater, June 2016 with Mike Zaccardo

Andrew Kennedy

June 21, 2016
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Hyperledger and Blockchain Overview Blockchain Hyperledger Agenda AMP Container Service

    Applications Management Containers Managing Blockchain Applications Blueprints Live* Demo
  2. For the “business guys”: Blockchain is a technology for a

    new generation of transactional applications that establishes trust, accountability and transparency while streamlining business processes. Blockchain Overview
  3. For the rest of us? Blockchain is a distributed, cryptographically

    secure ledger of transactions. Blockchain Overview
  4. The Hyperledger Project is a collaborative effort created to advance

    blockchain technology by identifying and addressing important features for a cross-industry open standard for distributed ledgers that can transform the way business transactions are conducted globally. Hyperledger Fabric
  5. • Open source • Originally IBM Open Blockchain • Graduated

    to become the Hyperledger Foundation’s first incubation project • Linux Foundation Collaborate Project Hyperledger Fabric
  6. Cloudsoft Application Management Platform allows deployment and runtime management of

    applications. • Describe Application • Deploy to Location • Retrieve Sensor Data • Execute Effectors • Trigger Policies Cloudsoft AMP
  7. Not just containers, but a wide range of entity types

    that can be composed into a single Hybrid application, and deployed to supported locations. • Virtual Machines • Public and Private Clouds • Bare Metal • Containers • Docker Swarm Application Definition
  8. Runtime management of deployed applications. Policies use application- specific metrics

    such as latency or transactions per second, averaged across groups of processes to give meaningful results. • Scaling • Failover • Resilience Application Management
  9. Infrastructure management of your Docker clusters or Swarm clusters. Can

    also use existing endpoints, managed externally. • Docker Swarm Components • Docker Engine • TLS Configuration • Discovery Cluster • SDN Plugins • ...? Docker Management
  10. Run Docker commands the same as on the command line.

    Build up your application from small, tested components. Blueprints are extensible, with a large library of templates and entities available, from Brooklyn specific to Docker Hub provided images. Docker Applications
  11. The Hyperledger Application Fabric is a group of Clusters of

    Docker Engines on VMs in locations spread across different regions, giving a global deployment that can be easily scaled and extended. Individual Hyperledger components are Docker containers running on the VMs, providing the Blockchain services. Hyperledger Application
  12. locations: - sjc-cloud - lon-cloud - sng-cloud services: - type:

    hyperledger-fabric name: Hyperledger Fabric Cluster brooklyn.config: hyperledger.peers.per.location: 4 hyperledger.app.timeout: 200 ... Hyperledger Blueprint
  13. Hyperledger Demo We will demonstrate an asset management chaincode application

    that performs the following functions: • Spin up a non-validating peer in a Docker container • Deploy the chaincode onto the validating peer cluster • Assign an asset “Picasso” to “Alice” • Transfer “Picasso” to “Bob” and verify his ownership • Transfer “Picasso” to “Charlie” and verify his ownership • Transfer “Picasso” to “Dave” and verify his ownership
  14. Hyperledger Demo docker run --name=$HYPERLEDGER_PEER_ID \ --restart=unless-stopped \ -i \

    -p 5000:5000 \ -p 30303:30303 \ -p 30304:30304 \ -p 31315:31315 \ -e CORE_VM_ENDPOINT=http://$HOST_ADDRESS:4243 \ -e CORE_PEER_ID=$HYPERLEDGER_PEER_ID \ -e CORE_PEER_DISCOVERY_ROOTNODE=$ROOT_NODE:30303 \ ...
  15. “We have elected to put our money and faith in

    a mathematical framework that is free of politics and human error.” — Tyler Winklevoss