SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Ou comment diviser par 18 le coût de la chaîne CI/CD…
Julien Garderon – juin 2021
Sommaire
—
Dépôt typique Python (ex.)
Modalités de build
Organisation totale
Négocier les versions
Ajuster les coûts
Page blanche
Concepts fondamentaux
Python
C
Monde « Java »
Javascript Typescript
LISP (CL)
Forth
Abstraction
Code
machine
Code
pseudo-machine
Bytecode
Interprétation
2
1
1 : Compilation (changement d’abstraction ; ex. compilation du C vers du code machine)
2 : Transcompilation (changement de format d’abstraction ; ex. transcompilation de Typescript vers du
Javascript)
=> Exemple d’un changement de langage : procédural vers fonctionnel ; changement syntaxique entre des
versions, etc.
Concepts de « construction », « compilation », etc.
« Un compilateur source à source,
transpileur ou transcompilateur est
un type de compilateur qui prend le
code source d'un langage de
programmation et le compile dans
un autre langage de
programmation. Un compilateur
source-à-source opère sur deux
langages avec approximativement
le même niveau d'abstraction,
alors qu'un compilateur traditionnel
compile un langage de haut niveau
vers un langage de bas niveau. »
– Wikipédia, Compilateur source à
source
Format
le « grand flou » entre la pure interprétation et le code machine
Bas niveau Haut niveau
Dépôt Git
(avec code Python)
Registre
PIP
Dépôt typique python
Étape 1 : test statique
Étape 2 : test dynamique
Étape 3 : création de la doc
Étape 4 : création de l’artefact PIP
Étape 5 : enregistrement auprès du registre
Chaîne de
construction
d’un élément
Étapes « qualité »
Étapes « connaissance »
(dont génération des graphiques
avec PlantUML, Kroki, etc.)
Étapes « mise à disposition »
! (alerte de fin : web hook)
et
Module 1
Module 2
Applicatif
Installateur
Déploiement
2 2’
Module 1 Module 2 Applicatif InstallateurDéploiement
1 1’
Ex. 1 : Chaîne unique (« intégrée »)
Ex. 2 : Chaînes multiples
Modalités de build
Runner plus puissant
(max du besoin sur la
chaîne) ; gérer
davantage les
branches ; créer des
bypass
Adapter chaque runner à
sa tâche ; tests locaux ;
optimiser le « time to
execute » ; gérer
finement les versions
On prend le max de la construction
(car parallélisation)
Exemple ici d’un projet d’applicatif
Python avec deux modules, un corps
principal sous le format d’un package
et un installateur (.deb). L’ensemble
est fourni sous le format d’une image
Docker, pour être utilisé dans un
orchestrateur type Kubernetes
Dépôt module 1
Dépôt module 2
Dépôt applicatif
Dépôt de déploiement
Dépôt d’installateur
Registre
PIP
Registre
DEB
Registre
Conteneur
Registre
documentation
Orchestrateur
1
2 3
4
Organisation totale
Un dépôt
= un
sous-projet
L’organisation du projet peut impacter l’organisation
des dépôts – et inversement (ex. classique entre
un projet monolithique vs un projet multiple sous le
format de micro-services). Il doit rester une
cohérence d’ensemble
v1
Dépôt module 1 Dépôt module 2 Dépôt applicatif Dépôt de déploiement
Dépôt d’installateur
v1
v2
v3
v4
v2
v3
v4
v5
v6
v1
v2
v3
v4
v5
v6
v7
v8
v1
v2
v3
v4
(origine)
Instant « T1 » => déploiement v(g) 1
Ex. dernière version dispo.
●
Module 1 = v1
●
Module 2 = v2
●
App = v2
●
Installateur = v1
Instant « T2 » => déploiement v(g) 2 à 4
Ex. fixer une version
●
Module 1 = v2
●
Module 2 = v3
●
App = v5 à v7 suivant
●
Installateur = v3
Suivant la date de livraison, pour une
même version « v3 » de mon installateur,
je livre en réalité 3 images différentes
pour le « run »
Négocier les versions
Temps
Ajuster les coûts
Besoin technique :
●
chaîne unique : B2-15
●
0,1169 € / heure
●
42,00 € / mois
●
chaînes multiples : B2-7
●
0,0619 € / heure
●
22 € / mois
Durées horaires (hors coût projet, estimations fictives) :
●
Construction module 1 : 1
●
Construction module 2 : 0,5
●
Construction applicatif : 0,75
●
Construction installateur : 0,25
●
Déploiement : 1
Durée cumulée pour un déploiement (avec build) :
●
Intégrée : 1 + 0.5 + 0.75 + 0.25 + 1 = 3,5
●
Parallèle : max(1 ; 0.5; 0.75; 0.25) + 1 = 2
Coût d’un déploiement :
●
Intégrée (B2-15) :
●
Location horaire : 3.5 => 4 x 0,1169 = 0,40915 €
●
Location mensuelle : 42 €
●
Parallèle (B2-7) :
●
Location horaire : 2 x 0,0619 = 0,1238 €
●
Location mensuelle : 22 €
Point de bascule location horaire vs mensuelle :
●
Intégrée : 42 / 0,40915 = 102 déploiements
●
Parallèle : 22 / 0,1238 = 176 déploiements
Nbre de déploiements 1 10 100 125 150 175 200 1000
Intégré (mensuelle) 42 42 42 42 42 42 42 43
Intégré (horaire) 0,40915 4,0915 40,915 51,14375 61,3725 71,60125 81,83 409,15
Parallèle (mensuelle) 22 22 22 22 22 22 22 23
Parallèle (horaire) 0,1238 1,238 12,38 15,475 18,57 21,665 24,76 123,8
1 10 100 125 150 175 200 1000
0
15
30
45
60
75
90
105
120
135
Evol. coûts d'une livraison de version
Chaîne de compilation et déploiement, par modalité
Intégré (mensuelle)
Intégré (horaire)
Parallèle (mensuelle)
Parallèle (horaire)
Nbre de déploiements prévus / mois
en
€
HT
1h x 24 x 30 = 720h ; hors 44,56 € si location horaire (au lieu de 22 € en location
mensuelle) => pousse à la location mensuelle
Organiser son CI/CD - présentation

Contenu connexe

Tendances (20)

Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptx
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
DevOps a pratical approach
DevOps a pratical approachDevOps a pratical approach
DevOps a pratical approach
 
Docker
DockerDocker
Docker
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XP
 
DevOps
DevOps DevOps
DevOps
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 

Similaire à Organiser son CI/CD - présentation

Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Ippon
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Microsoft
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxThomasParaiso1
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...Publicis Sapient Engineering
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérienceKhanh Maudoux
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation MavenSOAT
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreMicrosoft
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfHamida Rebai Trabelsi
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp FrGregory Renard
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Parischristophep21
 

Similaire à Organiser son CI/CD - présentation (20)

Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation Maven
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp Fr
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
 

Plus de Julien Garderon

Audit sécurité - campus CESI Angoulême 2019
Audit sécurité - campus CESI Angoulême 2019 Audit sécurité - campus CESI Angoulême 2019
Audit sécurité - campus CESI Angoulême 2019 Julien Garderon
 
Penser son système d’information, appréhender ses évolutions
Penser son système d’information, appréhender ses évolutions Penser son système d’information, appréhender ses évolutions
Penser son système d’information, appréhender ses évolutions Julien Garderon
 
Penser son Système d’Information, Appréhender ses évolutions
Penser son Système d’Information, Appréhender ses évolutions Penser son Système d’Information, Appréhender ses évolutions
Penser son Système d’Information, Appréhender ses évolutions Julien Garderon
 
"Sauver le TER" en Nouvelle-Aquitaine
"Sauver le TER" en Nouvelle-Aquitaine "Sauver le TER" en Nouvelle-Aquitaine
"Sauver le TER" en Nouvelle-Aquitaine Julien Garderon
 
Parc automobile régional de Poitou-Charentes (2012)
Parc automobile régional de Poitou-Charentes (2012) Parc automobile régional de Poitou-Charentes (2012)
Parc automobile régional de Poitou-Charentes (2012) Julien Garderon
 
Intelligence Politique, renseignement, influence et organisation de l'informa...
Intelligence Politique, renseignement, influence et organisation de l'informa...Intelligence Politique, renseignement, influence et organisation de l'informa...
Intelligence Politique, renseignement, influence et organisation de l'informa...Julien Garderon
 
Lot de document #1 - Budget régional de Poitou-Charentes
Lot de document #1 - Budget régional de Poitou-CharentesLot de document #1 - Budget régional de Poitou-Charentes
Lot de document #1 - Budget régional de Poitou-CharentesJulien Garderon
 
Tract - "Vous avez le droit de savoir !"
Tract - "Vous avez le droit de savoir !" Tract - "Vous avez le droit de savoir !"
Tract - "Vous avez le droit de savoir !" Julien Garderon
 
"Le milliard de promesses irréalisées"
"Le milliard de promesses irréalisées" "Le milliard de promesses irréalisées"
"Le milliard de promesses irréalisées" Julien Garderon
 

Plus de Julien Garderon (9)

Audit sécurité - campus CESI Angoulême 2019
Audit sécurité - campus CESI Angoulême 2019 Audit sécurité - campus CESI Angoulême 2019
Audit sécurité - campus CESI Angoulême 2019
 
Penser son système d’information, appréhender ses évolutions
Penser son système d’information, appréhender ses évolutions Penser son système d’information, appréhender ses évolutions
Penser son système d’information, appréhender ses évolutions
 
Penser son Système d’Information, Appréhender ses évolutions
Penser son Système d’Information, Appréhender ses évolutions Penser son Système d’Information, Appréhender ses évolutions
Penser son Système d’Information, Appréhender ses évolutions
 
"Sauver le TER" en Nouvelle-Aquitaine
"Sauver le TER" en Nouvelle-Aquitaine "Sauver le TER" en Nouvelle-Aquitaine
"Sauver le TER" en Nouvelle-Aquitaine
 
Parc automobile régional de Poitou-Charentes (2012)
Parc automobile régional de Poitou-Charentes (2012) Parc automobile régional de Poitou-Charentes (2012)
Parc automobile régional de Poitou-Charentes (2012)
 
Intelligence Politique, renseignement, influence et organisation de l'informa...
Intelligence Politique, renseignement, influence et organisation de l'informa...Intelligence Politique, renseignement, influence et organisation de l'informa...
Intelligence Politique, renseignement, influence et organisation de l'informa...
 
Lot de document #1 - Budget régional de Poitou-Charentes
Lot de document #1 - Budget régional de Poitou-CharentesLot de document #1 - Budget régional de Poitou-Charentes
Lot de document #1 - Budget régional de Poitou-Charentes
 
Tract - "Vous avez le droit de savoir !"
Tract - "Vous avez le droit de savoir !" Tract - "Vous avez le droit de savoir !"
Tract - "Vous avez le droit de savoir !"
 
"Le milliard de promesses irréalisées"
"Le milliard de promesses irréalisées" "Le milliard de promesses irréalisées"
"Le milliard de promesses irréalisées"
 

Organiser son CI/CD - présentation

  • 1. Ou comment diviser par 18 le coût de la chaîne CI/CD… Julien Garderon – juin 2021 Sommaire — Dépôt typique Python (ex.) Modalités de build Organisation totale Négocier les versions Ajuster les coûts Page blanche Concepts fondamentaux
  • 2. Python C Monde « Java » Javascript Typescript LISP (CL) Forth Abstraction Code machine Code pseudo-machine Bytecode Interprétation 2 1 1 : Compilation (changement d’abstraction ; ex. compilation du C vers du code machine) 2 : Transcompilation (changement de format d’abstraction ; ex. transcompilation de Typescript vers du Javascript) => Exemple d’un changement de langage : procédural vers fonctionnel ; changement syntaxique entre des versions, etc. Concepts de « construction », « compilation », etc. « Un compilateur source à source, transpileur ou transcompilateur est un type de compilateur qui prend le code source d'un langage de programmation et le compile dans un autre langage de programmation. Un compilateur source-à-source opère sur deux langages avec approximativement le même niveau d'abstraction, alors qu'un compilateur traditionnel compile un langage de haut niveau vers un langage de bas niveau. » – Wikipédia, Compilateur source à source Format le « grand flou » entre la pure interprétation et le code machine Bas niveau Haut niveau
  • 3. Dépôt Git (avec code Python) Registre PIP Dépôt typique python Étape 1 : test statique Étape 2 : test dynamique Étape 3 : création de la doc Étape 4 : création de l’artefact PIP Étape 5 : enregistrement auprès du registre Chaîne de construction d’un élément Étapes « qualité » Étapes « connaissance » (dont génération des graphiques avec PlantUML, Kroki, etc.) Étapes « mise à disposition » ! (alerte de fin : web hook) et
  • 4. Module 1 Module 2 Applicatif Installateur Déploiement 2 2’ Module 1 Module 2 Applicatif InstallateurDéploiement 1 1’ Ex. 1 : Chaîne unique (« intégrée ») Ex. 2 : Chaînes multiples Modalités de build Runner plus puissant (max du besoin sur la chaîne) ; gérer davantage les branches ; créer des bypass Adapter chaque runner à sa tâche ; tests locaux ; optimiser le « time to execute » ; gérer finement les versions On prend le max de la construction (car parallélisation) Exemple ici d’un projet d’applicatif Python avec deux modules, un corps principal sous le format d’un package et un installateur (.deb). L’ensemble est fourni sous le format d’une image Docker, pour être utilisé dans un orchestrateur type Kubernetes
  • 5. Dépôt module 1 Dépôt module 2 Dépôt applicatif Dépôt de déploiement Dépôt d’installateur Registre PIP Registre DEB Registre Conteneur Registre documentation Orchestrateur 1 2 3 4 Organisation totale Un dépôt = un sous-projet L’organisation du projet peut impacter l’organisation des dépôts – et inversement (ex. classique entre un projet monolithique vs un projet multiple sous le format de micro-services). Il doit rester une cohérence d’ensemble
  • 6. v1 Dépôt module 1 Dépôt module 2 Dépôt applicatif Dépôt de déploiement Dépôt d’installateur v1 v2 v3 v4 v2 v3 v4 v5 v6 v1 v2 v3 v4 v5 v6 v7 v8 v1 v2 v3 v4 (origine) Instant « T1 » => déploiement v(g) 1 Ex. dernière version dispo. ● Module 1 = v1 ● Module 2 = v2 ● App = v2 ● Installateur = v1 Instant « T2 » => déploiement v(g) 2 à 4 Ex. fixer une version ● Module 1 = v2 ● Module 2 = v3 ● App = v5 à v7 suivant ● Installateur = v3 Suivant la date de livraison, pour une même version « v3 » de mon installateur, je livre en réalité 3 images différentes pour le « run » Négocier les versions Temps
  • 7. Ajuster les coûts Besoin technique : ● chaîne unique : B2-15 ● 0,1169 € / heure ● 42,00 € / mois ● chaînes multiples : B2-7 ● 0,0619 € / heure ● 22 € / mois Durées horaires (hors coût projet, estimations fictives) : ● Construction module 1 : 1 ● Construction module 2 : 0,5 ● Construction applicatif : 0,75 ● Construction installateur : 0,25 ● Déploiement : 1 Durée cumulée pour un déploiement (avec build) : ● Intégrée : 1 + 0.5 + 0.75 + 0.25 + 1 = 3,5 ● Parallèle : max(1 ; 0.5; 0.75; 0.25) + 1 = 2 Coût d’un déploiement : ● Intégrée (B2-15) : ● Location horaire : 3.5 => 4 x 0,1169 = 0,40915 € ● Location mensuelle : 42 € ● Parallèle (B2-7) : ● Location horaire : 2 x 0,0619 = 0,1238 € ● Location mensuelle : 22 € Point de bascule location horaire vs mensuelle : ● Intégrée : 42 / 0,40915 = 102 déploiements ● Parallèle : 22 / 0,1238 = 176 déploiements Nbre de déploiements 1 10 100 125 150 175 200 1000 Intégré (mensuelle) 42 42 42 42 42 42 42 43 Intégré (horaire) 0,40915 4,0915 40,915 51,14375 61,3725 71,60125 81,83 409,15 Parallèle (mensuelle) 22 22 22 22 22 22 22 23 Parallèle (horaire) 0,1238 1,238 12,38 15,475 18,57 21,665 24,76 123,8 1 10 100 125 150 175 200 1000 0 15 30 45 60 75 90 105 120 135 Evol. coûts d'une livraison de version Chaîne de compilation et déploiement, par modalité Intégré (mensuelle) Intégré (horaire) Parallèle (mensuelle) Parallèle (horaire) Nbre de déploiements prévus / mois en € HT 1h x 24 x 30 = 720h ; hors 44,56 € si location horaire (au lieu de 22 € en location mensuelle) => pousse à la location mensuelle