A talk given at the Infrastructure Coders Meetup in Canberra May 2018.
This presentation gives an overview of the Hyperledger projects in general and some closer look at Hyperledger Fabric and how to deploy it to AWS.
Two deployment options are explored: AWS Blockchain Template and Hyperledger Cello Ansible Agent.
software engineering Chapter 5 System modeling.pptx
Hyperledger in AWS
1. Hyperledger Blockchain in AWS
Developing and deploying enterprise blockchain applications in AWS
Carsten Eckelmann, Director, 2pi Software
2.
3. Who uses Hyperledger?
● Deutsche Börse Group - Securities Trading
● Sony Global Education - Identity Management
● JP Morgan - Recommendation to Asset Managers
● IBM - Various research activities
Hyperledger is a Permissioned Blockchain!
4. Healthcare
Sharing patient data across organisations
Supply Chain
Tracking goods across supply chain.
Proof of provenance of goods.
Financial Services
Track and trade bonds and services.
5. Hyperledger Architecture
● Consensus Layer
● Smart Contract Layer
● Communication Layer
● Data Store abstraction
● Crypto Abstraction
● Identity Services
● Policy Services
● APIs
● Interop between blockchains
9. Deployment Options
● They are legion!
● Single server for development
● Test Network with distributed Peers and Solo Orderer
● Live Network with distributed Peers and Distributed Orderers
● Manually BM/VPS/Docker
● AWS Blockchain Template
● Cello Ansible scripts
10.
11. Preparation for AWS BT (HLF)
1. Prepare VPC, select public subnet
2. Prepare IAM Policy and Role for EC2 instance
3. Create Key Pair for SSH access
4. NOTE: only us-east-1, us-east-2 and us-west-2 supported!
5. Copy the S3 link address from documentation
12. AWS BT - Observations
● Region dependency
● Cloudformation depends on specialised AMIs
● Only Explorer installed, not Composer
● No access control on explorer
● No documentation on AWS on how to continue testing/development
● Single Instance only
● Uses EC2 instead of ECS for Docker containers
13.
14. Preparation for Cello - Ansible Agent
● Install Ansible on Linux (best to use Bastion Host)
● Prepare a VPC and subnet
● Create IAM account with Access Key and Secret
● Create Key Pair and hold on to keyfile!
● Be prepared for at least 3 medium sized instances to appear!
● Edit the ansible aws.yml config file
● Run the stages manually because the all-in-one is broken
15. Cello - Ansible Observations
● Allows for any region, VPC or subnet
● Allows configuration of organisational setup
● Has Composer setup, but not Explorer
● Documentation on Cello unclear how to proceed
● Unfortunately currently broken with manual workaround
16. Conclusion
● Young, complex and confusing
● Options overload
● Still too much manual handling
● Tooling is in its infancy
● Blockchain as a service is the next *aaS, but needs a lot of work
● BUT - Interesting and fun!