SlideShare une entreprise Scribd logo
1  sur  118
Télécharger pour lire hors ligne
ROME 27-28 march 2015
Alessandro Cinelli (cirpo)
Apt-get no more
let Vagrant, Puppet and Docker
take the stage
“it works on my
machine”
Title
subtitle
“Everything
is written in the
README”
“Everything
is written in the wiki”
Title
subtitle
“oh shit, I forgot to
update XYZ”
Title
subtitle
“cool this opensource
project on github…
how can I run it?”
“I don’t f*#c?ing care
about the platform,
I want to build
something cool
NOW!”
SOLUTIONS?
REMOTE
MACHINES
https://www.flickr.com/photos/mysterybee/1659329016
VIRTUAL
MACHINES
BUT VIRTUAL MACHINES COULD BE
HUUUUUUGE
enter
“Create and configure lightweight,
reproducible, and portable development
environments.”
YOU CAN HAVE A VM WITH FEW Kbs
download and install vagrant
download and install vagrant
create a Vagrantfile
download and install vagrant
create a Vagrantfile
run “vagrant up”
download and install vagrant
create a Vagrantfile
run “vagrant up”
enjoy
VagrantFile
VagrantFile
vm box name
VagrantFile
base box url
vm box name
VagrantFile
base box url
vm box name
vm ip
VagrantFile
base box url
vm box name
vm ipshared folder
VagrantFile
base box url
vm box name
vm ipshared folder
vm ram
VagrantFile
base box url
vm box name
vm ipshared folder
vm ram
vm #cpus
BOXES
BOXES
AUTOMATE
SETUP
PROCESS
(PROVISIONING)
PROVISIONERS
VM
$ vagrant up
provisioners
$ ssh
thanks Rohit Dantas
https://github.com/joindin/joindin-vm
how to automate the
provisioning?
X
IF THE STACK DOESN’T CHANGE
TOO MUCH
JUST PROVIDE A READY MADE
VM MACHINE…
THE PROVISIONER WILL ONLY
CHANGE CONFIG FILES
BUILD A NEW MACHINE IF
YOU HAVE TO UPGRADE/ADD
A SERVICE
“Operating-system-level virtualisation is a
virtualisation method where the kernel of an
operating system allows for multiple isolated
user space instances, instead of just one.
Such instances, often called CONTAINERS, or
jails, may look and feel like a real server from
the point of view of its owners and users.”
http://en.wikipedia.org/wiki/Docker_%28software%29
lego
ONE CONTAINER
=
ONE COMMAND
DIFFERENCE BETWEEN A VM AND DOCKER
HOST OS
GUEST
OS
HYPERVISOR
BIN/
LIBS
APP A
APP C
APP B
GUEST
OS
BIN/
LIBS
APP Z
APP H
APP B
GUEST
OS
BIN/
LIBS
APP A
APP D
APP L
HOST OS
DOCKER ENGINE
BIN/
LIBS
APP A
BIN/
LIBS
APP Z
BIN/
LIBS
APP D
BIN/
LIBS
APP B{ {
VM
VS
(VM)
FIGHT IMAGE
environment dev all (dev, staging, live)
boot speed minutes seconds
host dependency almost everywhere linux
VS
Full isolation and garanteed resources ?



Then go with vagrant/VM
VS
Isolated processes and tons of them?
Then go with Docker
THE DOCKER CREW INVENTED
CONTAINERS?
THE DOCKER CREW INVENTED
CONTAINERS?
no
THE DOCKER CREW INVENTED
CONTAINERS?
NO
Linux CONTAINERS (LCX)
came from FreeBsd jails and chroot, 

at least 5 years ago
used by Heroku(PaaS)
Docker is a great, super
mega awesome way to
orchestrate containers
numbers
DIFFERENCE BETWEEN DOCKER AND A VM
WITH DOCKER
YOU DON’T HAVE THE
OVERHEAD GIVEN BY THE
VIRTUALISATION
DockerFile
DockerFile
container image
DockerFile
container image
commands while building the container
}
DockerFile
container image
commands while building the container
copy some content while building
the container
}
DockerFile
container image
commands while building the container
copy some content while building
the container
declare a volume: data accessible by other containers
and useful to mount a filesystem
}
DockerFile
container image
commands while building the container
copy some content while building
the container
declare a volume: data accessible by other containers
and useful to mount a filesystem
environment variable
}
DockerFile
container image
commands while building the container
copy some content while building
the container
declare a volume: data accessible by other containers
and useful to mount a filesystem
environment variable
container port exposed to other containers
}
DockerFile
container image
commands while building the container
copy some content while building
the container
declare a volume: data accessible by other containers
and useful to mount a filesystem
environment variable
container port exposed to other containers
the container command
executed when you run it
}
Build the container:
$: docker build -t node-app .
Run the container:
$: docker run -it node-app
Build another container:
$: docker build -t my-redis .
Run the container:
$: docker run -it my-redis
Link them and enjoy:
$: docker run --link my-redis:redis
-p 9200:9200 -d node-app
DEMO
windows 98 bsod
+
why vagrant and docker?
YES YOU CAN!
Docker still requires Linux
kernel 3.8 or higher.
This bounds considerably the
environments Docker can
natively run on.
BUT YOU SHOULDN’T…
docker-compose (prev fig)
dubai
dubai
namshi
namshinamshi
SOA
Service Oriented
Architechture
DOCKER IS A PERFECT MATCH!
DOCKER IS A PERFECT MATCH!
EVEN FOR DEVELOPMENT
fake service? no problem
DO YOU NEED TO FAKE A
SERVICE?
NO PROBLEM, JUST SPIN UP A
CONTAINER IN NO TIME
NGINX-PROXY
https://github.com/jwilder/nginx-proxy
APIDOC (DEMO)
APIDOC (DEMO)
NGINX-PROXY
DOCKER PROS
Matter of seconds to start an image
Can start multiple copies immediately
Central repo for images
You can go on staging and live from dev with the same
container
Versioning
DOCKER CONS
It really works really well just on Linux atm
It’s a young project, things change very fast
Lack of proper management tool
DOCKER CONS
It really works really well just on Linux atm
It’s a young project, things change very fast
Lack of proper management tool
boot2docker
Kitematic
github.com/namshi/node-dock
node-dock
NODE-DOCK
Docker disk space cleanup
$: docker rm $(docker ps -a -q)
$: docker images | grep "<none>" | awk
'{ print "docker rmi " $3 }' | bash
https://github.com/dummymael/dotfiles/blob/
1859a36afba2252f86a0a1ff8d5fb442e74b7a0e/tools/
docker_clean_vfs.py
$: pip install docker-py
@cirpo
github.com/cirpo
/
THANKS!
credits
http://blog.docker.com/media/Docker_Infographic_FINAL.jpg
https://www.flickr.com/photos/chuddlesworth/7059061549
Tim Haak https://speakerdeck.com/timhaak/vagrant-is-so-last-year-why-arent-you-using-docker-yet
Rohit Dantas https://speakerdeck.com/rohitdantas

Contenu connexe

Tendances

Tendances (20)

Introduction to telepresence
Introduction to telepresenceIntroduction to telepresence
Introduction to telepresence
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
Continuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by exampleContinuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by example
 
Docker and java, at Montréal JUG
Docker and java, at Montréal JUGDocker and java, at Montréal JUG
Docker and java, at Montréal JUG
 
Greach 2016 dockerize your grails
Greach 2016   dockerize your grailsGreach 2016   dockerize your grails
Greach 2016 dockerize your grails
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
Wander in the Dockershop - May Docker Meetup Shanghai
Wander in the Dockershop - May Docker Meetup ShanghaiWander in the Dockershop - May Docker Meetup Shanghai
Wander in the Dockershop - May Docker Meetup Shanghai
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
 
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 RecapDocker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
Using Docker in the Real World
Using Docker in the Real WorldUsing Docker in the Real World
Using Docker in the Real World
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
 
Mastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiMastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry Pi
 
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena TapiaFrom Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 
Intro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratchIntro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratch
 
RKT
RKTRKT
RKT
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Setting Sail With Docker
Setting Sail With DockerSetting Sail With Docker
Setting Sail With Docker
 

En vedette

En vedette (8)

Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
 
Docker toolbox
Docker toolboxDocker toolbox
Docker toolbox
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
 
DevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerDevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for Docker
 
Infrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & AnsibleInfrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & Ansible
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrant
 

Similaire à Apt get no more let Vagrant, Puppet and Docker take the stage

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 à Apt get no more let Vagrant, Puppet and Docker take the stage (20)

Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
Docker - Der Wal in der Kiste
Docker - Der Wal in der KisteDocker - Der Wal in der Kiste
Docker - Der Wal in der Kiste
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Docker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessDocker: The Blue Whale of Awesomness
Docker: The Blue Whale of Awesomness
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
 
Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini Anand
 
Docker in Action
Docker in ActionDocker in Action
Docker in Action
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
 

Plus de Alessandro Cinelli (cirpo)

PHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the foolPHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the fool
Alessandro Cinelli (cirpo)
 
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
Alessandro Cinelli (cirpo)
 

Plus de Alessandro Cinelli (cirpo) (18)

Dear JavaScript
Dear JavaScriptDear JavaScript
Dear JavaScript
 
The evolution of asynchronous JavaScript
The evolution of asynchronous JavaScriptThe evolution of asynchronous JavaScript
The evolution of asynchronous JavaScript
 
The journey to become a solid developer
The journey to become a solid developer The journey to become a solid developer
The journey to become a solid developer
 
The evolution of asynchronous javascript
The evolution of asynchronous javascriptThe evolution of asynchronous javascript
The evolution of asynchronous javascript
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the fool
 
PHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the foolPHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the fool
 
Don't screw it up! How to build durable API
Don't screw it up! How to build durable API Don't screw it up! How to build durable API
Don't screw it up! How to build durable API
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the fool
 
Don't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apisDon't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apis
 
Nodejsconf 2012 - opening
Nodejsconf 2012 - openingNodejsconf 2012 - opening
Nodejsconf 2012 - opening
 
Symfonyday Keynote
Symfonyday KeynoteSymfonyday Keynote
Symfonyday Keynote
 
Introduzione a GIT - Webinar Zend
Introduzione a GIT - Webinar ZendIntroduzione a GIT - Webinar Zend
Introduzione a GIT - Webinar Zend
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
AgileTour Brescia - Metodi Agili: lavorare in modo sostenibile e vincente in ...
 
Symfony2 and Ror3 friends for an hour
Symfony2 and Ror3 friends for an hourSymfony2 and Ror3 friends for an hour
Symfony2 and Ror3 friends for an hour
 
Git e Git Flow
Git e Git Flow Git e Git Flow
Git e Git Flow
 
Presentazione framework Symfony
Presentazione framework Symfony Presentazione framework Symfony
Presentazione framework Symfony
 
Web 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggiWeb 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggi
 

Dernier

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Dernier (20)

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Apt get no more let Vagrant, Puppet and Docker take the stage