Orchestraing the Blockchain Using Containers
-
Upload
andrew-kennedy -
Category
Technology
-
view
252 -
download
0
Transcript of Orchestraing the Blockchain Using Containers
![Page 1: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/1.jpg)
Orchestrating the Blockchain with Containers
Cloudsoft Clocker 2.0 and Hyperledger
Andrew Kennedy ContainerCon Europe, October 2016
![Page 2: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/2.jpg)
Agenda
Clocker 2.0 and Cloudsoft AMP• Application Management• Docker Swarm and Kubernetes• Container Management
Hyperledger and Blockchain• Blockchain Introduction• Hyperledger• Demo
@grkvlt
![Page 3: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/3.jpg)
Cloudsoft AMP
@grkvlt
![Page 4: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/4.jpg)
Problem Solving
Large and Complex Ecosystem
Fast-moving Updates
Complex Deployments
Inconsistent Documentation
Lack of Runtime Management
@grkvlt
![Page 5: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/5.jpg)
What Does AMP Do?
MODEL DEPLOY MANAGE
INSTANTIATE SENSE EFFECT
Capture Best Practices Dynamic Live Model Maintain SLAs
My Model
Apache Tomcat
MySQL
Load Balancer
@grkvlt
![Page 6: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/6.jpg)
AMP – Infrastructure Agnostic
Physical Virtual Local – Private -Dedicated
Public
@grkvlt
![Page 7: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/7.jpg)
Application Management
Runtime management of deployed applications.
Policies use application-specific metrics such as latency or transactions per second, averaged across groups of services to give
meaningful results.
Operations like scaling, failover and service monitoring can be added to any application blueprint using these policies.
@grkvlt
![Page 8: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/8.jpg)
Enterprise Problem Solving
Need reliable cloud-native application patterns to be competitive
Management is tied to infra layer with manual or missing processes for applications and services, causing risk and hindering
adoption
Increasingly diverse platforms & infrastructure mean applications are hard to track, increasing the cost & risk of digital transformation
@grkvlt
![Page 9: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/9.jpg)
Container Services
Deploy and manage Docker Swarm clusters and Kubernetesclusters. Production-ready infrastructure with TLS, high-availability
and extensions like Flannel, Calico and Canal for networking.
Can also connect to existing infrastructure provisioned and managed externally, by specifying appropriate API endpoints.
Containerize applications by simply deploying blueprints to container-aware locations or build hybrid applications from virtual
machines, containers and pods.
@grkvlt
![Page 10: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/10.jpg)
Clocker 2.0
@grkvlt
![Page 11: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/11.jpg)
Clocker 2.0
Series of open-source blueprints for Swarm and Kubernetes.
Simplifies creation of managed deployments, ready for immediate deployment of containerized applications.
Reusable component library to enable creation of applications incorporating Docker and Kubernetes.
With Cloudsoft AMP allows seamless deployment to these infrastructures.
@grkvlt
![Page 12: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/12.jpg)
Docker Swarm Blueprint
services:- type: docker-swarm
id: swarmname: "swarm"brooklyn.config:
start.timeout: 30mswarm.initial.size: 8swarm.max.size: 16swarm.manager.size: 3etcd.initial.size: 3swarm.defaultnetwork: "swarm"swarm.scaling.cpu.limit: 0.80swarm.strategy: "binpack"swarm.overcommit: 0.50
@grkvlt
![Page 13: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/13.jpg)
Swarm Architecture
@grkvlt
![Page 14: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/14.jpg)
![Page 15: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/15.jpg)
Kubernetes Blueprint
services:- type: kubernetes-cluster-application
id: kubernetesname: "kubernetes"brooklyn.config:
kubernetes.debug: truekubernetes.version: 1.4.0start.timeout: 30mkubernetes.master.size: 2kubernetes.initial.size: 4kubernetes.max.size: 16etcd.initial.size: 3kubernetes.scaling.cpu.limit: 0.95flannel.network: 10.254.0.0/16
@grkvlt
![Page 16: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/16.jpg)
Kubernetes Architecture
@grkvlt
![Page 17: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/17.jpg)
Kubernetes Pod Blueprint
location:kubernetes:
endpoint: "https://192.168.99.100:8443/"
services:- type: io.cloudsoft.amp.container.kubernetes.entity.KubernetesPod
brooklyn.children:- type: io.cloudsoft.amp.containerservice.dockercontainer.DockerContainer
id: wordpress-mysqlname: MySQLbrooklyn.config:
docker.container.imageName: mysql:5.6docker.container.inboundPorts: [ "3306" ]env: { MYSQL_ROOT_PASSWORD: "password" }provisioning.properties:
kubernetes.deployment: wordpress-mysql- type: io.cloudsoft.amp.containerservice.dockercontainer.DockerContainer
id: wordpressname: Wordpress
brooklyn.config:docker.container.imageName: wordpress:4.4-apachedocker.container.inboundPorts: [ "80" ]env: { WORDPRESS_DB_HOST: "wordpress-mysql", WORDPRESS_DB_PASSWORD: "password" }
@grkvlt
![Page 18: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/18.jpg)
Kubernetes Demo
@grkvlt
![Page 19: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/19.jpg)
![Page 20: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/20.jpg)
Hyperledger and Blockchain
@grkvlt
![Page 21: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/21.jpg)
Blockchain
"Blockchain is a technology for a new generation of transactional applications that establishes trust, accountability and transparency while streamlining business processes."
Or...
"Blockchain is a distributed, cryptographically secure ledger of transactions."
@grkvlt
![Page 22: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/22.jpg)
Blockchain Overview
@grkvlt
![Page 23: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/23.jpg)
Blockchain Overview
@grkvlt
![Page 24: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/24.jpg)
Blockchain Overview
@grkvlt
![Page 25: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/25.jpg)
Hyperledger Fabric
The Hyperledger Project is a collaborative effort created to advance blockchaintechnology 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.
@grkvlt
![Page 26: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/26.jpg)
Hyperledger Fabric
• Open Source
• Originally IBM Blockchain
• Graduated to become first Hyperledger Foundation incubator project
• Linux Foundation Collaboration
@grkvlt
![Page 27: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/27.jpg)
![Page 28: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/28.jpg)
• Identity• Privacy• Confidentiality• Auditability
Hyperledger Fabric
@grkvlt
![Page 29: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/29.jpg)
Hyperledger Application
The Hyperledger Application Fabric is a group of Clusters of Docker Engines spread across different regions, giving a global
deployment that can be easily scaled and extended.
Hyperledger components are Docker containers providing Blockchain services.
@grkvlt
![Page 30: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/30.jpg)
Hyperledger Blueprint
@grkvlt
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
...
![Page 31: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/31.jpg)
Hyperledger Application
We will demonstrate an asset management chaincodeapplication that spins up a non-validating peer in a Docker container, deploys the chaincode onto the validating peer
cluster and then performs the following transactions:
1. Assigns an asset to Alice2. Transfers to Bob and verifies ownership3. Transfers to Charlie and verifies ownership4. Transfers to Dave and verifies ownership
@grkvlt
![Page 32: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/32.jpg)
Hyperledger Demo
@grkvlt
![Page 33: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/33.jpg)
AMP 4
Velocity
@grkvlt
ConsistencyControl
Grow effortlessly and Scale and dynamically with workloads
Common management tooling across all applications from pets to cattle
Agnostic so you can combine bare metal, virtual machines and containers
Simple and consistent management view of applications
![Page 34: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/34.jpg)
Resources
http://www.cloudsoft.io/ondemand-distributed-hyperledger-fabric-cluster-with-cloudsoft-amp
http://www.cloudsoft.io/blog/open-source-container-blueprints
https://www.hyperledger.org/
https://github.com/cloudsoft/brooklyn-hyperledger/
https://github.com/brooklyncentral/clocker/
http://clocker.io/
@grkvlt
![Page 35: Orchestraing the Blockchain Using Containers](https://reader033.fdocuments.us/reader033/viewer/2022052706/586f859f1a28ab54768b516d/html5/thumbnails/35.jpg)
Questions?
http://clocker.io/