Contenu connexe Similaire à La Duck Conf - "Elle est ou ton appli ? Dans mon kube" (20) Plus de OCTO Technology (20) La Duck Conf - "Elle est ou ton appli ? Dans mon kube"1. OCTO Part of Accenture Digital © 2019 - All rights reserved
2. OCTO Part of Accenture Digital © 2020 - All rights reserved 2
Elle est où ton appli ?
Dans mon Kube !
3. OCTO Part of Accenture Digital © 2020 - All rights reserved 3
Who are we ?
Benjamin
BRABANT
DEV
Lucas
BOISSERIE
OPS
4. OCTO Part of Accenture Digital © 2020 - All rights reserved 4
Foire aux questions
Généralisation et démocratisation du Kube sur le marché
Mais côté appli faut faire quoi ?
Et ça change l’orga ou pas ?
Ça change quoi Jami ?
Un nouveau standard ?
Oh wait ça marche avec du legacy ?
Et on met ça en prod chez nos clients ?
5. OCTO Part of Accenture Digital © 2020 - All rights reserved 5
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
6. OCTO Part of Accenture Digital © 2020 - All rights reserved 6
Mais Kubernetes, Késako ?
IMPLÉMENTATION TECHNIQUERESSOURCES LOGIQUES
Node3 Node4
Node1 Node2
7. OCTO Part of Accenture Digital © 2020 - All rights reserved 7
Où poser mon Kube ?
Infra
Orga
Appli
Retour d’expérience
dans le monde du
RETAIL
8. OCTO Part of Accenture Digital © 2020 - All rights reserved 8
Pick your poison
MANAGED
HOME MADE
9. OCTO Part of Accenture Digital © 2020 - All rights reserved 9
Kubernetes Managed ou On Premise ?
MANAGED « HYBRID » ON PREMISE
10. OCTO Part of Accenture Digital © 2020 - All rights reserved 10
Je mets tout dans un Kube ?
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
11. OCTO Part of Accenture Digital © 2020 - All rights reserved 11
Ou la délicate question de la multi-tenancy
CLUSTER KUBERNETES
QUOTAS
NETWORK POLICY
RBAC
PSP
DEV REC PREPROD PROD
app-a app-a app-a app-a
app-b app-b app-b app-b
12. OCTO Part of Accenture Digital © 2020 - All rights reserved 12
Vers un modèle à plusieurs clusters
DEV
app-a-dev app-a-rec
PREPROD
app-a
PROD
app-a
app-b-dev app-b-rec app-b app-b
13. OCTO Part of Accenture Digital © 2020 - All rights reserved 13
Comment je rentre dans mon Kube, en SSH ?
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
14. OCTO Part of Accenture Digital © 2020 - All rights reserved 14
Ou comment repenser son modèle d’opération avec Kubernetes ?
Cluster
Ressources
kubectl / APIs
Utilisateur
Administrateur
15. OCTO Part of Accenture Digital © 2020 - All rights reserved 15
Kubernetes réinvente le métier d’ingénieur opérationnel
Le nouvel OPS
Consulter les logs
d’une application
Monter son cluster
en version
Accéder directement
à une application
Diagnostiquer
un problème
Filtrer les flux réseau
Gérer les capacités
d’un cluster
Modéliser et Exposer
des applications
Gérer les accès
(re)Déployer des
applications
16. OCTO Part of Accenture Digital © 2020 - All rights reserved 16
Kubernetes réinvente le métier d’ingénieur opérationnel
Le nouvel OPS
Consulter les logs
d’une application
Monter son cluster
en version
Accéder directement
à une application
Diagnostiquer
un problème
Filtrer les flux réseau
Gérer les capacités
d’un cluster
Modéliser et Exposer des applications
Gérer les accès
(re)Déployer des
applications
17. OCTO Part of Accenture Digital © 2020 - All rights reserved 17
app-c.mynet.com
18. OCTO Part of Accenture Digital © 2020 - All rights reserved
Monter son cluster en version
18
Kubernetes réinvente le métier d’ingénieur opérationnel
Le nouvel OPS
Consulter les logs
d’une application
Accéder directement
à une application
Diagnostiquer
un problème
Filtrer les flux réseau
Gérer les capacités
d’un cluster
Modéliser et Exposer
des applications
Gérer les accès
(re)Déployer des
applications
19. OCTO Part of Accenture Digital © 2020 - All rights reserved 19
LBhttp://app-c.mynet.com
cordon1
drain2
upgrade3
v1.16 v1.16 v1.16
uncordon4
roll5
v1.17 v1.17 v1.17
20. OCTO Part of Accenture Digital © 2020 - All rights reserved
« I suppose it is tempting, if
the only tool you have is a
hammer, to treat everything as
if it were a nail »
Abraham Maslow
The Psychology of Science, 1966
20
Kubernetes ≠ Silver Bullet ?
21. OCTO Part of Accenture Digital © 2020 - All rights reserved 21
Kubernetes ≠ Silver Bullet ?
SECRETS
LOG SUPERVISION
STOCKAGE
22. OCTO Part of Accenture Digital © 2020 - All rights reserved 22
Comment je m’organise pour gérer mon Kube ?
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
23. OCTO Part of Accenture Digital © 2020 - All rights reserved 23
Vers une organisation DevOps
FEATURE TEAM A
OPSDéveloppeursTech LeadProduct Owner
FEATURE TEAM B
OPSDéveloppeursTech LeadProduct Owner
AUTRE FEATURE TEAM
OPSDéveloppeursTech LeadProduct Owner
CaaS
OPS
Développeurs
Tech Lead
Product Owner
FOURNISSEUR
INFRASTRUCTURE
24. OCTO Part of Accenture Digital © 2020 - All rights reserved 24
Autonomiser les équipes produits…
J V L M M J V L M M J V L M M J V L M
MEP
APP
1
APP
2
APP
3
MEP
MEP
MEP
MEPMEP
25. OCTO Part of Accenture Digital © 2020 - All rights reserved 25
… et gérer sa plateforme comme un produit
J V L M M J V L M M J V L M M J V L M
MEP
APP
1
APP
2
APP
3
MEP
MEP
MEP
MEPMEP
CaaS
MEP MEP
26. OCTO Part of Accenture Digital © 2020 - All rights reserved 26
Une nouvelle dimension pour l’équipe CaaS
Du rôle d’OPS à celui de SRE d’un produit d’infrastructure
LUNDI MARDI MERCREDI JEUDI VENDREDI
Maintien en opération
de la plateforme
RÔLE & RESPONSABILITÉS
Évolutions sur la
plateforme Kubernetes
Support aux équipes utilisatrices
Formation
Cadrage / Arbitrage
27. OCTO Part of Accenture Digital © 2020 - All rights reserved
Outil en mode FORUM, complétement ouvert
TRANSPARENCE de l’activité de support
Rédaction de POST-MORTEM
MERGE REQUEST sur la documentation
HAPPY HOUR : Slot ritualisé en présentiel pour
accompagnement personnalisé
27
Une culture du partage
28. OCTO Part of Accenture Digital © 2020 - All rights reserved 28
Je peux mettre mon appli dans ton Kube ?
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
29. OCTO Part of Accenture Digital © 2020 - All rights reserved 29
Un rôle de conseil et d’arbitrage
ADAPTER
30. OCTO Part of Accenture Digital © 2020 - All rights reserved 30
Parle-moi des 12 travaux d’Herr Kube
Retour d’expérience
dans le monde du
Infra
Orga
Appli
RETAIL
31. OCTO Part of Accenture Digital © 2020 - All rights reserved
CODEBASE DEPENDENCIES CONFIG BACKING SERVICES
BUILD, RELEASE, RUN PROCESSES PORT BINDING CONCURRENCY
DISPOSABILITY DEV/PROD PARITY LOGS ADMIN PROCESSES
1
5
9
2
6
10
3
7
11
4
8
12
12factor.net
31
Jetons un œil aux Twelve Factors
32. OCTO Part of Accenture Digital © 2020 - All rights reserved 32
Conteneuriser son application
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
BIEN CONNAÎTRE LES CONTRAINTES ET DIFFICULTÉS
CONNUES POUR SA STACK TECHNIQUE
NE PAS NÉGLIGER L’IMPORTANCE D’OPTIMISER LA TAILLE
DES IMAGES DE CONTENEURS
GAGNER DU TEMPS GRÂCE AUX OUTILS MATURES
(GOOGLE JIB, BUILDPACK, KANIKO, … )
33. OCTO Part of Accenture Digital © 2020 - All rights reserved 33
Faire table rase du passé (KISS)
L’exemple des serveurs d’application Java
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
TOM
Exposition HTTP
Isolation applicative
Mutualisation de ressources
Découverte de services, annuaire
Gestion du cycle de vie applicatif
34. OCTO Part of Accenture Digital © 2020 - All rights reserved 34
Faire table rase du passé (KISS)
L’exemple des serveurs d’application Java
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
TOM
Exposition HTTP
Isolation applicative
Mutualisation de ressources
Découverte de services, annuaire
Gestion du cycle de vie applicatif
35. OCTO Part of Accenture Digital © 2020 - All rights reserved 35
Mettre tous ses œufs dans le même Kube
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
CaaS
Application Stateless
Cache de session
BaaS
API Gateway
Base de données
IaaS / Lift & Shift
Progiciel interne
Appli legacy
36. OCTO Part of Accenture Digital © 2020 - All rights reserved 36
Quand mon application vient avec ses briques d’infra
Retour d’expérience migration JHipster / Spring Cloud
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
Git Repo Config Server
Application A
Application B
Application C
Zuul Router / Proxy
Spring cloud
Eureka
Service Registry
Hystrix
Circuit Breaker
Load Balancer
Firewall
37. OCTO Part of Accenture Digital © 2020 - All rights reserved 37
Quand mon application vient avec ses briques d’infra
Retour d’expérience migration JHipster / Spring Cloud
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
Git Repo Config Server
Application A
Application B
Application C
Zuul Router / Proxy
Spring cloud
Eureka
Service Registry
Hystrix
Circuit Breaker
Load Balancer
Firewall
38. OCTO Part of Accenture Digital © 2020 - All rights reserved 38
Externaliser... Externaliser... Externaliser...
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
EXTERNALISER
LES SESSIONS
EXTERNALISER LES
SERVICES
EXTERNALISER LES
CONFIGURATIONS
EXTERNALISER
LES LOGS
39. OCTO Part of Accenture Digital © 2020 - All rights reserved 39
De l’importance d’exposer sa santé...
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
$ curl 127.0.0.1:8080/metrics
rest_client_request_status_codes{code="200",host="10.240.0.10:6443",method="DELETE"} 3
rest_client_request_status_codes{code="200",host="10.240.0.10:6443",method="GET"} 2758
rest_client_request_status_codes{code="201",host="10.240.0.10:6443",method="POST"} 58
STARTUP
Readiness
Probe
Liveness
Probe
Startup
Probe
READY
40. « Une application Cloud Native est capable de
faire face gracieusement aux pannes régulières
que constituent le commodity hardware des Cloud
Providers »
KISS
2
QUELS COMPOSANTS ?
3
EXTERNALISER !!!
4
OBSERVABILITÉ
5
DESIGN FOR FAILURE
6
CONTENEURISER
1
41. OCTO Part of Accenture Digital © 2020 - All rights reserved 41
Kubernetes,
nouveau standard
de facto ? Infra
Orga
Appli