SlideShare una empresa de Scribd logo
1 de 75
Descargar para leer sin conexión
Kubernetes
+ Python
=
CLOUD NATIVE PRAGUE
2019-09-05
HENNING JACOBS
@try_except_
2
ZALANDO AT A GLANCE
~ 5.4billion EUR
revenue 2018
> 250
million
visits
per
month
> 15.000
employees in
Europe
> 79%
of visits via
mobile devices
> 26
million
active customers
> 300.000
product choices
~ 2.000
brands
17
countries
3
SCALE
140Clusters
396Accounts
4
PYTHON
• Very popular
• Easy to learn
• Huge community
5
PYTHON
6
PYTHON IN ZALANDO
61 (Go) vs 257 (Python) profiles
14k (Go) vs 52k (Python) internal GitHub hits
Machine Learning / Data Science
7
RUNNING PYTHON ON KUBERNETES
8
RUNNING PYTHON ON KUBERNETES
⇒ ~114 MiB Docker image
9
DEPLOYMENT MANIFEST
Security "stuff"
Never without a
readinessProbe
10
HELLO, WORLD
kubectl apply -f deployment.yaml
kubectl port-forward service/aiohttp-helloworld 8080:80
http localhost:8080
HTTPie
11
HOW TO USE KUBERNETES
1. run
"Hello World"
2. configure
the rest of your app
12
IS IT FAST ENOUGH?
echo 'GET http://localhost:8080' | vegeta attack -rate 200 | vegeta report
Requests [total, rate] 3300, 200.06
Duration [total, attack, wait] 16.498s, 16.494, 3.261ms
Latencies [mean, 50, 95, 99, max] 3.185ms, 3.229ms,
4.182ms, 4.791ms,
21.153ms
Bytes In [total, mean] 39600, 12.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:3300
local run on my laptop, single Pod in kind cluster
13
RUNNING PYTHON ON KUBERNETES
14
"GRACEFUL" TERMINATION IN KUBERNETES
1. kubectl delete pod
2. SIGTERM + remove endpoints
3. grace period (default: 30s)
4. SIGKILL
⇒ Going down on SIGTERM leads to request errors
kube-proxy/ iptables,
Load Balancer update
15
TESTING THE ROLLING UPDATE
tests/e2e/test_update.py::test_rolling_update_no_signal_handling
Elapsed: 41.60 seconds
Successes: 2056
Errors: 0
Requests/s: 49.42 rps
tests/e2e/test_update.py::test_rolling_update_with_signal_handling
Elapsed: 15.16 seconds
Successes: 816
Errors: 2
Requests/s: 53.95 rps
16
ALTERNATIVE: THE PRESTOP TRICK
...
17
TESTING WITH PYTEST AND KIND
18
RUNNING PYTHON ON KUBERNETES
19
TESTING WITH PYTEST AND KIND
https://pypi.org/project/pytest-kind/
20
USING KIND CLUSTER DIRECTLY
https://pypi.org/project/pytest-kind/
21
ACCESSING KUBERNETES FROM PYTHON
22
ACCESSING KUBERNETES FROM PYTHON
• Official Kubernetes client - github.com/kubernetes-client/python
• Pykube-ng - github.com/hjacobs/pykube
du -csh /../../lib/python3.7/site-packages/kubernetes/
23M total
du -csh /../../lib/python3.7/site-packages/pykube/
160K total
23
LISTING CONTAINER IMAGES
24
OFFICIAL CLIENT VS PYKUBE-NG
• "Official"
• Generated (Swagger Codegen)
• Less "Pythonic"
• urllib3
• Supports many auth methods
• Heavy (23 MiB)
• Python 2.7 and 3
• Kel project 2015
• Dynamic
• More "Pythonic"
• requests
• Limited auth methods
• Light (160 KiB)
• Only Python 3
25
INTERACTIVE CONSOLE
$ pip3 install pykube-ng
$ python3 -m pykube
Pykube v19.9.1, loaded "/home/hjacobs/.kube/config" with context "mycluster".
Example commands:
[d.name for d in Deployment.objects(api)] # get names of deployments in default namespace
list(DaemonSet.objects(api, namespace='kube-system')) # list daemonsets in "kube-system"
Pod.objects(api).get_by_name('mypod').labels # labels of pod "mypod"
Use Ctrl-D to exit
>>>
26
WRITING A SIMPLE CONTROLLER
27
DOWNSCALING DURING OFF-HOURS
github.com/hjacobs/kube-downscaler
Weekend
28
DOWNSCALING DURING OFF-HOURS
DEFAULT_UPTIME="Mon-Fri 07:30-20:30 CET"
annotations:
downscaler/exclude: "true"
github.com/hjacobs/kube-downscaler
29
HOUSEKEEPING
● Delete prototypes
after X days
● Clean up temporary
deployments
● Remove resources
without owner
30
KUBERNETES JANITOR
● TTL and expiry date annotations, e.g.
○ set time-to-live for your test deployment
● Custom rules, e.g.
○ delete everything without "app" label after 7 days
github.com/hjacobs/kube-janitor
31
JANITOR TTL ANNOTATION
# let's try out nginx, but only for 1 hour
kubectl run nginx --image=nginx
kubectl annotate deploy nginx janitor/ttl=1h
github.com/hjacobs/kube-janitor
32
EXTENDING KUBERNETES WITH OPERATORS
33
ELASTICSEARCH OPERATOR
github.com/zalando-incubator/es-operator
34
WRITING AN OPERATOR
35
MAKE A FRAMEWORK!
github.com/zalando-incubator/kopf
36
KOPF: SIMPLE SPY-HANDLERS
React on events from K8s API.
Raw payload, no interpretation. Fire-and-forget, ignore errors.
github.com/zalando-incubator/kopf
37
KOPF: CONVENIENT CAUSE AND DIFF HANDLERS
github.com/zalando-incubator/kopf
38
RUNNING FROM DEVELOPMENT ENVIRONMENT
github.com/zalando-incubator/kopf
And here we are! Creating: {'duration': '1m', 'field': 'value',
'items': ['item1', 'item2']}
[2019-02-25 14:06:54,742] kopf.reactor.handlin [INFO ]
[asf-preprocessing/kopf-example-1] Handler create_fn succeeded.
[2019-02-25 14:06:54,856] kopf.reactor.handlin [INFO ]
[asf-preprocessing/kopf-example-1] All handlers succeeded for
creation.
Name: kopf-example-1
...
Status:
create_fn:
Message: hello world
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Success 81s kopf Handler create_fn succeeded.
$ kopf run scripts.py [--verbose]
$ kubectl apply -f ../obj.yaml
$ kubectl describe -f ../obj.yaml
39
"HELLO WORLD" EXAMPLE: CRD
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
40
8 LINES OF PYTHON
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
41
4 LINES OF DOCKER
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
42
CRD OBJECT
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
43
STATUS: "HELLO PRAGUE!"
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
44
VMWORLD 2019 SESSION WITH KOPF
github.com/embano1/kopf-operator-vmworld
45
KOPF: FEATURES
• Custom & built-in resources supported (CRDs, Pods, Services, etc)
• Agnostic to API clients: kubernetes-client, pykube-ng, raw HTTP, etc
• Immediate reaction to changes and events
• Predefined behavioural patterns:
• Simple spy-handlers for event watching
• Advanced cause & diff detection for actual change tracking
• Retry-until-success approach to handlers
• Operator resilience:
• Restores its state on restarts
• Operator testing toolkit (minimally sufficient)
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
46
TESTING WITH KIND
pypi.org/project/pytest-kind/
Kubernetes Web View
"kubectl for the web"
48
MOTIVATION: CHAT PING-PONG
49
MOTIVATION: PENDING PODS INCIDENT
⇒ I want to see all "Pending" Pods across all clusters!
50
MOTIVATION
51
SOME USE CASES
Support interactions with colleagues
• share links
• avoid human mistakes (wrong cluster login on CLI, "-n" param, ..)
• deep link to resource YAML
Incident response and investigation
• find a resource by name across clusters to help troubleshoot
• find pending pods across all clusters
• help identify if a problem is only in one cluster or multiple ones
52
MOTIVATION
srcco.de/posts/kubernetes-web-uis-in-2019.html
53
SOME USE CASES
54
SEARCHING FOR DOCKER IMAGE
55
SOME USE CASES
56
CRDS
additionalPrinterColumns
57
UPGRADE TO KUBERNETES 1.14
"Found 1223 rows for 1 resource type in 148 clusters in 3.301 seconds."
58
RESOURCE YAML VIEW
59
MULTIPLE CONDITIONS
kubectl -l application=coredns
60
MULTIPLE RESOURCE TYPES
kubectl get
pods,stacks,deploys,..
61
LABEL & CUSTOM COLUMNS
labelcols=application
customcols=CPU+Requests=join(', ', spec.containers[*].resources.requests.cpu)
uses JMESPath expression
62
URL STRUCTURE
/clusters/{cluster}/namespaces/{namespace}/{resource-type}
cluster: cluster aliases separated by "," or "_all"
namespace: namespace name or "_all"
resource-type: plural names separated by "," or "all" (like kubectl get all)
https://kube-web-view.readthedocs.io/
63
QUERY PARAMETERS FOR LIST VIEW
sort: column name to sort by, optionally with ":desc"
labelcols: additional label columns (comma separated) or "*"
selector: label selector (like kubectl -l), will be passed to Kubernetes API
filter: post-processing filter, either a simple string, Column=Value or
Column!=Value
hidecols: hide certain columns
customcols: custom columns using JMESPath
limit: number of rows to show
https://kube-web-view.readthedocs.io/en/latest/features.html#listing-resources
64
CUSTOMIZATION
Nearly all aspects can be customized for your org via CLI options:
• External Links (monitoring dashboards, ..)
• Default Label and Custom Columns
• Sidebar, HTML templates
• OAuth2 integration
kube-web-view.readthedocs.io/en/latest/customization.html
65
LINKING FROM DEPLOYMENT STATUS
66
KUBE-WEB-VIEW.DEMO.J-SERV.DE
67
TESTING WITH PYTEST-KIND AND PURE HTML
• Pykube
• aiohttp
• pytest-kind
• Jinja2 templates
68
KUBERNETES + PYTHON?
• Pykube
• asyncio / aiohttp
• pytest-kind
• Jinja2 templates
codeberg.org/hjacobs/kube-web-view/
69
KUBERNETES RESOURCE REPORT
github.com/hjacobs/kube-resource-report
https://github.com/hjacobs/kube-ops-view
https://github.com/hjacobs/kube-ops-view
72
KUBERNETES + PYTHON =
github.com/hjacobs
73
KUBERNETES + PYTHON =
code examples from this talk can be found in
codeberg.org/hjacobs/kubernetes-and-python
74
ZALANDO OPEN SOURCE
Kubernetes on AWS
github.com/zalando-incubator/kubernetes-on-aws
AWS ALB Ingress controller
github.com/zalando-incubator/kube-ingress-aws-controller
External DNS
github.com/kubernetes-incubator/external-dns
Postgres Operator
github.com/zalando/postgres-operator
Elasticsearch Operator
github.com/zalando-incubator/es-operator
Kubernetes Metrics Adapter
github.com/zalando-incubator/kube-metrics-adapter
QUESTIONS?
HENNING JACOBS
henning@zalando.de
@try_except_
Illustrations by @01k

Más contenido relacionado

La actualidad más candente

What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 

La actualidad más candente (20)

Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
AKS backup with Velero and Workload Identities
AKS backup with Velero and Workload IdentitiesAKS backup with Velero and Workload Identities
AKS backup with Velero and Workload Identities
 
Docker
DockerDocker
Docker
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
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,...
 
Terraform
TerraformTerraform
Terraform
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
 

Similar a Kubernetes + Python = ❤ - Cloud Native Prague

Similar a Kubernetes + Python = ❤ - Cloud Native Prague (20)

Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinWhy I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Container Deployment and Management with kubernetes
Container Deployment and Management with kubernetesContainer Deployment and Management with kubernetes
Container Deployment and Management with kubernetes
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
 
Kubernetes workshop -_the_basics
Kubernetes workshop -_the_basicsKubernetes workshop -_the_basics
Kubernetes workshop -_the_basics
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
 
Kubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and ServicesKubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and Services
 
Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 

Más de Henning Jacobs

Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 

Más de Henning Jacobs (20)

Open Source at Zalando - OSB Open Source Day 2019
Open Source at Zalando - OSB Open Source Day 2019Open Source at Zalando - OSB Open Source Day 2019
Open Source at Zalando - OSB Open Source Day 2019
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
 
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
Kubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe Barcelona
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
Developer Experience at Zalando - CNCF End User SIG-DX
Developer Experience at Zalando - CNCF End User SIG-DXDeveloper Experience at Zalando - CNCF End User SIG-DX
Developer Experience at Zalando - CNCF End User SIG-DX
 
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
 
Let's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg MeetupLet's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg Meetup
 
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
 
API First with Connexion - PyConWeb 2018
API First with Connexion - PyConWeb 2018API First with Connexion - PyConWeb 2018
API First with Connexion - PyConWeb 2018
 
Developer Journey at Zalando - Idea to Production with Containers in the Clou...
Developer Journey at Zalando - Idea to Production with Containers in the Clou...Developer Journey at Zalando - Idea to Production with Containers in the Clou...
Developer Journey at Zalando - Idea to Production with Containers in the Clou...
 
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRWKubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
 
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
 
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes MeetupFrom AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Kubernetes + Python = ❤ - Cloud Native Prague