SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
@cote
Kubernetes for Developers,
Architects, & Other People Who Aren't
Supposed to Use or Even Know About
Kubernetes
An investigation into kubernetes konfusion
"Kubernetes is a platform for building platforms."
"Nobody will care about Kubernetes in five years."
"If you have a Kubernetes strategy you've already
failed."
"Don't even try to run your own Kubernetes cluster."
"Kubernetes 'is now very, very boring.'"
"Containers Will Not Fix Your Broken Culture"
2Sources: @kelseyhightower, @quinnypig, @pczarkowski, @cowboyd, @janet_kuo, @bridgetkromhout.
So...as a developer, I should…?
3
1.) Move pixels on the screen
(product)
2.) Remove waste to focus on #1
Pics: Regan Walsh.
4Sources: Monolithic Transformation, The Business Bottleneck.
5Sources: Sophie Seiwald, Daimler, case study in The Business Bottleneck. Pics: Luke Kanies.
6Pic: based on James Watters VMworld 2019 keynote; concept to ka-ching, Edwards and Willis.
Estimate: 30% to 40% of orgs do CI, fewer CD
"In a survey of developers, 60% of
respondents stated they release applications
twice a year or less."
7
Sources: Estimate based on Forrester survey (2019), DZone CD reports (2014, 2015, 2016, 2017, 2019); release frequency from 2019 Forrester TEI study,
“CEOs and Software,” Rymer & Hammond, Forrester, Jan 2019.
8
In large organizations, governance is key to
scaling waste removal.
Governance comes from standardization.
Theory: cloud native platforms can be
platforms of good, enterprise governance.
Developers
9
10
Kubernetes basics
Primitives
● yaml describes & configures
● Containers & pods, run in VMs, in clusters
● Managed by controllers & the scheduler
● System state stored in cluster store &
ConfigMap
● "Resources" standardized, self-service
Behavior
● Enforce desired state
● Self-heal with autorestarting
● Scale with ReplicaSets
● Deployment plans, e.g., rolling
● Networking is still magical
For much better explanations...
11
Spring Cloud Kubernetes
http://Kube.Academy
You're building distributed apps.
12
Container-oriented development.
Building containers
13
- You build it, you own it
- Endless fiddly stuff
- Standardize on a tool
- Standardize on images/registry
- Tools: spring-boot:buildimage, jib, buildpacks,
etc.
More: "Effective Spring on Kubernetes," 2020; "Best Practices to Spring to Kubernetes Easier and Faster," Ray Tsang, 2019.
Pods are like servers...sort of
14
[T]he right question to ask yourself
when designing Pods is, “Will these
containers work correctly if they
land on different machines?” If the
answer is “no,” a Pod is the correct
grouping for the containers. If the
answer is “yes,” multiple Pods is
probably the correct solution. In the
example at the beginning of this
chapter, the two containers interact via
a local filesystem. It would be
impossible for them to operate
correctly if the containers were
scheduled on different machines.”
-Kubernetes Up & Running
“
● One or more containers
that share a network and
storage. E.g., front-end.
● The thing that's replicated
● E.g., databases pod
alone
Packaging
15Pic: @benbravo73's Spring Music Store in Kubernetes.
Obviously: containers
Think in terms of "deployments" -
pods, with containers, with resources
Declarative changes through yaml
Externalized configuration
(ConfigMap or ENV)
Release strategies, e.g., rolling
Use Helm
Probes & Life-cycle
16
- livenessProbe
- readinessProb
e
- startupProbe
- PostStart
- PreStop
- Log to stdout/err
Externalized Configuration
17
Specification:
- ConfigMap
- Map the map in
deployment
- Cheat with the
command line
Access:
- ENV
- Files in container
- Framework, e.g.,
Spring Cloud
Kubernetes
A whole lot more…
Internalized Configuration
Storage
Network Routes
Load Balancers
Secrets
Incident Management, Logs, Observability
Sidecars, Handlers, etc.
Hopefully, a friendly ops person handles
these.
18
Enterprise Architecture as Code
19
Use a platform to implement enterprise governance
API
GATEWAY
CONFIG
SERVICE
CIRCUIT
BREAKER
BLUE/
GREEN
SERVICE
DISCOVERY
STREAM EVENTS REACTIVE
BUILD SERVICE
(Detect & Compile)
MESH &
ROUTE
LOG &
TRACE
SERVICE
BROKER
EMB
CI & CD >kubectl run {myimage}
>pfs create {myfunction}
FUNCTIONS API
PUBLIC/PRIVATE
‘CLOUD INFRASTRUCTURE’
APPLICATIONS API
>cf push {mycode}
CONTAINERS API
CLUSTER MANAGER
(Continuous Updates)
MULTI
TENANCY
IMAGE
REGISTRY
VMs, CONTAINERS &
NETWORKS as API
EMBEDDED OPERATING
SYSTEMS (LINUX &
WINDOWS)
Hw
Network
Vm
Os
Container
Runtime
Access Ctrl
Monitoring
Frameworks
App Logic
>cf bind {marketplace}
You invest
above the lines
App Stack Enterprise Architecture as Code
Dedicated Balanced Platform Team
Application Developers
PIVOTAL
CLOUD
FOUNDRY
DATABAS
E
SERVICES
SELF-SERVICE PORTAL
3RD PARTY
INTEGRATION
S
FEEDBACK
LOOP
FEEDBACK
LOOP
CI/CD MONITORIN
G &
LOGGING
cf push cf push
Enterprise governance through platform as a product
21
More: "Platform as a Product" presentation, Sep 2019. Pic: @deniseyu21.
The Case for Modernization
22
- Unique to enterprises
- Years of M&A, tech debt, old business models
- Silent killer of business innovation
- "You can put any garbage you want in a
containerkubernetes"
Pic: @AreasAbandoned; garbage quote adapted from @pczarkowski.
23
Ongoing portfolio management
- With 1,000's of apps, it will take years
- Evaluate for technical fit
- Evaluate for business value
- Establish criteria for success
- Retro projects, adapt strategy ongoing
- Start small: store finders, single API
methods
- Maintain a cookbook
- Do no harm
Sources: Rohit Kelapure, Jan 2019; "How AirFrance KLM is Modernizing 2,000 Legacy Applications," Dec 2019; "How T-Mobile Built and Scaled
Kubernetes On-Prem for the 2018 Retail Season," Dec 2018.
Technical improvements
Daily deploys
+30% developer productivity
+78% operational efficiency
No weekend work
Business improvements
11% conversion rate
40% reduced call center volume
6 months to launch a new business
Software-driven businesses
24
25
Coté*
@cote | http://cote.io
* Full name: Michael Coté, but no one calls him "Michael" except his wife and mother.

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeMauricio (Salaboy) Salatino
 
Scalable dev ops with atlassian tools, docker & chatops
Scalable dev ops with atlassian tools, docker & chatopsScalable dev ops with atlassian tools, docker & chatops
Scalable dev ops with atlassian tools, docker & chatopsaddteq
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUESVMware Tanzu
 
Jenkins X intro (from google app dev conference)
Jenkins X intro (from google app dev conference)Jenkins X intro (from google app dev conference)
Jenkins X intro (from google app dev conference)Michael Neale
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...VMware Tanzu
 
Google cloud functions
Google cloud functionsGoogle cloud functions
Google cloud functionsPéter Nagy
 
Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?
 Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas? Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?
Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?VMware Tanzu
 
A mini adventure in Minikube devopsdays CT 2017
A mini adventure in Minikube devopsdays CT 2017A mini adventure in Minikube devopsdays CT 2017
A mini adventure in Minikube devopsdays CT 2017Whitney Tennant
 
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...Manuel Pais
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderServerless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderDaniel Krook
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesNiklas Heidloff
 
Cloud native with kubernetes
Cloud native with kubernetesCloud native with kubernetes
Cloud native with kubernetesCatalin Jora
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsDaniel Krook
 
The CNCF on Serverless
The CNCF on ServerlessThe CNCF on Serverless
The CNCF on ServerlessDaniel Krook
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud FunctionsJerry Jalava
 

Was ist angesagt? (20)

Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020
 
QCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - WorkshopQCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - Workshop
 
Scalable dev ops with atlassian tools, docker & chatops
Scalable dev ops with atlassian tools, docker & chatopsScalable dev ops with atlassian tools, docker & chatops
Scalable dev ops with atlassian tools, docker & chatops
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 
Jenkins X intro (from google app dev conference)
Jenkins X intro (from google app dev conference)Jenkins X intro (from google app dev conference)
Jenkins X intro (from google app dev conference)
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 
Google cloud functions
Google cloud functionsGoogle cloud functions
Google cloud functions
 
Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?
 Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas? Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?
Pivotal Cloud Foundry et Microsoft: Pourquoi? ... Et pourquoi pas?
 
A mini adventure in Minikube devopsdays CT 2017
A mini adventure in Minikube devopsdays CT 2017A mini adventure in Minikube devopsdays CT 2017
A mini adventure in Minikube devopsdays CT 2017
 
Cloud Native: what is it? Why?
Cloud Native: what is it? Why?Cloud Native: what is it? Why?
Cloud Native: what is it? Why?
 
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...
The Elephant in the Kubernetes Room: Team Interactions at Scale @ Velocity Be...
 
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at SantanderServerless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 Minutes
 
Cloud native with kubernetes
Cloud native with kubernetesCloud native with kubernetes
Cloud native with kubernetes
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud Functions
 
The CNCF on Serverless
The CNCF on ServerlessThe CNCF on Serverless
The CNCF on Serverless
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud Functions
 
Cloud Native Event-Driven Applications on LKE
Cloud Native Event-Driven Applications on LKECloud Native Event-Driven Applications on LKE
Cloud Native Event-Driven Applications on LKE
 
IBM at JavaLand
IBM at JavaLandIBM at JavaLand
IBM at JavaLand
 

Ähnlich wie stackconf 2020 | The blinking cursor or kubernetes for people who aren´t supposed to use it by Michael Coté

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
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)VMware Tanzu
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemCloud Study Network
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemTurja Narayan Chaudhuri
 
Kubernetes up running
Kubernetes up runningKubernetes up running
Kubernetes up runningCeoTranDang
 
Spring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptSpring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptChris Richardson
 
Better Software is Better than Worse Software - Nate Schutta
Better Software is Better than Worse Software - Nate SchuttaBetter Software is Better than Worse Software - Nate Schutta
Better Software is Better than Worse Software - Nate SchuttaVMware Tanzu
 
Kubernetes at Google Cloud Community Copenhagen
Kubernetes at Google Cloud Community CopenhagenKubernetes at Google Cloud Community Copenhagen
Kubernetes at Google Cloud Community CopenhagenKevin Simper
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)bridgetkromhout
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2USufyaan Kazi
 
Google Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesGoogle Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesKasper Nissen
 
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...IT Arena
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
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...Henning Jacobs
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesChakradhar Rao Jonagam
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckSlideTeam
 

Ähnlich wie stackconf 2020 | The blinking cursor or kubernetes for people who aren´t supposed to use it by Michael Coté (20)

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...
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native Ecosystem
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystem
 
Kubernetes up running
Kubernetes up runningKubernetes up running
Kubernetes up running
 
Spring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptSpring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, Egypt
 
Better Software is Better than Worse Software - Nate Schutta
Better Software is Better than Worse Software - Nate SchuttaBetter Software is Better than Worse Software - Nate Schutta
Better Software is Better than Worse Software - Nate Schutta
 
Kubernetes at Google Cloud Community Copenhagen
Kubernetes at Google Cloud Community CopenhagenKubernetes at Google Cloud Community Copenhagen
Kubernetes at Google Cloud Community Copenhagen
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
 
Google Cloud Platform and Kubernetes
Google Cloud Platform and KubernetesGoogle Cloud Platform and Kubernetes
Google Cloud Platform and Kubernetes
 
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
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...
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete Deck
 

Kürzlich hochgeladen

Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfQ-Advise
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfTestgrid.io
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionMohammed Fazuluddin
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdfkalichargn70th171
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersEmilyJiang23
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfFurqanuddin10
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 

Kürzlich hochgeladen (20)

Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 

stackconf 2020 | The blinking cursor or kubernetes for people who aren´t supposed to use it by Michael Coté

  • 1. @cote Kubernetes for Developers, Architects, & Other People Who Aren't Supposed to Use or Even Know About Kubernetes An investigation into kubernetes konfusion
  • 2. "Kubernetes is a platform for building platforms." "Nobody will care about Kubernetes in five years." "If you have a Kubernetes strategy you've already failed." "Don't even try to run your own Kubernetes cluster." "Kubernetes 'is now very, very boring.'" "Containers Will Not Fix Your Broken Culture" 2Sources: @kelseyhightower, @quinnypig, @pczarkowski, @cowboyd, @janet_kuo, @bridgetkromhout.
  • 3. So...as a developer, I should…? 3 1.) Move pixels on the screen (product) 2.) Remove waste to focus on #1 Pics: Regan Walsh.
  • 4. 4Sources: Monolithic Transformation, The Business Bottleneck.
  • 5. 5Sources: Sophie Seiwald, Daimler, case study in The Business Bottleneck. Pics: Luke Kanies.
  • 6. 6Pic: based on James Watters VMworld 2019 keynote; concept to ka-ching, Edwards and Willis.
  • 7. Estimate: 30% to 40% of orgs do CI, fewer CD "In a survey of developers, 60% of respondents stated they release applications twice a year or less." 7 Sources: Estimate based on Forrester survey (2019), DZone CD reports (2014, 2015, 2016, 2017, 2019); release frequency from 2019 Forrester TEI study, “CEOs and Software,” Rymer & Hammond, Forrester, Jan 2019.
  • 8. 8 In large organizations, governance is key to scaling waste removal. Governance comes from standardization. Theory: cloud native platforms can be platforms of good, enterprise governance.
  • 10. 10 Kubernetes basics Primitives ● yaml describes & configures ● Containers & pods, run in VMs, in clusters ● Managed by controllers & the scheduler ● System state stored in cluster store & ConfigMap ● "Resources" standardized, self-service Behavior ● Enforce desired state ● Self-heal with autorestarting ● Scale with ReplicaSets ● Deployment plans, e.g., rolling ● Networking is still magical
  • 11. For much better explanations... 11 Spring Cloud Kubernetes http://Kube.Academy
  • 12. You're building distributed apps. 12 Container-oriented development.
  • 13. Building containers 13 - You build it, you own it - Endless fiddly stuff - Standardize on a tool - Standardize on images/registry - Tools: spring-boot:buildimage, jib, buildpacks, etc. More: "Effective Spring on Kubernetes," 2020; "Best Practices to Spring to Kubernetes Easier and Faster," Ray Tsang, 2019.
  • 14. Pods are like servers...sort of 14 [T]he right question to ask yourself when designing Pods is, “Will these containers work correctly if they land on different machines?” If the answer is “no,” a Pod is the correct grouping for the containers. If the answer is “yes,” multiple Pods is probably the correct solution. In the example at the beginning of this chapter, the two containers interact via a local filesystem. It would be impossible for them to operate correctly if the containers were scheduled on different machines.” -Kubernetes Up & Running “ ● One or more containers that share a network and storage. E.g., front-end. ● The thing that's replicated ● E.g., databases pod alone
  • 15. Packaging 15Pic: @benbravo73's Spring Music Store in Kubernetes. Obviously: containers Think in terms of "deployments" - pods, with containers, with resources Declarative changes through yaml Externalized configuration (ConfigMap or ENV) Release strategies, e.g., rolling Use Helm
  • 16. Probes & Life-cycle 16 - livenessProbe - readinessProb e - startupProbe - PostStart - PreStop - Log to stdout/err
  • 17. Externalized Configuration 17 Specification: - ConfigMap - Map the map in deployment - Cheat with the command line Access: - ENV - Files in container - Framework, e.g., Spring Cloud Kubernetes
  • 18. A whole lot more… Internalized Configuration Storage Network Routes Load Balancers Secrets Incident Management, Logs, Observability Sidecars, Handlers, etc. Hopefully, a friendly ops person handles these. 18
  • 20. Use a platform to implement enterprise governance API GATEWAY CONFIG SERVICE CIRCUIT BREAKER BLUE/ GREEN SERVICE DISCOVERY STREAM EVENTS REACTIVE BUILD SERVICE (Detect & Compile) MESH & ROUTE LOG & TRACE SERVICE BROKER EMB CI & CD >kubectl run {myimage} >pfs create {myfunction} FUNCTIONS API PUBLIC/PRIVATE ‘CLOUD INFRASTRUCTURE’ APPLICATIONS API >cf push {mycode} CONTAINERS API CLUSTER MANAGER (Continuous Updates) MULTI TENANCY IMAGE REGISTRY VMs, CONTAINERS & NETWORKS as API EMBEDDED OPERATING SYSTEMS (LINUX & WINDOWS) Hw Network Vm Os Container Runtime Access Ctrl Monitoring Frameworks App Logic >cf bind {marketplace} You invest above the lines App Stack Enterprise Architecture as Code
  • 21. Dedicated Balanced Platform Team Application Developers PIVOTAL CLOUD FOUNDRY DATABAS E SERVICES SELF-SERVICE PORTAL 3RD PARTY INTEGRATION S FEEDBACK LOOP FEEDBACK LOOP CI/CD MONITORIN G & LOGGING cf push cf push Enterprise governance through platform as a product 21 More: "Platform as a Product" presentation, Sep 2019. Pic: @deniseyu21.
  • 22. The Case for Modernization 22 - Unique to enterprises - Years of M&A, tech debt, old business models - Silent killer of business innovation - "You can put any garbage you want in a containerkubernetes" Pic: @AreasAbandoned; garbage quote adapted from @pczarkowski.
  • 23. 23 Ongoing portfolio management - With 1,000's of apps, it will take years - Evaluate for technical fit - Evaluate for business value - Establish criteria for success - Retro projects, adapt strategy ongoing - Start small: store finders, single API methods - Maintain a cookbook - Do no harm Sources: Rohit Kelapure, Jan 2019; "How AirFrance KLM is Modernizing 2,000 Legacy Applications," Dec 2019; "How T-Mobile Built and Scaled Kubernetes On-Prem for the 2018 Retail Season," Dec 2018.
  • 24. Technical improvements Daily deploys +30% developer productivity +78% operational efficiency No weekend work Business improvements 11% conversion rate 40% reduced call center volume 6 months to launch a new business Software-driven businesses 24
  • 25. 25 Coté* @cote | http://cote.io * Full name: Michael Coté, but no one calls him "Michael" except his wife and mother.