orchestraing the blockchain using containers
TRANSCRIPT
Orchestrating the Blockchain with Containers
Cloudsoft Clocker 2.0 and Hyperledger
Andrew Kennedy ContainerCon Europe, October 2016
Agenda
Clocker 2.0 and Cloudsoft AMP• Application Management• Docker Swarm and Kubernetes• Container Management
Hyperledger and Blockchain• Blockchain Introduction• Hyperledger• Demo
@grkvlt
Cloudsoft AMP
@grkvlt
Problem Solving
Large and Complex Ecosystem
Fast-moving Updates
Complex Deployments
Inconsistent Documentation
Lack of Runtime Management
@grkvlt
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
AMP – Infrastructure Agnostic
Physical Virtual Local – Private -Dedicated
Public
@grkvlt
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
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
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
Clocker 2.0
@grkvlt
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
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
Swarm Architecture
@grkvlt
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
Kubernetes Architecture
@grkvlt
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
Kubernetes Demo
@grkvlt
Hyperledger and Blockchain
@grkvlt
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
Blockchain Overview
@grkvlt
Blockchain Overview
@grkvlt
Blockchain Overview
@grkvlt
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
Hyperledger Fabric
• Open Source
• Originally IBM Blockchain
• Graduated to become first Hyperledger Foundation incubator project
• Linux Foundation Collaboration
@grkvlt
• Identity• Privacy• Confidentiality• Auditability
Hyperledger Fabric
@grkvlt
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
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
...
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
Hyperledger Demo
@grkvlt
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
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
Questions?
http://clocker.io/