orchestraing the blockchain using containers

35
Orchestrating the Blockchain with Containers Cloudsoft Clocker 2.0 and Hyperledger Andrew Kennedy ContainerCon Europe, October 2016

Upload: andrew-kennedy

Post on 16-Apr-2017

252 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Orchestraing the Blockchain Using Containers

Orchestrating the Blockchain with Containers

Cloudsoft Clocker 2.0 and Hyperledger

Andrew Kennedy ContainerCon Europe, October 2016

Page 2: Orchestraing the Blockchain Using Containers

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

Cloudsoft AMP

@grkvlt

Page 4: Orchestraing the Blockchain Using Containers

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

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

AMP – Infrastructure Agnostic

Physical Virtual Local – Private -Dedicated

Public

@grkvlt

Page 7: Orchestraing the Blockchain Using Containers

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

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

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

Clocker 2.0

@grkvlt

Page 11: Orchestraing the Blockchain Using Containers

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

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

Swarm Architecture

@grkvlt

Page 14: Orchestraing the Blockchain Using Containers
Page 15: Orchestraing the Blockchain Using Containers

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

Kubernetes Architecture

@grkvlt

Page 17: Orchestraing the Blockchain Using Containers

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

Kubernetes Demo

@grkvlt

Page 19: Orchestraing the Blockchain Using Containers
Page 20: Orchestraing the Blockchain Using Containers

Hyperledger and Blockchain

@grkvlt

Page 21: Orchestraing the Blockchain Using Containers

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

Blockchain Overview

@grkvlt

Page 23: Orchestraing the Blockchain Using Containers

Blockchain Overview

@grkvlt

Page 24: Orchestraing the Blockchain Using Containers

Blockchain Overview

@grkvlt

Page 25: Orchestraing the Blockchain Using Containers

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

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
Page 28: Orchestraing the Blockchain Using Containers

• Identity• Privacy• Confidentiality• Auditability

Hyperledger Fabric

@grkvlt

Page 29: Orchestraing the Blockchain Using Containers

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

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

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

Hyperledger Demo

@grkvlt

Page 33: Orchestraing the Blockchain Using Containers

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

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

Questions?

http://clocker.io/