SlideShare a Scribd company logo
Docker and Pharo
@
We are…
Pierre Chanson
Marcus Denker
Norbert Hartl
• Founded in 2009 (10 Year party next year!)

• 13 people in Cologne (Germany) and Ho Chi Minh City
(Vietnam)

• iPhone, Android, Web, Backend. Pharo!

• You might know the german Call A Bike or Flinkster Car
Sharing.
This presentation
• Server infrastructure

• Application deployment, Monitoring

• Workflow: following one commit step-by-step
The project
• Big project: mobility service for Airbus

• Need for scale: +10k users in a few hours timeframe

• Need not to be killed by complexity
API
message
queue
cars
bikes
cars
trains
buses
API
Micro services
Iceberg Jenkins
Docker HubDocker Swarm
db
Pharo Pharo Pharo
Pharo Pharo
Pharo Pharo
Regular day of coding at the office…
Regular day of coding at the office…
self flag: #bob
true become: false
Regular day of coding at the office…
Gotta show this to my boss !
self flag: #bob
true become: false
Regular day of coding at the office…
How ???
Gotta show this to my boss !
self flag: #bob
true become: false
Iceberg Jenkins
Docker HubDocker Swarm
db
Pharo Pharo Pharo
Pharo Pharo
Pharo Pharo
Git commit
Git push
Pull request
Review…
“Good job” merge
Iceberg Jenkins
Docker HubDocker Swarm
db
Pharo Pharo Pharo
Pharo Pharo
Pharo Pharo
Wassup ? (every 10 mins)
Alright, pull

run tests

docker …
What is Docker?
• Think about it as a Smalltalk image, but for Linux

• Docker Image is build from a description (Dockerfile)

• Then we can run it (once or multiple times)
Wassup ? (every 10 mins)
Alright, pull

run tests

docker-compose build
docker-compose push
Iceberg Jenkins
Docker HubDocker Swarm
db
Pharo Pharo Pharo
Pharo Pharo
Pharo Pharo
Iceberg Jenkins
Docker HubDocker Swarm
db
Pharo Pharo Pharo
Pharo Pharo
Pharo Pharo
Ansible: Orchestration
• We need to start lots of stuff (Pharo, Webserver,
MessageQueue, Database…)

• Ansible is a way to script typical unix admin things

• Both used to setup the Linux machines and to start
Docker
ansible-playbook -i myInventory myYml.yml
(there is nothing worse than yaml!)
Iceberg Jenkins
Docker HubDocker Swarm
DB
Docker: Swarm
• We want to run on multiple machines

• Swarm allows to run “services” which scale to multiple
docker containers

• Manages Distribution, restart…
Iceberg Jenkins
Docker HubDocker Swarm
DB
Monitoring
• Lots of machines (virtual and real)

• Lot of different software (database, web, message queue,
lots Pharo images)

• How do we look at it?
Monitoring
• Grafana 

• Dashboard

• Alarms: Get Notifications via Mail and in Slack

• Docker images provide data via REST API

• Pharo GC, Zinc Requests
internet
API
message
queue
web client
load balancer
bikes
DB
cars
DB
trains
DB
buses
DB
API
DB
load balancer
Physical servers
API
DB DB DB
bikes
bikes
cars
carsbuses
trains
buses
API
And that x 3
• We have 3 Swarms: 

• Alpha (development)

• Beta (testing)

• Production

• And you can run the whole setup on your laptop, too!
+100 Pharo images overall in
our cluster
Much more…
Pharo Library for Docker Swarm (work in progress)
Much more…
• Lots of in-house libs

• Visualise Docker Swarm with Roassal (first work)

• Docker Health Check from Pharo

• Server for and Pharo app for Fuel Stack Traces

• DockerEngine + OpenAPI
Tell us what you want to see at the Show Us Your Project !

More Related Content

What's hot

Deployment on Heroku
Deployment on HerokuDeployment on Heroku
Deployment on Heroku
Stoyan Zhekov
 
KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
2600Hz
 

What's hot (20)

Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 2015Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 2015
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
 
Raspberry and Pharo
Raspberry and PharoRaspberry and Pharo
Raspberry and Pharo
 
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
 
Ops for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless AppsOps for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless Apps
 
Going Serverless: The Best Ops is NoOps.
Going Serverless: The Best Ops is NoOps.Going Serverless: The Best Ops is NoOps.
Going Serverless: The Best Ops is NoOps.
 
Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe
 
KazooCon 2014 - Introduction to Kazoo APIs!
KazooCon 2014 - Introduction to Kazoo APIs!KazooCon 2014 - Introduction to Kazoo APIs!
KazooCon 2014 - Introduction to Kazoo APIs!
 
Start you journey with Kubernetes
Start you journey with KubernetesStart you journey with Kubernetes
Start you journey with Kubernetes
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC
 
Wake Up
Wake UpWake Up
Wake Up
 
App::RemoteCommand
App::RemoteCommandApp::RemoteCommand
App::RemoteCommand
 
Deployment on Heroku
Deployment on HerokuDeployment on Heroku
Deployment on Heroku
 
Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-cluster
 
"fireap" - fast task runner on consul
"fireap" - fast task runner on consul"fireap" - fast task runner on consul
"fireap" - fast task runner on consul
 
2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA
 
grifork - fast propagative task runner -
grifork - fast propagative task runner -grifork - fast propagative task runner -
grifork - fast propagative task runner -
 
Gotchas using Terraform in a secure delivery pipeline
Gotchas using Terraform in a secure delivery pipelineGotchas using Terraform in a secure delivery pipeline
Gotchas using Terraform in a secure delivery pipeline
 
KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
 
2600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 20142600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 2014
 

Similar to Docker and Pharo @ZWEIDENKER

Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Make your Cloud Applications Function for real – A Complete Overview of Oracl...Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Lucas Jellema
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
dotCloud
 

Similar to Docker and Pharo @ZWEIDENKER (20)

Beyond Heroku: Hosting Your Rails App Yourself
Beyond Heroku: Hosting Your Rails App YourselfBeyond Heroku: Hosting Your Rails App Yourself
Beyond Heroku: Hosting Your Rails App Yourself
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Make your Cloud Applications Function for real – A Complete Overview of Oracl...Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Make your Cloud Applications Function for real – A Complete Overview of Oracl...
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
 
Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...Docker, how to use it. organize a meeting with IBM products...
Docker, how to use it. organize a meeting with IBM products...
 
Web APIs: The future of software
Web APIs: The future of softwareWeb APIs: The future of software
Web APIs: The future of software
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Txjs
TxjsTxjs
Txjs
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
 
Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with Docker
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Welcome to CloudLand - DevOps Seattle Feb 2020
Welcome to CloudLand - DevOps Seattle Feb 2020Welcome to CloudLand - DevOps Seattle Feb 2020
Welcome to CloudLand - DevOps Seattle Feb 2020
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile Applications
 

Recently uploaded

Recently uploaded (20)

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Docker and Pharo @ZWEIDENKER