SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Docker in a Bitcoin broker infrastructure
Who Am I
Mathieu Buffenoir
Co-founder of SBEX & Digithink
VP Bitcoin Association Switzerland
@Mbuffenoir
mathieu@sbex.ch
SBEX
SBEX -> Swiss cryptocurrencies broker
(Competitors: coinbase, circle, coinjar, safello ...)
We exchange crypto for fiat (€, CHF)
We create services for our users to store and
send money all around the world cheaply and
instantly
Our services
Online bitcoin buying
Our new wallet, multisig
Our remittance project
BTM Network (4 in Switzerland)
Tech stack
Python Django / Celery
AngularJS
PhP
Postgres
RabbitMQ
Docker
Ansible
Follow the “Twelve factor” app recommendations.
In particular:
Scalable, Continuous integration -> Docker
Cloud (Paas) + Hosted in Switzerland -> Exoscale
Choices
For developers
Each repo contains:
● 1 Vagrantfile
● 1 Dockerfile
Benefits:
Same env for all devs, plateform independant
Easy onboarding
Using webhooks certains branches are
automatically build by docker hub
Environnments
● Prod – Exoscale
multiple instances running several containers,
firewall
● Staging – Exoscale
Production mirror
● Dev – Digital Ocean
One big server that hosts all containers
Docker-compose (ex fig)
Prod / Staging
Ansible - docker module:
Pulling containers from private hub
Creating configuration from templates
Starting container
http://docs.ansible.com/docker_module.html
1.Setup DockerHub automated build
2.Push code changes to github / bitbucket
3.DockerHub sees changes and pulls/builds the
image
4.DockerHub calls jenkins webhooks for image
5.DockerHUB module on Jenkins runs tests
Continuous integration
Continuous integration
Using docker compose to quickly create a new
test server
PB: no “docker exec” support in compose
https://github.com/docker/compose/issues/593
Interesting docker functionalities we are using
Persisting data using data volumes containers:
Basically it sends to a syslog server all the logs you would normally see in “docker logs”
Your software need to be configured to send logs to stderr/out (This can be tricky!)
Logspout
Logspout is a log router for Docker containers that runs inside Docker. It
attaches to all containers on a host, then routes their logs wherever you
want.
Install an ELK cluster in minutes
Start elasticsearch
docker run -d -p 9200:9200 -p 9300:9300 --name es
ehazlett/elasticsearch
Start Logstash
docker run -d --name logstash -p 5000:5000 -p
5000:5000/udp --link es:elasticsearch ehazlett/
logstash -f /etc/logstash.conf.sample
Start Kibana
docker run --name kibana -d -p 80:80 ehazlett/
kibana
How is it useful for our business model
We need a network of bitcoin broker around the
world to create a robust and cheap remittance
network
With docker and Paas solutions we can deploy in a
couple hours.
We will open source most of our code in the coming
months


(Making money by selling extra services, as KYC
and compliance tools)
Knows problems / new things to try
Ansible docker restart_policy new functionnality
logging driver in docker 1.6
devmapper issue in 1.5
Official docker images can be buggy
Signing / hash of docker images
Thanks to:
@sebgoa
Docker
Exoscale
Ansible
container42.com/
Questions ?
Docker img-no-disclosure

Contenu connexe

Tendances

Openstack meetup amsterdam (1)
Openstack meetup amsterdam (1)Openstack meetup amsterdam (1)
Openstack meetup amsterdam (1)
Pablo Sanchez
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
openstackindia
 

Tendances (20)

State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Cncf meetup kubespray
Cncf meetup kubesprayCncf meetup kubespray
Cncf meetup kubespray
 
DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana Release
 
AtlasCamp 2015: How to deliver radical architectural change without the custo...
AtlasCamp 2015: How to deliver radical architectural change without the custo...AtlasCamp 2015: How to deliver radical architectural change without the custo...
AtlasCamp 2015: How to deliver radical architectural change without the custo...
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storage
 
CoreOS Battle Stories
CoreOS Battle StoriesCoreOS Battle Stories
CoreOS Battle Stories
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
 
Disaster Recovery in oVirt
Disaster Recovery in oVirtDisaster Recovery in oVirt
Disaster Recovery in oVirt
 
Openstack meetup amsterdam (1)
Openstack meetup amsterdam (1)Openstack meetup amsterdam (1)
Openstack meetup amsterdam (1)
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
 
OpenDaylight OpenStack Integration
OpenDaylight OpenStack IntegrationOpenDaylight OpenStack Integration
OpenDaylight OpenStack Integration
 
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
 
Guts & OpenStack migration
Guts & OpenStack migrationGuts & OpenStack migration
Guts & OpenStack migration
 
Building Python Development Station
Building Python Development StationBuilding Python Development Station
Building Python Development Station
 
OpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 MumbaiOpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 Mumbai
 
oVirt – open your virtual datacenter
oVirt – open your virtual datacenteroVirt – open your virtual datacenter
oVirt – open your virtual datacenter
 
OpenStack on AArch64
OpenStack on AArch64OpenStack on AArch64
OpenStack on AArch64
 
Introduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore MeetupIntroduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore Meetup
 
oVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features OverviewoVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features Overview
 

En vedette (8)

Heroku
HerokuHeroku
Heroku
 
Software Architecture - What Does It Mean in Industry
Software Architecture - What Does It Mean in IndustrySoftware Architecture - What Does It Mean in Industry
Software Architecture - What Does It Mean in Industry
 
Spring batch
Spring batchSpring batch
Spring batch
 
Spring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring Batch
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Micro Services - Smaller is Better?
Micro Services - Smaller is Better?Micro Services - Smaller is Better?
Micro Services - Smaller is Better?
 
Monitoring Docker with ELK
Monitoring Docker with ELKMonitoring Docker with ELK
Monitoring Docker with ELK
 

Similaire à Docker img-no-disclosure

Docker intro
Docker introDocker intro
Docker intro
spiddy
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 

Similaire à Docker img-no-disclosure (20)

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Docker intro
Docker introDocker intro
Docker intro
 
Mini-Training: Docker
Mini-Training: DockerMini-Training: Docker
Mini-Training: Docker
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 
Docker and IBM Integration Bus
Docker and IBM Integration BusDocker and IBM Integration Bus
Docker and IBM Integration Bus
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
 

Dernier

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 

Dernier (20)

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 

Docker img-no-disclosure

  • 1. Docker in a Bitcoin broker infrastructure
  • 2. Who Am I Mathieu Buffenoir Co-founder of SBEX & Digithink VP Bitcoin Association Switzerland @Mbuffenoir mathieu@sbex.ch
  • 3. SBEX SBEX -> Swiss cryptocurrencies broker (Competitors: coinbase, circle, coinjar, safello ...) We exchange crypto for fiat (€, CHF) We create services for our users to store and send money all around the world cheaply and instantly
  • 4. Our services Online bitcoin buying Our new wallet, multisig Our remittance project BTM Network (4 in Switzerland)
  • 5. Tech stack Python Django / Celery AngularJS PhP Postgres RabbitMQ Docker Ansible
  • 6. Follow the “Twelve factor” app recommendations. In particular: Scalable, Continuous integration -> Docker Cloud (Paas) + Hosted in Switzerland -> Exoscale Choices
  • 7. For developers Each repo contains: ● 1 Vagrantfile ● 1 Dockerfile Benefits: Same env for all devs, plateform independant Easy onboarding Using webhooks certains branches are automatically build by docker hub
  • 8. Environnments ● Prod – Exoscale multiple instances running several containers, firewall ● Staging – Exoscale Production mirror ● Dev – Digital Ocean One big server that hosts all containers Docker-compose (ex fig)
  • 9. Prod / Staging Ansible - docker module: Pulling containers from private hub Creating configuration from templates Starting container http://docs.ansible.com/docker_module.html
  • 10.
  • 11.
  • 12. 1.Setup DockerHub automated build 2.Push code changes to github / bitbucket 3.DockerHub sees changes and pulls/builds the image 4.DockerHub calls jenkins webhooks for image 5.DockerHUB module on Jenkins runs tests Continuous integration
  • 14. Using docker compose to quickly create a new test server
  • 15.
  • 16. PB: no “docker exec” support in compose https://github.com/docker/compose/issues/593
  • 18. Persisting data using data volumes containers:
  • 19. Basically it sends to a syslog server all the logs you would normally see in “docker logs” Your software need to be configured to send logs to stderr/out (This can be tricky!) Logspout Logspout is a log router for Docker containers that runs inside Docker. It attaches to all containers on a host, then routes their logs wherever you want.
  • 20. Install an ELK cluster in minutes Start elasticsearch docker run -d -p 9200:9200 -p 9300:9300 --name es ehazlett/elasticsearch Start Logstash docker run -d --name logstash -p 5000:5000 -p 5000:5000/udp --link es:elasticsearch ehazlett/ logstash -f /etc/logstash.conf.sample Start Kibana docker run --name kibana -d -p 80:80 ehazlett/ kibana
  • 21. How is it useful for our business model We need a network of bitcoin broker around the world to create a robust and cheap remittance network With docker and Paas solutions we can deploy in a couple hours. We will open source most of our code in the coming months 
 (Making money by selling extra services, as KYC and compliance tools)
  • 22. Knows problems / new things to try Ansible docker restart_policy new functionnality logging driver in docker 1.6 devmapper issue in 1.5 Official docker images can be buggy Signing / hash of docker images