SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Müssen es denn immer
gleich Docker und
Kubernetes sein?!
Michael Bruns
inovex GmbH
› I’m perfectly fine with using Docker or Kubernetes
› Really!
› The same goes for Docker Swarm, Rocket, Rancher, …
› No kidding!
› I just like to use the right tool for the job in a proper way
2Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Disclaimer
3Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Use the right tool for the job...
...and use it wisely!
4Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Please allow me to introduce myself:
› Software developer, architect, ...
› AWS fanboy
› Built quite a bit of waipu.tv
› http://sayat.me/mbruns
Michael Bruns
inovex GmbH
5Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
What did we build?
AuthRegistration PlayoutEPG Recording
Users Streaming
......
Third
Party
...
› Don’t build a platform, use one - in our case: AWS
› Use what’s already there: EC2, RDS, S3, Elasticsearch,
Kinesis, Route53, Lambda ...
› Add shared stuff (e.g. JVM, nginx) to base image (AMI)
› Leave the rest to the services
6Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
How did we build it?
› Foster DevOps, i.e. tear down all political and
technological barriers
› Choose the right tool for the job:
Terraform, GitLab CI, Prometheus, …
› Make infrastructure reproducible
7Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
How did we build it?
› 50+ EC2 instances, 25+ Auto-Scaling Groups,
25+ ELBs, 75+ Security Groups
› ~30m objects / 3+ TB in S3 Buckets
› ~60m documents stored in Elasticsearch
› 50+ Git Repositories with GitLab CI
8Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
What did we use?
› ~10 Lambdas (growing a lot)
› 5 PostgreSQL databases, 6 Redis Caches
› 75+ DNS entries
› Java, JS, Clojure (and some Ruby, Lua, Go, …)
› ~15 people working in 5+ locations
9Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
What did we use?
› Declarative definition of infrastructure
› Reproducible
› Local vs remote states
› Easily understable
10Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Terraform
11Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Terraform - Examples
12Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Terraform - Examples
› Continuous Integration & Deployment
› Pipelines
› Stages, Environments, Variables, Tags, …
› Easy integration of runners
13Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
GitLab CI
14Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
GitLab CI - Examples
15Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
GitLab CI - Examples
16Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
GitLab CI - Examples
17Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
The whole pipeline
Local Git
Repo
GitLab
Repo
GitLab CI Build
(Gradle,
Leiningen, …)
GitLab CI
Deployment
(Terraform)
Dev
GitLab CI
Deployment
(Terraform)
GitLab CI
Deployment
(Terraform)
Preview Prod
auto auto
manually manually
GitLab CI
Tests
auto
GitLab CI
Tests
auto
18Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
So why didn’t we use
Docker and Kubernetes?
› Which problem are you actually trying to solve?
› Will Docker and/or Kubernetes really stop you from
making the same old mistakes?
› Don’t you want to avoid complexity and get going?
› Is it really the platform you want to start with?
19Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Don’t put the cart before the horse!
20Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
The Turducken - Creation
http://www.seriouseats.com/2012/11/the-food-lab-the-ulimate-turducken.html
21Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
The Turducken - Result
http://www.seriouseats.com/2012/11/the-food-lab-the-ulimate-turducken.html
› Kubernetes & Docker is a cloud in the cloud
› It adds several layers of abstraction
› It takes an experienced person to handle it
› You should prepare the interior first, and add the outer
layers when you know how the interior works
22Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
The Turducken - Analogy
› We know how the interior works
› We have loosely coupled services
› We know which load to expect, how many customers to
expect, we have a working deployment pipeline, ...
› Maybe we should start using Kubernetes now after all?!
23Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
The Turducken - Conclusion
24Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
So everything is great
without Docker and Kubernetes?
› Real-life conversation from another project:
› Manager: “We need Microservices!”
› Me: “Ok. Why?”
› Manager: “Err…”
› Me: “Did you at least talk to Dev and Ops?”
› Manager: “Err…”
25Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
When to consider a platform right away?
› Real-life conversation from another project:
› Me: “Can we operate the VMs with our team?”
› Manager: “No, the Ops team does that.”
› Me: “Can we shift people from the Ops team to our team?”
› Manager: “No.”
› Me: “Ok… Then I need to talk to the Ops team.”
› Manager: “You can’t, they’re too busy with their roadmap.”
26Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
When to consider a platform right away?
› Real-life conversation from another project:
› Me: “We need two small VMs, one per data center.”
› Ops: “We don’t do it that way. You’ll get three per
data-center, 64 GB RAM and 6 CPUs each.”
› Me: “What?! Well, alright... Is it possible to get them
by this afternoon?”
› Ops: “Nah, average delivery time is eight weeks.”
27Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
When to consider a platform right away?
28Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
Tools will not fix your people issues!
Thanks to @IanDCrosby for the inspiration!
29Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns
One final note...
Both lines have the same length?
Don’t believe anything
just because it’s written on a slide!
Thanks to @danielbryantuk for the inspiration!
>
>
<
<
Vielen Dank
Michael Bruns
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe
michael.bruns@inovex.de
Twitter: @der_miggel Feedback:
http://sayat.me/mbruns

Más contenido relacionado

La actualidad más candente

"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発Yahoo!デベロッパーネットワーク
 
Immutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkitImmutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkit어형 이
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalkzupzup.org
 
Develop go microservice and deploy to kubenetes
Develop go microservice and deploy to kubenetesDevelop go microservice and deploy to kubenetes
Develop go microservice and deploy to kubenetesItsara Konsombut
 
Gluecon 2014 - Bringing Node.js to the JVM
Gluecon 2014 - Bringing Node.js to the JVMGluecon 2014 - Bringing Node.js to the JVM
Gluecon 2014 - Bringing Node.js to the JVMJeremy Whitlock
 
Building a REST API with Node.js and MongoDB
Building a REST API with Node.js and MongoDBBuilding a REST API with Node.js and MongoDB
Building a REST API with Node.js and MongoDBVivochaLabs
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJSJITENDRA KUMAR PATEL
 
Deploying Elasticsearch on Docker with Weave
Deploying Elasticsearch on Docker with WeaveDeploying Elasticsearch on Docker with Weave
Deploying Elasticsearch on Docker with WeaveIlya Dmitrichenko
 
Apache Mesos Distributed Computing Talk
Apache Mesos Distributed Computing Talk Apache Mesos Distributed Computing Talk
Apache Mesos Distributed Computing Talk brandongulla
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveKazuto Kusama
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developersSuraj Deshmukh
 
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 exampleFabio Mora
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsMichael Lange
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetHendrik Ebbers
 
OpenWhisk Go/Swift/Binaries Runtime
OpenWhisk Go/Swift/Binaries RuntimeOpenWhisk Go/Swift/Binaries Runtime
OpenWhisk Go/Swift/Binaries RuntimeMichele Sciabarrà
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptLars Thorup
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJSMarcelo Serpa
 

La actualidad más candente (20)

"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
 
Immutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkitImmutable kubernetes architecture by linuxkit
Immutable kubernetes architecture by linuxkit
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalk
 
Develop go microservice and deploy to kubenetes
Develop go microservice and deploy to kubenetesDevelop go microservice and deploy to kubenetes
Develop go microservice and deploy to kubenetes
 
Gluecon 2014 - Bringing Node.js to the JVM
Gluecon 2014 - Bringing Node.js to the JVMGluecon 2014 - Bringing Node.js to the JVM
Gluecon 2014 - Bringing Node.js to the JVM
 
Building a REST API with Node.js and MongoDB
Building a REST API with Node.js and MongoDBBuilding a REST API with Node.js and MongoDB
Building a REST API with Node.js and MongoDB
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
 
Deploying Elasticsearch on Docker with Weave
Deploying Elasticsearch on Docker with WeaveDeploying Elasticsearch on Docker with Weave
Deploying Elasticsearch on Docker with Weave
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Apache Mesos Distributed Computing Talk
Apache Mesos Distributed Computing Talk Apache Mesos Distributed Computing Talk
Apache Mesos Distributed Computing Talk
 
Future of NodeJS
Future of NodeJSFuture of NodeJS
Future of NodeJS
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep Dive
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developers
 
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
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and Puppet
 
OpenWhisk Go/Swift/Binaries Runtime
OpenWhisk Go/Swift/Binaries RuntimeOpenWhisk Go/Swift/Binaries Runtime
OpenWhisk Go/Swift/Binaries Runtime
 
What is Node.js
What is Node.jsWhat is Node.js
What is Node.js
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJS
 

Similar a Müssen es denn immer gleich Docker und Kubernetes sein?!

Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and SwarmC4Media
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedDataStax Academy
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
 
Choosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in ProdChoosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in ProdJosh Padnick
 
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017Frank Munz
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cFrank Munz
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsAmbassador Labs
 
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, ...Ambassador Labs
 
Pod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimPod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimVictor Morales
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSFrank Munz
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerJames Turnbull
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarTravis Wright
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraDaniel Palstra
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and dockerBen Bromhead
 

Similar a Müssen es denn immer gleich Docker und Kubernetes sein?! (20)

Docker basic
Docker basicDocker basic
Docker basic
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
 
Container Days
Container DaysContainer Days
Container Days
 
Choosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in ProdChoosing the Right Framework for Running Docker Containers in Prod
Choosing the Right Framework for Running Docker Containers in Prod
 
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017
From Docker Swarm to OCCS and Wercker: Live-hacking at Oracle CODE Mexico 2017
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
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, ...
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Pod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimPod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from Dockershim
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and docker
 

Más de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Más de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Müssen es denn immer gleich Docker und Kubernetes sein?!

  • 1. Müssen es denn immer gleich Docker und Kubernetes sein?! Michael Bruns inovex GmbH
  • 2. › I’m perfectly fine with using Docker or Kubernetes › Really! › The same goes for Docker Swarm, Rocket, Rancher, … › No kidding! › I just like to use the right tool for the job in a proper way 2Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Disclaimer
  • 3. 3Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Use the right tool for the job... ...and use it wisely!
  • 4. 4Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Please allow me to introduce myself: › Software developer, architect, ... › AWS fanboy › Built quite a bit of waipu.tv › http://sayat.me/mbruns Michael Bruns inovex GmbH
  • 5. 5Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns What did we build? AuthRegistration PlayoutEPG Recording Users Streaming ...... Third Party ...
  • 6. › Don’t build a platform, use one - in our case: AWS › Use what’s already there: EC2, RDS, S3, Elasticsearch, Kinesis, Route53, Lambda ... › Add shared stuff (e.g. JVM, nginx) to base image (AMI) › Leave the rest to the services 6Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns How did we build it?
  • 7. › Foster DevOps, i.e. tear down all political and technological barriers › Choose the right tool for the job: Terraform, GitLab CI, Prometheus, … › Make infrastructure reproducible 7Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns How did we build it?
  • 8. › 50+ EC2 instances, 25+ Auto-Scaling Groups, 25+ ELBs, 75+ Security Groups › ~30m objects / 3+ TB in S3 Buckets › ~60m documents stored in Elasticsearch › 50+ Git Repositories with GitLab CI 8Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns What did we use?
  • 9. › ~10 Lambdas (growing a lot) › 5 PostgreSQL databases, 6 Redis Caches › 75+ DNS entries › Java, JS, Clojure (and some Ruby, Lua, Go, …) › ~15 people working in 5+ locations 9Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns What did we use?
  • 10. › Declarative definition of infrastructure › Reproducible › Local vs remote states › Easily understable 10Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Terraform
  • 11. 11Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Terraform - Examples
  • 12. 12Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Terraform - Examples
  • 13. › Continuous Integration & Deployment › Pipelines › Stages, Environments, Variables, Tags, … › Easy integration of runners 13Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns GitLab CI
  • 14. 14Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns GitLab CI - Examples
  • 15. 15Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns GitLab CI - Examples
  • 16. 16Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns GitLab CI - Examples
  • 17. 17Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns The whole pipeline Local Git Repo GitLab Repo GitLab CI Build (Gradle, Leiningen, …) GitLab CI Deployment (Terraform) Dev GitLab CI Deployment (Terraform) GitLab CI Deployment (Terraform) Preview Prod auto auto manually manually GitLab CI Tests auto GitLab CI Tests auto
  • 18. 18Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns So why didn’t we use Docker and Kubernetes?
  • 19. › Which problem are you actually trying to solve? › Will Docker and/or Kubernetes really stop you from making the same old mistakes? › Don’t you want to avoid complexity and get going? › Is it really the platform you want to start with? 19Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Don’t put the cart before the horse!
  • 20. 20Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns The Turducken - Creation http://www.seriouseats.com/2012/11/the-food-lab-the-ulimate-turducken.html
  • 21. 21Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns The Turducken - Result http://www.seriouseats.com/2012/11/the-food-lab-the-ulimate-turducken.html
  • 22. › Kubernetes & Docker is a cloud in the cloud › It adds several layers of abstraction › It takes an experienced person to handle it › You should prepare the interior first, and add the outer layers when you know how the interior works 22Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns The Turducken - Analogy
  • 23. › We know how the interior works › We have loosely coupled services › We know which load to expect, how many customers to expect, we have a working deployment pipeline, ... › Maybe we should start using Kubernetes now after all?! 23Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns The Turducken - Conclusion
  • 24. 24Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns So everything is great without Docker and Kubernetes?
  • 25. › Real-life conversation from another project: › Manager: “We need Microservices!” › Me: “Ok. Why?” › Manager: “Err…” › Me: “Did you at least talk to Dev and Ops?” › Manager: “Err…” 25Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns When to consider a platform right away?
  • 26. › Real-life conversation from another project: › Me: “Can we operate the VMs with our team?” › Manager: “No, the Ops team does that.” › Me: “Can we shift people from the Ops team to our team?” › Manager: “No.” › Me: “Ok… Then I need to talk to the Ops team.” › Manager: “You can’t, they’re too busy with their roadmap.” 26Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns When to consider a platform right away?
  • 27. › Real-life conversation from another project: › Me: “We need two small VMs, one per data center.” › Ops: “We don’t do it that way. You’ll get three per data-center, 64 GB RAM and 6 CPUs each.” › Me: “What?! Well, alright... Is it possible to get them by this afternoon?” › Ops: “Nah, average delivery time is eight weeks.” 27Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns When to consider a platform right away?
  • 28. 28Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns Tools will not fix your people issues! Thanks to @IanDCrosby for the inspiration!
  • 29. 29Müssen es denn immer gleich Docker und Kubernetes sein?! - Michael Bruns One final note... Both lines have the same length? Don’t believe anything just because it’s written on a slide! Thanks to @danielbryantuk for the inspiration! > > < <
  • 30. Vielen Dank Michael Bruns inovex GmbH Ludwig-Erhard-Allee 6 76131 Karlsruhe michael.bruns@inovex.de Twitter: @der_miggel Feedback: http://sayat.me/mbruns