Présentation faite au GDG Nantes Cloud le 17/02/2022.
Faut-il avoir peur du [cloud] vendor lock-in?
En tant que consultant, je rencontre régulièrement des clients réticents à l’idée d’utiliser les services spécifiques des Cloud Providers, comme AWS Athena ou Lambda, et ce par crainte du vendor lock-in. Ces clients sont en général connu des problèmes de dépendances avec leurs fournisseurs historiques (Oracle, IBM, Red Hat…)
Ils tentent de mettre en place différentes stratégies pour limiter cette dépendance :
IaaS Only
Multi-Cloud
Cloud ready
Automatisation commune aux Cloud Providers (ex: Pulumi)
Néanmoins, ces solutions sont purement techniques, coûteuses à mettre en place, et ne prennent pas en compte toutes les dimensions du problème.
Le but de ce talk est de proposer une autre vision du problème, et de déconstruire certaines idées reçues autour du vendor-lock in.
9. “
“
Chez nous on utilise que
des solutions open
source, on n’a pas de
problèmes de lock-in.
10. Faut-il avoir peur du [cloud] vendor
lock-in?
1. Définitions
2. Le vendor lock-in sous toutes ses formes
3. Une autre approche du lock-in
4. Conclusion
12. Cloud Vendor
An organization that sells computing infrastructure, software as
a service (SaaS) or storage. (source: PCMag)
13. Vendor lock-in
In economics, vendor lock-in makes a customer dependent on a
vendor for products and services, unable to use another vendor
without substantial switching costs (source: Wikipedia)
14. Le vendor lock-in est une
dette qu’il faudra payer
dans le futur (ou pas)
16. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
17. Lock-in contractuel
● Demande d’engagements en échange d’un tarif intéressant
○ Durée
○ Volume
● Le prix peut augmenter fortement
○ Modèle de facturation mal maîtrisé
○ Changement du modèle de licence
● Fin de support du produit
○ Migration forcée vers un nouveau produit plus cher
● Obtention de certifications
○ PCI-DSS
○ SecNumCloud
○ HDS
18. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
19. Lock-in des données
● L’export des données n’est pas toujours possible
○ Pas d’API pour exporter les données
○ Le throttling sur l’API ralentit les exports
○ Le format d’export n’est pas interopérable
● Parfois l’export est possible mais très coûteux
○ Trafic réseau sortant onéreux
○ Développements nécessaires pour faire des transformations
● La migration de données implique des contraintes opérationnelles
○ Downtime
○ Intégrité
20. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
21. Lock-in produit
● Interconnection de la solution avec le SI
○ Customisation
○ Développement d’interfaces spécifiques
● Ecart de fonctionnalités
○ Combler les trous avec des développements spécifiques
○ Fonctionnalités non disponibles ailleurs
22. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
23. Lock-in plateforme
● Droits d’accès IAM
○ Chaque provider dispose de sa propre solution
● Solution clés en main
○ Openshift
● Dépendances en cascade
○ Upgrade de kubernetes 1.14 vers 1.18
○ Demande l’upgrade de Helm
○ Demande l’upgrade de plusieurs charts Helm
○ Demande l’upgrade de toutes les applications
● Contraintes d’exécution
○ Hardware spécifique
24. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
25. Lock-in humain
● Risque de départs en cas de migration
○ Rester et se former au nouveau provider?
○ Ou partir valoriser ses compétences?
○ Y-a-t-il des compétences sur le marché?
● De nombreuses équipes sont impactées
○ DevOps, Développeurs, DBA (CloudFormation, Oracle...)
○ Sécurité (IAM, PRA…)
○ Fonctions supports (FinOps, facturation…)
● Quid des métiers qui n’ont pas d’équivalent dans la nouvelle cible?
○ Accompagner avec de la formation
26. Le vendor lock-in sous toutes ses formes
Lock-in contractuel
Lock-in des données
Lock-in produit
Lock-in plateforme
Lock-in humain
Lock-in architecture
Lock-in juridique
Lock-in mental
28. Comment choisir une solution?
● Il faut sortir du préjugé lock-in = mauvais
○ Le lock-in a parfois du bon
● Ce qui importe c’est le coût du changement
○ Toutes les dimensions doivent être prise en compte
● Comparé à ce qu’apporte la solution
○ Fonctionnalités uniques
○ Time To Market
○ Quality Of Service
○ Sécurité
● Pour décider, les objectifs IT et business doivent s’aligner
34. Conclusion
● Le lock-in comprend de nombreuses dimensions
○ Contrat, Données, Produit, Plateforme, RH
● Il existe des outils pour appréhender le problème
○ Rapport lock-in / valeur business
○ Modèles basiques
● Ces outils ont leur limites
○ Valeur perçue vs valeur réelle
○ Biais cognitifs
● Sujets non abordés
○ Indépendance stratégique (exemples: Wallmart w/ AWS, services publiques)
○ Freins juridiques (RGPD, Cloud Act)
35. Sources
● Gregor Hohpe
○ https://architectelevator.com/blog/
○ https://martinfowler.com/articles/oss-lockin.html
● Uwe Friedrichsen
○ https://www.ufried.com/
● Corey Quinn
○ https://www.lastweekinaws.com/blog/
● The New Stack
○ https://thenewstack.io/should-you-really-be-so-worried-about-cloud-lock-in/
Cloud Builder @ WeScale
Vault trainer
Can find me on Twitter
Co-organizer of CNCF Meetup Nantes
Transition :
Demonstration with an example
Pitch = Né dans le Cloud en 2015, WeScale c’est déjà plus de 50 expert(e)s dont l’unique mission est de vous aider à devenir Cloud Native.
Nous vous aidons à penser, construire et maîtriser vos architectures Cloud Native, en nous adaptant en continu à votre maturité.
Ce qui nous distingue, c’est notre niveau élevé d’expertise et d’accompagnement personnalisé sur les technologies Cloud Native, avec la conviction qu’un savoir-faire n’a de valeur que s’il est partagé.
Nous sommes également membre de la CNCF, Service Provider et Training Partners.
En partenariat avec Hashicorp, mais aussi avec AWS et GCP.
Nous recrutons sur Paris, Nantes et en full remote.
De quoi à-t-on peur quand on parle de vendor lock-in?
Être dépendant de son fournisseur
Être bloqué sur une technologie potentiellement obsolète
Migration vers une autre solution difficile
Position de vulnérabilité
Photo by Chepe Nicoli : https://unsplash.com/photos/UAElX0OkC2g
Augmentation importante du prix pour le même service
Photo by Sharon McCutcheon : https://unsplash.com/photos/8lnbXtxFGZw
Baisse de qualité de service pour le même prix
Obsolescence du système
Photo by Zach Vessels : https://unsplash.com/photos/pzqTAdsDdyI
Différentes stratégies pour résoudre le problème :
Multi-Cloud : déployer la même application sur plusieurs cloud providers
Cloud-Ready : l’application peut être déployée sur le cloud public et privé
IaaS only : utilisation uniquement de services IaaS, les plus répandus
Approche très techniques du lock-in
Pas d’accord :
Ces solutions apportent aussi du lock-in
Coût de changement prohibitif pour certaines (Kubernetes…)
Exemples récents
CentOS
Elasticsearch
Ces approches sont dogmatiques et pas toujours adaptées
Objectifs
Définir ce qui pose problème avec le vendor lock-in
Proposer une approche basée sur des modèles
Point important : j’inclus les provider de solutions SaaS
Salesforce
Stripe
Le lock-in n’est pas solution propriétaire vs open source
Point important : switching cost
Le lock-in est une dette qu’il faudra potentiellement payer dans le futur
Dette = somme substantielle
Ou pas = probabilité de changement
Ne pas avoir une vision manichéenne du lock-in
Il faut mettre en perspective avec ce qu’apporte la solution
Mesurer l’ampleur du problème
Différents centre de coûts de changement
5 dimentions
Engagements fermes
On ne migre pas quand on veut
Exemples :
Oracle qui fait des audits d’utilisation des licences
Certains services SaaS (en particulier gratuit) ont accès à vos données
Export des données
Technique : l’export est-il possible? Par quel moyen? Dans quel format? Pour quelle durée
Financier : coût des appels API, coût du transfert de données
Exemples : Salesforce, Stripe, SAP
IAM : en cas de changement de cloud il faut tout refaire
Exemple : Migration AWS vers IBM Cloud
Certains préfèreront aller voir ailleurs
Métiers impactés
DBA oracle sans oracle?
Sécurité
En cas de stratégie multi-cloud il faut tout faire en double!
Il existe plein d’autres sortes de lock-in
Architecture : dur de revenir d’une archi micro-services
Juridique : logiciels de comptabilité en Chine
Mental : on a toujours fait comme ça
En même temps c’est notre travail de faire des choix
Comment savoir si on fait le bon choix?
Approche du lock-in basée sur des modèles pour la prise de décision
Utilisation des dimensions vues précédentes
Modèles proposés par Gregor Hohpe, conseiller en stratégies Cloud
Switching cost : quelle difficulté pour changer de solution?
Unique utility : quel gain par rapport aux autres alternatives?
Disposable : N’apporte rien de spécial mais est facile à changer
Ex: EFS, SQS
Accepted lock-in : Difficile de changer mais apporte beaucoup de valeur
Google Cloud BigQuery
Caution : Apporte du lock-in sans contrepartie
Ex : BDD propriétaire
Ideal : Apporte de la valeur sans lock-in
Ex : Docker (car standardisé)
Transition :
No worries
Ex : Conteneurs
Caution : coûte cher à changer et va probablement changer
Architecture microservices si business pas mature
Gamble : peu probable de changer mais coûte cher
Cloud provider
Agility
Certaines librairies
Espérance de coût : coût estimé x probabilité de changer
Ex : kubernetes, multi-cloud
Analogie avec les options en finance
On paie le droit d’acheter ou non des actions à dans le futur à un prix connu
On paie pour décaler le moment de la décision
Liability = dette
Abscisse = Option price = montant investi pour limiter le lock-in
Ordonnée = Coût total
Plus on investit, plus la dette diminue
SI on ajoute le montant investi et la dette ça coûte plus cher
L’investissement initial, la complexité sont sous-estimés
Aphorisme couramment utilisé en statistiques
Pas de solutions miracles
Utiliser ces modèles lors des prises de décision
Ex : atelier durant lequel chacun place les choix technologiques sur les modèles