SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
commit => #GitHub =>
#CircleCI => #Docker =>
#Kubernetes #AWS cluster
6. sraz přátel Symfony v Praze
31.3.2016
continuous integration
… deployment
… delivery
Kouzelná Almara
1 Java aplikace v Tomcatu
(RESTful API + Wicket UI)
Tomcat…?
hot deploy 🤘
PermGen 💩
fuck it!
🐙
#BitBucket => #Bamboo => SSH upload
WARka => jetty-runner.jar + automatický reload
po uploadu nového WARu (Node.JS skript)
Skrz
3 frontend PHP(-FPM) aplikace,
2 3 ReactPHP aplikace, ~30 RabbitMQ consumers,
1 Go aplikace
SVN 👹
fuck it!
🐙
#BitBucket => BB hook => checkout git do
~/commits/<commit> => hook.sh =>
(na stagingu automaticky) swap.sh
hitserver, adserver, ranking, RabbitMQ
consumers
supervisord 🤘
porty 💩
hitserver, adserver, ranking, RabbitMQ
consumers
supervisord 💩
porty 💩
Liftago
7 Java aplikací, 2 Node.JS aplikace,
Python skripty v crontabu
💩 Jelastic 💩
💩 Dogado 💩
fuck! fuck fuck!
🐙
❓ Java/PHP/Go/Node/…
❓ Java 7 vs. 8, PHP 5.3 vs. 7.0, …
❓ supervisor/autorestart
❓ rolling deployment
❓ porty
❓ nezávislé na hostingu
❓ Java/PHP/Go/Node/… ✅ Docker
❓ Java 7 vs. 8, PHP 5.3 vs. 7.0, … ✅ Docker
❓ supervisor/autorestart ✅ Kubernetes
❓ rolling deployment ✅ Kubernetes
❓ porty ✅ Kubernetes
❓ nezávislé na providerovi ✅ Kubernetes
Kubernetes
Pods
Docker container
billing:2016-03-31.345
Label
app=billing
Label
env=prod
Docker container
logrotate:latest
Volume
/var/lib/invoices
Volume
/var/log
10.0.0.34
8080
Reconciliation loop
Observed state Desired state
Reconciliation loop
Observed state Desired statecreate
Reconciliation loop
Observed state Desired statescale
Reconciliation loop
Observed state Desired statehealth check
Replication controller
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
replicas=3
app=billing
env=prod
Pod
billing 10.0.0.35
app=billing
env=prod
Pod
billing 10.0.0.36
app=billing
env=prod
Replication controller
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
replicas=1
app=billing
env=prod
Service
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
Pod
billing 10.0.0.35
app=billing
env=prod
Pod
api 10.0.0.14
app=api
env=prod
??? ???
Service
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
Pod
api 10.0.0.14
app=api
env=prod
??? !!!
Service
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
Pod
billing 10.0.0.35
app=billing
env=prod
Pod
api 10.0.0.14
app=api
env=prod
Service
billing-prod 10.1.0.1
Service
Pod
billing 10.0.0.34
Replication
controller
billing-prod
app=billing
env=prod
Pod
api 10.0.0.14
app=api
env=prod
Service
billing-prod 10.1.0.1
Service
Replication
controller
billing-prod
Pod
billing 10.0.0.66
app=billing
env=prod
Pod
api 10.0.0.14
app=api
env=prod
Service
billing-prod 10.1.0.1
…a více
• Job (cron scheduler plánovaný na 1.3)
• DaemonSet
• Horizontal Pod Autoscaler
• Secret
• Ingress
$ kubectl create -f - <<EOF
> apiVersion: v1
> kind: ReplicationController
> metadata:
> name: billing-prod
> spec:
> replicas: 3
> template:
> metadata:
> labels:
> app: billing
> env: prod
> spec:
> containers:
> - name: billing
> image: docker-registry.liftago.com/billing:latest
> imagePullPolicy: Always
…
…
> env:
> - name: SPRING_PROFILES_ACTIVE
> value: prod
> ports:
> - containerPort: 8080
> livenessProbe:
> httpGet:
> path: /health
> port: 8080
> initialDelaySeconds: 60
> timeoutSeconds: 5
> readinessProbe:
> httpGet:
> path: /health
> port: 8080
> initialDelaySeconds: 1
> timeoutSeconds: 1
> imagePullSecrets:
> - name: docker-repository.liftago.com
> EOF
$ kubectl create -f <<EOF
> apiVersion: v1
> kind: Service
> metadata:
> name: billing-prod
> labels:
> app: billing
> env: prod
> spec:
> clusterIP: 10.1.0.1
> ports:
> - port: 80
> targetPort: 8080
> protocol: TCP
> selector:
> app: billing
> env: prod
> EOF
$ kubectl get po -l app=billing,env=prod
NAME READY STATUS RESTARTS AGE
billing-prod-e3jcm 1/1 Running 0 1m
billing-prod-4sdfb 1/1 Running 0 1m
billing-prod-sd134 1/1 Running 0 1m
$ kubectl get rc -l app=billing,env=prod
NAME DESIRED CURRENT AGE
billing-prod 3 3 1m
$ kubectl get svc -l app=billing,env=prod
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
billing-prod 10.1.0.1 <none> 80/TCP 1m
$ kubectl exec -it billing-prod-e3jcm bash
$ cat /etc/hosts
127.0.0.1 billing-prod-e3jcm
…
kubernetes.io
github.com/jakubkulhan/kube-jessie-ansible
github.com/jakubkulhan/dockerfiles
A co ty
commity/#GitHub/#CircleCI?
🤔
machine:
java:
version: oraclejdk8
environment:
DOCKER_TAG: $(date +%Y-%m-%d).$CIRCLE_BUILD_NUM
services:
- docker
post:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS $DOCKER_REGISTRY
dependencies:
post:
- sudo wget 'http://storage.googleapis.com/kubernetes-release/release/v1.2.0/bin/linux/amd64/kubectl' -O /usr/local/bin/kubectl
- sudo chmod 755 /usr/local/bin/kubectl
# docker pull suggested by https://discuss.circleci.com/t/caching-docker-image-with-docker-hub/1784
- docker pull $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:latest || true
test:
…
deployment:
kubernetes:
branch: master
commands:
- docker build -t $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$DOCKER_TAG .
- docker push $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$DOCKER_TAG
- docker tag -f $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$DOCKER_TAG $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:latest
- docker push $DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:latest
- >
kubectl config set-cluster kubernetes --server=$KUBERNETES_MASTER &&
kubectl config set-credentials circleci --token=$KUBERNETES_TOKEN &&
kubectl config set-context kubernetes --cluster=kubernetes --user=circleci &&
kubectl config use-context kubernetes
- kubectl rolling-update billing-prod --image=$DOCKER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$DOCKER_TAG --update-period=10s
Díky!
Otázky?
twitter.com/jakubkulhan
medium.com/@jakubkulhan
github.com/jakubkulhan

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (15)

Reflexion sur Besoin et Désir
Reflexion sur Besoin et DésirReflexion sur Besoin et Désir
Reflexion sur Besoin et Désir
 
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
 
Lindsey hom resume
Lindsey hom resume Lindsey hom resume
Lindsey hom resume
 
Latin NCAP: 5 Years of Progress
Latin NCAP: 5 Years of ProgressLatin NCAP: 5 Years of Progress
Latin NCAP: 5 Years of Progress
 
Revetements
RevetementsRevetements
Revetements
 
resume 1
resume 1resume 1
resume 1
 
Japan NCAP Update
Japan NCAP UpdateJapan NCAP Update
Japan NCAP Update
 
Global NCAP Update
Global NCAP UpdateGlobal NCAP Update
Global NCAP Update
 
Analyse urbaine-de-la-ville-de-boufarik
Analyse urbaine-de-la-ville-de-boufarikAnalyse urbaine-de-la-ville-de-boufarik
Analyse urbaine-de-la-ville-de-boufarik
 
Strategic Evaluation of LVMH
Strategic Evaluation of LVMHStrategic Evaluation of LVMH
Strategic Evaluation of LVMH
 
Louis Vuitton Business Model Evolution
Louis Vuitton Business Model Evolution Louis Vuitton Business Model Evolution
Louis Vuitton Business Model Evolution
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)
 
Basic debating skills
Basic debating skillsBasic debating skills
Basic debating skills
 
Comment changer de cabinet d'expertise comptable ?
Comment changer de cabinet d'expertise comptable ?Comment changer de cabinet d'expertise comptable ?
Comment changer de cabinet d'expertise comptable ?
 
6 colloque toit-terrasse - christian herreria - les solutions techniques de...
6   colloque toit-terrasse - christian herreria - les solutions techniques de...6   colloque toit-terrasse - christian herreria - les solutions techniques de...
6 colloque toit-terrasse - christian herreria - les solutions techniques de...
 

Mehr von Péhápkaři

Mehr von Péhápkaři (20)

Startup vs korporace vs Previo
Startup vs korporace vs PrevioStartup vs korporace vs Previo
Startup vs korporace vs Previo
 
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuRabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v Previu
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
 
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundČtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán Zikmund
 
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
 
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
 
PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]
 
PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]
 
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
 
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
 
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
 
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
 
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
 
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
 
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
 
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
 
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
 
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = &lt;3 (4. sraz přátel Symfony v Praze)
 
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
 

Kürzlich hochgeladen

原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Monica Sydney
 

Kürzlich hochgeladen (20)

Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 

Kubernetes [Jakub Kulhan] (6. sraz, Praha, 31.3.2016)