[{"data":1,"prerenderedAt":2052},["ShallowReactive",2],{"docs-page-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-vm":3,"docs-navigation-fr-ca":1953,"docs-surround-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-vm":2047},{"id":4,"title":5,"body":6,"claimDependencies":1935,"description":1939,"extension":1940,"locale":1941,"meta":1942,"missingMedia":1943,"navigation":644,"owner":1944,"path":1945,"reviewStatus":1946,"seo":1947,"staleLinks":1948,"stem":1949,"technicalRisk":1950,"translationKey":1951,"__hash__":1952},"docs_fr_ca\u002Ffr-ca\u002Fdocs\u002F5.services\u002F8.azure-vm.md","Optimisation des machines virtuelles Azure",{"type":7,"value":8,"toc":1892},"minimark",[9,13,18,21,50,54,59,62,67,78,83,109,115,119,122,126,132,146,152,166,170,176,190,194,200,214,220,234,238,244,258,262,268,279,283,289,292,312,317,325,328,332,336,339,345,387,393,410,415,426,432,440,444,447,452,466,471,497,502,516,521,535,539,542,547,552,558,562,566,572,576,580,586,590,594,600,604,607,612,953,958,1204,1208,1212,1217,1232,1237,1255,1259,1262,1267,1281,1286,1300,1304,1307,1321,1325,1329,1334,1345,1350,1361,1365,1369,1380,1384,1395,1399,1403,1414,1418,1429,1433,1437,1448,1452,1466,1470,1474,1479,1482,1496,1499,1504,1507,1518,1523,1526,1546,1550,1555,1558,1569,1574,1588,1593,1595,1606,1610,1624,1628,1632,1635,1655,1659,1673,1677,1680,1704,1708,1713,1733,1739,1743,1746,1818,1827,1831,1834,1866,1869,1874,1888],[10,11,12],"p",{},"Jetscale offre une optimisation des coûts basée sur l'IA pour les machines virtuelles Azure. Nos agents spécialisés analysent vos charges de travail de calcul pour identifier les opportunités de dimensionnement optimal, les migrations de familles de VM et les alternatives rentables.",[14,15,17],"h2",{"id":16},"vue-densemble","Vue d'ensemble",[10,19,20],{},"Jetscale optimise les ressources des machines virtuelles Azure en analysant :",[22,23,24,32,38,44],"ul",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Utilisation des instances"," : modèles d'utilisation du CPU, de la mémoire, du disque et du réseau",[25,33,34,37],{},[28,35,36],{},"Analyse des coûts"," : dépenses actuelles vs configuration optimale",[25,39,40,43],{},[28,41,42],{},"Caractéristiques des charges de travail"," : exigences en ressources et modèles de performance",[25,45,46,49],{},[28,47,48],{},"Options de tarification"," : paiement à l'utilisation, instances réservées, Spot VMs",[14,51,53],{"id":52},"types-de-vm-pris-en-charge","Types de VM pris en charge",[55,56,58],"h3",{"id":57},"machines-virtuelles-autonomes","Machines virtuelles autonomes",[10,60,61],{},"Jetscale optimise les VM Azure autonomes qui ne font pas partie de Virtual Machine Scale Sets (VMSS).",[10,63,64],{},[28,65,66],{},"Architecture de VM :",[68,69,74],"pre",{"className":70,"code":72,"language":73},[71],"language-text","VirtualMachine (Cible d'optimisation, Facturable)\n├── OSDisk - Facturable\n├── DataDisk - Facturable (optimisé séparément)\n└── DataDisk - Facturable\n","text",[75,76,72],"code",{"__ignoreMap":77},"",[10,79,80],{},[28,81,82],{},"Ce que nous optimisons :",[22,84,85,91,97,103],{},[25,86,87,90],{},[28,88,89],{},"Redimensionnement de la taille de VM"," : changement vers des tailles plus petites\u002Fplus grandes selon l'utilisation réelle",[25,92,93,96],{},[28,94,95],{},"Migration de séries de VM"," : basculement entre séries (B, D, E, F, etc.) selon les caractéristiques de la charge de travail",[25,98,99,102],{},[28,100,101],{},"Mises à niveau de génération"," : migration vers la dernière génération (v5, v6) pour un meilleur rapport prix\u002Fperformance",[25,104,105,108],{},[28,106,107],{},"Suppression des VM inutilisées"," : retrait des VM avec une activité nulle ou quasi nulle (100% d'économies)",[10,110,111,114],{},[28,112,113],{},"Important :"," Jetscale optimise actuellement uniquement les VM Azure autonomes. Les VM gérées par Virtual Machine Scale Sets, AKS ou d'autres systèmes d'orchestration ne sont pas encore prises en charge.",[14,116,118],{"id":117},"séries-et-familles-de-vm","Séries et familles de VM",[10,120,121],{},"Jetscale prend en compte toutes les séries de VM Azure lors de l'optimisation :",[55,123,125],{"id":124},"usage-général-b-d","Usage général (B, D)",[10,127,128,131],{},[28,129,130],{},"Série B"," - VM à rafales",[22,133,134,137,140,143],{},[25,135,136],{},"À utiliser pour : dev\u002Ftest, serveurs web à faible trafic, petites bases de données, microservices",[25,138,139],{},"Idéale quand : l'utilisation du CPU est faible la plupart du temps avec des rafales occasionnelles",[25,141,142],{},"Attention : basée sur des crédits CPU, surveillez le solde de crédits pour éviter la limitation",[25,144,145],{},"Tailles : B1s, B1ms, B2s, B2ms, B4ms, B8ms, B12ms, B16ms, B20ms",[10,147,148,151],{},[28,149,150],{},"Série D"," - Calcul\u002Fmémoire\u002Fréseau équilibrés",[22,153,154,157,160,163],{},[25,155,156],{},"À utiliser pour : serveurs web, serveurs d'applications, bases de données moyennes, charges de travail mixtes",[25,158,159],{},"Dernières générations : Dv5\u002FDsv5 > Dv4\u002FDsv4 > Dv3\u002FDsv3",[25,161,162],{},"Disponible en : Standard HDD, Standard SSD, Premium SSD",[25,164,165],{},"Tailles : D2-D96 (2-96 vCPU)",[55,167,169],{"id":168},"optimisées-pour-le-calcul-f","Optimisées pour le calcul (F)",[10,171,172,175],{},[28,173,174],{},"Série F"," - Ratio CPU\u002Fmémoire élevé",[22,177,178,181,184,187],{},[25,179,180],{},"À utiliser pour : traitement par lots, serveurs d'applications, serveurs web, analytique, jeux",[25,182,183],{},"Idéale quand : l'utilisation du CPU est constamment élevée, les besoins en mémoire sont modérés",[25,185,186],{},"Dernières générations : Fv2 (Intel), Fasv5\u002FFamsv5 (AMD)",[25,188,189],{},"Tailles : F2-F72 (2-72 vCPU)",[55,191,193],{"id":192},"optimisées-pour-la-mémoire-e-m","Optimisées pour la mémoire (E, M)",[10,195,196,199],{},[28,197,198],{},"Série E"," - Ratio mémoire\u002FCPU élevé",[22,201,202,205,208,211],{},[25,203,204],{},"À utiliser pour : bases de données relationnelles, analytique en mémoire, applications SAP, mise en cache",[25,206,207],{},"Idéale quand : l'utilisation de la mémoire est élevée, le CPU est modéré",[25,209,210],{},"Dernières générations : Ev5\u002FEsv5 > Ev4\u002FEsv4 > Ev3\u002FEsv3",[25,212,213],{},"Tailles : E2-E96 (2-96 vCPU, jusqu'à 672 Go de RAM)",[10,215,216,219],{},[28,217,218],{},"Série M"," - Mémoire extrême (jusqu'à 4 To de RAM)",[22,221,222,225,228,231],{},[25,223,224],{},"À utiliser pour : large SQL Server, SAP HANA, bases de données en mémoire",[25,226,227],{},"Surcoût : significativement plus cher que la série E",[25,229,230],{},"Charges de travail critiques nécessitant une mémoire massive",[25,232,233],{},"Tailles : M8ms - M416ms (8-416 vCPU)",[55,235,237],{"id":236},"optimisées-pour-le-stockage-l","Optimisées pour le stockage (L)",[10,239,240,243],{},[28,241,242],{},"Série L"," - Débit disque et E\u002FS élevés",[22,245,246,249,252,255],{},[25,247,248],{},"À utiliser pour : big data, bases de données SQL, bases de données NoSQL, entreposage de données",[25,250,251],{},"Stockage local basé sur NVMe",[25,253,254],{},"Idéale pour : charges de travail intensives en E\u002FS nécessitant une faible latence",[25,256,257],{},"Tailles : L4s-L80s (4-80 vCPU)",[55,259,261],{"id":260},"calcul-accéléré-n","Calcul accéléré (N)",[10,263,264,267],{},[28,265,266],{},"Série N"," - VM avec GPU",[22,269,270,273,276],{},[25,271,272],{},"À utiliser pour : formation et inférence IA\u002FML, rendu graphique, traitement vidéo",[25,274,275],{},"Options : NC (NVIDIA Tesla), NV (NVIDIA Tesla M60), ND (NVIDIA Tesla P40\u002FV100)",[25,277,278],{},"Non recommandée généralement pour l'optimisation des coûts (charges de travail spécialisées)",[55,280,282],{"id":281},"modèles-de-dimensionnement-des-vm","Modèles de dimensionnement des VM",[10,284,285,286],{},"Les tailles suivent le modèle : ",[75,287,288],{},"{Série}{Version}{Taille}",[10,290,291],{},"Exemples :",[22,293,294,300,306],{},[25,295,296,299],{},[28,297,298],{},"B2s"," : série B, 2 vCPU, support disque Standard",[25,301,302,305],{},[28,303,304],{},"D4s_v5"," : série D v5, 4 vCPU, support Premium SSD",[25,307,308,311],{},[28,309,310],{},"E8as_v5"," : série E v5 AMD, 8 vCPU, support Premium SSD",[10,313,314],{},[28,315,316],{},"Progression des tailles :",[22,318,319,322],{},[25,320,321],{},"Standard : 1, 2, 4, 8, 16, 32, 64, 96+ vCPU",[25,323,324],{},"À rafales : 1, 2, 4, 8, 12, 16, 20 vCPU",[10,326,327],{},"Chaque étape double généralement les vCPU et la mémoire.",[14,329,331],{"id":330},"comment-jetscale-optimise-les-vm-azure","Comment Jetscale optimise les VM Azure",[55,333,335],{"id":334},"_1-collecte-de-données","1. Collecte de données",[10,337,338],{},"Jetscale analyse plusieurs sources de données :",[10,340,341,344],{},[28,342,343],{},"Métriques Azure Monitor"," (fenêtre glissante de 14 jours) :",[22,346,347,353,359,369,378],{},[25,348,349,352],{},[75,350,351],{},"Percentage CPU"," - Utilisation CPU de la VM",[25,354,355,358],{},[75,356,357],{},"Available Memory Bytes"," - Mémoire disponible",[25,360,361,364,365,368],{},[75,362,363],{},"Network In Total"," \u002F ",[75,366,367],{},"Network Out Total"," - Débit réseau",[25,370,371,364,374,377],{},[75,372,373],{},"Disk Read Bytes",[75,375,376],{},"Disk Write Bytes"," - E\u002FS disque",[25,379,380,364,383,386],{},[75,381,382],{},"Disk Read Operations\u002FSec",[75,384,385],{},"Disk Write Operations\u002FSec"," - IOPS",[10,388,389,392],{},[28,390,391],{},"Données Azure Resource Manager"," :",[22,394,395,398,401,404,407],{},[25,396,397],{},"Taille et état de la VM",[25,399,400],{},"Type de système d'exploitation (Windows\u002FLinux)",[25,402,403],{},"Date de création",[25,405,406],{},"Emplacement et zone de disponibilité",[25,408,409],{},"Tags et groupes de ressources",[10,411,412,392],{},[28,413,414],{},"Données Cost Management",[22,416,417,420,423],{},[25,418,419],{},"Dépense mensuelle actuelle par VM",[25,421,422],{},"Tendances des coûts historiques",[25,424,425],{},"Couverture des instances réservées",[10,427,428,431],{},[28,429,430],{},"Azure Advisor"," (si disponible) :",[22,433,434,437],{},[25,435,436],{},"Recommandations de dimensionnement générées par Azure",[25,438,439],{},"Évaluations des risques de performance",[55,441,443],{"id":442},"_2-analyse","2. Analyse",[10,445,446],{},"Nos agents IA effectuent une analyse approfondie :",[10,448,449],{},[28,450,451],{},"Modèles d'utilisation :",[22,453,454,457,460,463],{},[25,455,456],{},"Utilisation CPU maximale vs moyenne",[25,458,459],{},"Modèles horaires (identification des périodes d'inactivité)",[25,461,462],{},"Modèles hebdomadaires (charge week-end vs jours de semaine)",[25,464,465],{},"Tendances d'utilisation de la mémoire",[10,467,468],{},[28,469,470],{},"Classification des charges de travail :",[22,472,473,479,485,491],{},[25,474,475,478],{},[28,476,477],{},"CPU variable"," : envisager série B (à rafales)",[25,480,481,484],{},[28,482,483],{},"CPU élevé constant"," : envisager série F (optimisée calcul)",[25,486,487,490],{},[28,488,489],{},"Équilibrée"," : envisager série D (usage général)",[25,492,493,496],{},[28,494,495],{},"Intensive en mémoire"," : envisager série E (optimisée mémoire)",[10,498,499],{},[28,500,501],{},"Modélisation des coûts :",[22,503,504,507,510,513],{},[25,505,506],{},"Coût mensuel actuel",[25,508,509],{},"Coût projeté pour les tailles de VM alternatives",[25,511,512],{},"Pourcentage d'économies et impact annuel",[25,514,515],{},"Opportunités d'instances réservées",[10,517,518],{},[28,519,520],{},"Évaluation des risques :",[22,522,523,526,529,532],{},[25,524,525],{},"Probabilité de dégradation des performances",[25,527,528],{},"Calcul de marge (tampon au-dessus de l'utilisation maximale)",[25,530,531],{},"Vérifications de sécurité mémoire",[25,533,534],{},"Validation de la capacité réseau et stockage",[55,536,538],{"id":537},"_3-recommandations","3. Recommandations",[10,540,541],{},"Jetscale génère des recommandations spécifiques et actionnables :",[543,544,546],"h4",{"id":545},"redimensionnement-de-vm","Redimensionnement de VM",[10,548,549],{},[28,550,551],{},"Exemple de recommandation :",[68,553,556],{"className":554,"code":555,"language":73},[71],"Ressource : web-server-prod-01\nActuelle : Standard_D16s_v5 (16 vCPU, 64 Go RAM)\nRecommandée : Standard_D8s_v5 (8 vCPU, 32 Go RAM)\n\nImpact sur les coûts :\n- Actuel : 550 $\u002Fmois\n- Projeté : 275 $\u002Fmois\n- Économies : 275 $\u002Fmois (50 %), 3 300 $\u002Fan\n\nAnalyse de performance :\n- CPU moyen : 18 %\n- CPU maximal : 32 %\n- Mémoire moyenne : 35 %\n- La recommandée offre une marge de 2x au-dessus du pic\n\nRisque : Faible - Marge amplement maintenue\n",[75,557,555],{"__ignoreMap":77},[543,559,561],{"id":560},"migration-de-série","Migration de série",[10,563,564],{},[28,565,551],{},[68,567,570],{"className":568,"code":569,"language":73},[71],"Ressource : batch-processor-02\nActuelle : Standard_D8s_v5 (8 vCPU, 32 Go RAM)\nRecommandée : Standard_F8s_v2 (8 vCPU, 16 Go RAM)\n\nImpact sur les coûts :\n- Actuel : 275 $\u002Fmois\n- Projeté : 233 $\u002Fmois\n- Économies : 42 $\u002Fmois (15 %), 504 $\u002Fan\n\nAnalyse de charge de travail :\n- CPU moyen : 75 %\n- CPU maximal : 92 %\n- Utilisation mémoire : Faible (28 %)\n- Type de charge : Intensive en calcul, mémoire sous-utilisée\n\nRecommandation : Migrer vers série F (optimisée calcul)\nRisque : Très faible - Charge liée au CPU, marge mémoire adéquate\n",[75,571,569],{"__ignoreMap":77},[543,573,575],{"id":574},"mise-à-niveau-de-génération","Mise à niveau de génération",[10,577,578],{},[28,579,551],{},[68,581,584],{"className":582,"code":583,"language":73},[71],"Ressource : api-server-01\nActuelle : Standard_D4s_v3 (4 vCPU, 16 Go RAM)\nRecommandée : Standard_D4s_v5 (4 vCPU, 16 Go RAM)\n\nImpact sur les coûts :\n- Actuel : 175 $\u002Fmois\n- Projeté : 165 $\u002Fmois\n- Économies : 10 $\u002Fmois (6 %), 120 $\u002Fan\n\nAnalyse de performance :\n- v5 offre de meilleures performances CPU (Intel Xeon Platinum 8370C)\n- Mêmes spécifications, coût inférieur\n- Meilleures performances réseau (jusqu'à 12,5 Gbps)\n- Efficacité de nouvelle génération\n\nRisque : Très faible - Même série, génération plus récente\n",[75,585,583],{"__ignoreMap":77},[543,587,589],{"id":588},"suppression-de-vm-inutilisée","Suppression de VM inutilisée",[10,591,592],{},[28,593,551],{},[68,595,598],{"className":596,"code":597,"language":73},[71],"Ressource : legacy-test-vm\nActuelle : Standard_B2s (2 vCPU, 4 Go RAM)\nRecommandée : Supprimer\u002FDésallouer\n\nImpact sur les coûts :\n- Actuel : 30 $\u002Fmois\n- Projeté : 0 $\u002Fmois\n- Économies : 30 $\u002Fmois (100 %), 360 $\u002Fan\n\nAnalyse d'utilisation :\n- CPU moyen : 0,3 %\n- Activité réseau : Quasi nulle\n- Créée : Il y a 14 mois\n- Tags indiquent : environnement de test\n\nRisque : Très faible - Semble inutilisée\nRecommandation : Vérifier avec l'équipe applicative avant suppression\n",[75,599,597],{"__ignoreMap":77},[55,601,603],{"id":602},"_4-génération-terraform","4. Génération Terraform",[10,605,606],{},"Pour chaque recommandation, Jetscale génère du code Terraform prêt pour la production :",[10,608,609],{},[28,610,611],{},"Exemple : Redimensionnement de VM",[68,613,617],{"className":614,"code":615,"language":616,"meta":77,"style":77},"language-hcl shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Optimisation de VM Azure\n# Généré par Jetscale le 2024-01-15\n# ID de recommandation : rec_azurevm_001\n\nresource \"azurerm_linux_virtual_machine\" \"web_server_prod_01\" {\n  name                = \"web-server-prod-01\"\n  resource_group_name = var.resource_group_name\n  location            = var.location\n\n  # Précédent : Standard_D16s_v5 (550 $\u002Fmois)\n  # Optimisé : Standard_D8s_v5 (275 $\u002Fmois)\n  # Réduction de coût : 50 % (275 $\u002Fmois, 3 300 $\u002Fan)\n  #\n  # Justification :\n  # - Utilisation CPU moyenne : 18 %\n  # - Utilisation CPU maximale : 32 %\n  # - Utilisation mémoire moyenne : 35 %\n  # - La nouvelle taille offre une marge de 2x au-dessus de l'utilisation maximale\n  size = \"Standard_D8s_v5\"\n\n  admin_username = var.admin_username\n\n  admin_ssh_key {\n    username   = var.admin_username\n    public_key = var.ssh_public_key\n  }\n\n  network_interface_ids = [\n    azurerm_network_interface.web_server_nic.id,\n  ]\n\n  os_disk {\n    caching              = \"ReadWrite\"\n    storage_account_type = \"Premium_LRS\"\n    disk_size_gb         = 128\n  }\n\n  source_image_reference {\n    publisher = \"Canonical\"\n    offer     = \"0001-com-ubuntu-server-focal\"\n    sku       = \"20_04-lts-gen2\"\n    version   = \"latest\"\n  }\n\n  tags = merge(\n    var.tags,\n    {\n      \"jetscale:optimized\"      = \"true\"\n      \"jetscale:recommendation\" = \"rec_azurevm_001\"\n      \"jetscale:previous_size\"  = \"Standard_D16s_v5\"\n    }\n  )\n\n  lifecycle {\n    create_before_destroy = true\n  }\n}\n","hcl",[75,618,619,627,633,639,646,652,658,664,670,675,681,687,693,699,705,711,717,723,729,735,740,746,751,757,763,769,775,780,786,792,798,803,809,815,821,827,832,837,843,849,855,861,867,872,877,883,889,895,901,907,913,919,925,930,936,942,947],{"__ignoreMap":77},[620,621,624],"span",{"class":622,"line":623},"line",1,[620,625,626],{},"# Optimisation de VM Azure\n",[620,628,630],{"class":622,"line":629},2,[620,631,632],{},"# Généré par Jetscale le 2024-01-15\n",[620,634,636],{"class":622,"line":635},3,[620,637,638],{},"# ID de recommandation : rec_azurevm_001\n",[620,640,642],{"class":622,"line":641},4,[620,643,645],{"emptyLinePlaceholder":644},true,"\n",[620,647,649],{"class":622,"line":648},5,[620,650,651],{},"resource \"azurerm_linux_virtual_machine\" \"web_server_prod_01\" {\n",[620,653,655],{"class":622,"line":654},6,[620,656,657],{},"  name                = \"web-server-prod-01\"\n",[620,659,661],{"class":622,"line":660},7,[620,662,663],{},"  resource_group_name = var.resource_group_name\n",[620,665,667],{"class":622,"line":666},8,[620,668,669],{},"  location            = var.location\n",[620,671,673],{"class":622,"line":672},9,[620,674,645],{"emptyLinePlaceholder":644},[620,676,678],{"class":622,"line":677},10,[620,679,680],{},"  # Précédent : Standard_D16s_v5 (550 $\u002Fmois)\n",[620,682,684],{"class":622,"line":683},11,[620,685,686],{},"  # Optimisé : Standard_D8s_v5 (275 $\u002Fmois)\n",[620,688,690],{"class":622,"line":689},12,[620,691,692],{},"  # Réduction de coût : 50 % (275 $\u002Fmois, 3 300 $\u002Fan)\n",[620,694,696],{"class":622,"line":695},13,[620,697,698],{},"  #\n",[620,700,702],{"class":622,"line":701},14,[620,703,704],{},"  # Justification :\n",[620,706,708],{"class":622,"line":707},15,[620,709,710],{},"  # - Utilisation CPU moyenne : 18 %\n",[620,712,714],{"class":622,"line":713},16,[620,715,716],{},"  # - Utilisation CPU maximale : 32 %\n",[620,718,720],{"class":622,"line":719},17,[620,721,722],{},"  # - Utilisation mémoire moyenne : 35 %\n",[620,724,726],{"class":622,"line":725},18,[620,727,728],{},"  # - La nouvelle taille offre une marge de 2x au-dessus de l'utilisation maximale\n",[620,730,732],{"class":622,"line":731},19,[620,733,734],{},"  size = \"Standard_D8s_v5\"\n",[620,736,738],{"class":622,"line":737},20,[620,739,645],{"emptyLinePlaceholder":644},[620,741,743],{"class":622,"line":742},21,[620,744,745],{},"  admin_username = var.admin_username\n",[620,747,749],{"class":622,"line":748},22,[620,750,645],{"emptyLinePlaceholder":644},[620,752,754],{"class":622,"line":753},23,[620,755,756],{},"  admin_ssh_key {\n",[620,758,760],{"class":622,"line":759},24,[620,761,762],{},"    username   = var.admin_username\n",[620,764,766],{"class":622,"line":765},25,[620,767,768],{},"    public_key = var.ssh_public_key\n",[620,770,772],{"class":622,"line":771},26,[620,773,774],{},"  }\n",[620,776,778],{"class":622,"line":777},27,[620,779,645],{"emptyLinePlaceholder":644},[620,781,783],{"class":622,"line":782},28,[620,784,785],{},"  network_interface_ids = [\n",[620,787,789],{"class":622,"line":788},29,[620,790,791],{},"    azurerm_network_interface.web_server_nic.id,\n",[620,793,795],{"class":622,"line":794},30,[620,796,797],{},"  ]\n",[620,799,801],{"class":622,"line":800},31,[620,802,645],{"emptyLinePlaceholder":644},[620,804,806],{"class":622,"line":805},32,[620,807,808],{},"  os_disk {\n",[620,810,812],{"class":622,"line":811},33,[620,813,814],{},"    caching              = \"ReadWrite\"\n",[620,816,818],{"class":622,"line":817},34,[620,819,820],{},"    storage_account_type = \"Premium_LRS\"\n",[620,822,824],{"class":622,"line":823},35,[620,825,826],{},"    disk_size_gb         = 128\n",[620,828,830],{"class":622,"line":829},36,[620,831,774],{},[620,833,835],{"class":622,"line":834},37,[620,836,645],{"emptyLinePlaceholder":644},[620,838,840],{"class":622,"line":839},38,[620,841,842],{},"  source_image_reference {\n",[620,844,846],{"class":622,"line":845},39,[620,847,848],{},"    publisher = \"Canonical\"\n",[620,850,852],{"class":622,"line":851},40,[620,853,854],{},"    offer     = \"0001-com-ubuntu-server-focal\"\n",[620,856,858],{"class":622,"line":857},41,[620,859,860],{},"    sku       = \"20_04-lts-gen2\"\n",[620,862,864],{"class":622,"line":863},42,[620,865,866],{},"    version   = \"latest\"\n",[620,868,870],{"class":622,"line":869},43,[620,871,774],{},[620,873,875],{"class":622,"line":874},44,[620,876,645],{"emptyLinePlaceholder":644},[620,878,880],{"class":622,"line":879},45,[620,881,882],{},"  tags = merge(\n",[620,884,886],{"class":622,"line":885},46,[620,887,888],{},"    var.tags,\n",[620,890,892],{"class":622,"line":891},47,[620,893,894],{},"    {\n",[620,896,898],{"class":622,"line":897},48,[620,899,900],{},"      \"jetscale:optimized\"      = \"true\"\n",[620,902,904],{"class":622,"line":903},49,[620,905,906],{},"      \"jetscale:recommendation\" = \"rec_azurevm_001\"\n",[620,908,910],{"class":622,"line":909},50,[620,911,912],{},"      \"jetscale:previous_size\"  = \"Standard_D16s_v5\"\n",[620,914,916],{"class":622,"line":915},51,[620,917,918],{},"    }\n",[620,920,922],{"class":622,"line":921},52,[620,923,924],{},"  )\n",[620,926,928],{"class":622,"line":927},53,[620,929,645],{"emptyLinePlaceholder":644},[620,931,933],{"class":622,"line":932},54,[620,934,935],{},"  lifecycle {\n",[620,937,939],{"class":622,"line":938},55,[620,940,941],{},"    create_before_destroy = true\n",[620,943,945],{"class":622,"line":944},56,[620,946,774],{},[620,948,950],{"class":622,"line":949},57,[620,951,952],{},"}\n",[10,954,955],{},[28,956,957],{},"Exemple : Migration de série",[68,959,961],{"className":614,"code":960,"language":616,"meta":77,"style":77},"# Migration de série de VM Azure\n# Généré par Jetscale le 2024-01-15\n\nresource \"azurerm_linux_virtual_machine\" \"batch_processor_02\" {\n  name                = \"batch-processor-02\"\n  resource_group_name = var.resource_group_name\n  location            = var.location\n\n  # Précédent : Standard_D8s_v5 (Usage général, 275 $\u002Fmois)\n  # Optimisé : Standard_F8s_v2 (Optimisé calcul, 233 $\u002Fmois)\n  # Réduction de coût : 15 % (42 $\u002Fmois, 504 $\u002Fan)\n  #\n  # Analyse de charge de travail :\n  # - CPU moyen : 75 %, CPU maximal : 92 %\n  # - Utilisation mémoire : 28 % (sous-utilisée)\n  # - Type de charge : Intensive en calcul\n  # - Série F offre un ratio CPU\u002Fmémoire plus élevé\n  size = \"Standard_F8s_v2\"\n\n  admin_username = var.admin_username\n\n  admin_ssh_key {\n    username   = var.admin_username\n    public_key = var.ssh_public_key\n  }\n\n  network_interface_ids = [\n    azurerm_network_interface.batch_processor_nic.id,\n  ]\n\n  os_disk {\n    caching              = \"ReadWrite\"\n    storage_account_type = \"Premium_LRS\"\n    disk_size_gb         = 256\n  }\n\n  source_image_reference {\n    publisher = \"Canonical\"\n    offer     = \"0001-com-ubuntu-server-focal\"\n    sku       = \"20_04-lts-gen2\"\n    version   = \"latest\"\n  }\n\n  tags = merge(\n    var.tags,\n    {\n      \"jetscale:optimized\"     = \"true\"\n      \"jetscale:series\"        = \"compute-optimized\"\n      \"jetscale:previous_size\" = \"Standard_D8s_v5\"\n    }\n  )\n\n  lifecycle {\n    create_before_destroy = true\n  }\n}\n",[75,962,963,968,972,976,981,986,990,994,998,1003,1008,1013,1017,1022,1027,1032,1037,1042,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083,1088,1092,1096,1100,1104,1108,1113,1117,1121,1125,1129,1133,1137,1141,1145,1149,1153,1157,1161,1166,1171,1176,1180,1184,1188,1192,1196,1200],{"__ignoreMap":77},[620,964,965],{"class":622,"line":623},[620,966,967],{},"# Migration de série de VM Azure\n",[620,969,970],{"class":622,"line":629},[620,971,632],{},[620,973,974],{"class":622,"line":635},[620,975,645],{"emptyLinePlaceholder":644},[620,977,978],{"class":622,"line":641},[620,979,980],{},"resource \"azurerm_linux_virtual_machine\" \"batch_processor_02\" {\n",[620,982,983],{"class":622,"line":648},[620,984,985],{},"  name                = \"batch-processor-02\"\n",[620,987,988],{"class":622,"line":654},[620,989,663],{},[620,991,992],{"class":622,"line":660},[620,993,669],{},[620,995,996],{"class":622,"line":666},[620,997,645],{"emptyLinePlaceholder":644},[620,999,1000],{"class":622,"line":672},[620,1001,1002],{},"  # Précédent : Standard_D8s_v5 (Usage général, 275 $\u002Fmois)\n",[620,1004,1005],{"class":622,"line":677},[620,1006,1007],{},"  # Optimisé : Standard_F8s_v2 (Optimisé calcul, 233 $\u002Fmois)\n",[620,1009,1010],{"class":622,"line":683},[620,1011,1012],{},"  # Réduction de coût : 15 % (42 $\u002Fmois, 504 $\u002Fan)\n",[620,1014,1015],{"class":622,"line":689},[620,1016,698],{},[620,1018,1019],{"class":622,"line":695},[620,1020,1021],{},"  # Analyse de charge de travail :\n",[620,1023,1024],{"class":622,"line":701},[620,1025,1026],{},"  # - CPU moyen : 75 %, CPU maximal : 92 %\n",[620,1028,1029],{"class":622,"line":707},[620,1030,1031],{},"  # - Utilisation mémoire : 28 % (sous-utilisée)\n",[620,1033,1034],{"class":622,"line":713},[620,1035,1036],{},"  # - Type de charge : Intensive en calcul\n",[620,1038,1039],{"class":622,"line":719},[620,1040,1041],{},"  # - Série F offre un ratio CPU\u002Fmémoire plus élevé\n",[620,1043,1044],{"class":622,"line":725},[620,1045,1046],{},"  size = \"Standard_F8s_v2\"\n",[620,1048,1049],{"class":622,"line":731},[620,1050,645],{"emptyLinePlaceholder":644},[620,1052,1053],{"class":622,"line":737},[620,1054,745],{},[620,1056,1057],{"class":622,"line":742},[620,1058,645],{"emptyLinePlaceholder":644},[620,1060,1061],{"class":622,"line":748},[620,1062,756],{},[620,1064,1065],{"class":622,"line":753},[620,1066,762],{},[620,1068,1069],{"class":622,"line":759},[620,1070,768],{},[620,1072,1073],{"class":622,"line":765},[620,1074,774],{},[620,1076,1077],{"class":622,"line":771},[620,1078,645],{"emptyLinePlaceholder":644},[620,1080,1081],{"class":622,"line":777},[620,1082,785],{},[620,1084,1085],{"class":622,"line":782},[620,1086,1087],{},"    azurerm_network_interface.batch_processor_nic.id,\n",[620,1089,1090],{"class":622,"line":788},[620,1091,797],{},[620,1093,1094],{"class":622,"line":794},[620,1095,645],{"emptyLinePlaceholder":644},[620,1097,1098],{"class":622,"line":800},[620,1099,808],{},[620,1101,1102],{"class":622,"line":805},[620,1103,814],{},[620,1105,1106],{"class":622,"line":811},[620,1107,820],{},[620,1109,1110],{"class":622,"line":817},[620,1111,1112],{},"    disk_size_gb         = 256\n",[620,1114,1115],{"class":622,"line":823},[620,1116,774],{},[620,1118,1119],{"class":622,"line":829},[620,1120,645],{"emptyLinePlaceholder":644},[620,1122,1123],{"class":622,"line":834},[620,1124,842],{},[620,1126,1127],{"class":622,"line":839},[620,1128,848],{},[620,1130,1131],{"class":622,"line":845},[620,1132,854],{},[620,1134,1135],{"class":622,"line":851},[620,1136,860],{},[620,1138,1139],{"class":622,"line":857},[620,1140,866],{},[620,1142,1143],{"class":622,"line":863},[620,1144,774],{},[620,1146,1147],{"class":622,"line":869},[620,1148,645],{"emptyLinePlaceholder":644},[620,1150,1151],{"class":622,"line":874},[620,1152,882],{},[620,1154,1155],{"class":622,"line":879},[620,1156,888],{},[620,1158,1159],{"class":622,"line":885},[620,1160,894],{},[620,1162,1163],{"class":622,"line":891},[620,1164,1165],{},"      \"jetscale:optimized\"     = \"true\"\n",[620,1167,1168],{"class":622,"line":897},[620,1169,1170],{},"      \"jetscale:series\"        = \"compute-optimized\"\n",[620,1172,1173],{"class":622,"line":903},[620,1174,1175],{},"      \"jetscale:previous_size\" = \"Standard_D8s_v5\"\n",[620,1177,1178],{"class":622,"line":909},[620,1179,918],{},[620,1181,1182],{"class":622,"line":915},[620,1183,924],{},[620,1185,1186],{"class":622,"line":921},[620,1187,645],{"emptyLinePlaceholder":644},[620,1189,1190],{"class":622,"line":927},[620,1191,935],{},[620,1193,1194],{"class":622,"line":932},[620,1195,941],{},[620,1197,1198],{"class":622,"line":938},[620,1199,774],{},[620,1201,1202],{"class":622,"line":944},[620,1203,952],{},[14,1205,1207],{"id":1206},"bonnes-pratiques","Bonnes pratiques",[55,1209,1211],{"id":1210},"stratégie-de-test","Stratégie de test",[10,1213,1214],{},[28,1215,1216],{},"Tests en pré-production :",[1218,1219,1220,1223,1226,1229],"ol",{},[25,1221,1222],{},"Appliquer d'abord les changements à l'environnement dev\u002Fstaging",[25,1224,1225],{},"Exécuter des tests de charge simulant le trafic de pointe",[25,1227,1228],{},"Surveiller pendant 48-72 heures sous charge réaliste",[25,1230,1231],{},"Valider les performances de l'application",[10,1233,1234],{},[28,1235,1236],{},"Déploiement en production :",[1218,1238,1239,1246,1249,1252],{},[25,1240,1241,1242,1245],{},"Utiliser le lifecycle ",[75,1243,1244],{},"create_before_destroy"," dans Terraform",[25,1247,1248],{},"Planifier les changements pendant les fenêtres de maintenance",[25,1250,1251],{},"Avoir un plan de retour arrière prêt (état Terraform précédent)",[25,1253,1254],{},"Surveiller activement pendant et après le changement",[55,1256,1258],{"id":1257},"instances-réservées-et-plans-dépargne","Instances réservées et plans d'épargne",[10,1260,1261],{},"Bien que Jetscale ne génère pas actuellement de recommandations RI, envisagez-les après le redimensionnement :",[10,1263,1264],{},[28,1265,1266],{},"Bonne pratique :",[1218,1268,1269,1272,1275,1278],{},[25,1270,1271],{},"D'abord redimensionner les VM avec Jetscale",[25,1273,1274],{},"Exécuter la configuration optimisée pendant 30-60 jours",[25,1276,1277],{},"Acheter des instances réservées pour les charges stables (1 an ou 3 ans)",[25,1279,1280],{},"Ne jamais réserver des VM surdimensionnées",[10,1282,1283],{},[28,1284,1285],{},"Instances réservées de VM Azure :",[22,1287,1288,1291,1294,1297],{},[25,1289,1290],{},"Jusqu'à 72 % d'économies vs paiement à l'utilisation",[25,1292,1293],{},"Engagement d'1 an ou 3 ans",[25,1295,1296],{},"Flexibilité de taille au sein de la même série de VM",[25,1298,1299],{},"Options de paiement : Tout initial, Partiel initial, Mensuel",[55,1301,1303],{"id":1302},"spot-vms","Spot VMs",[10,1305,1306],{},"Pour les charges de travail non critiques, envisagez les Spot VMs Azure :",[22,1308,1309,1312,1315,1318],{},[25,1310,1311],{},"Jusqu'à 90 % d'économies vs paiement à l'utilisation",[25,1313,1314],{},"Idéales pour : traitement par lots, dev\u002Ftest, applications sans état",[25,1316,1317],{},"Risque : Peuvent être évincées avec un préavis de 30 secondes quand Azure a besoin de capacité",[25,1319,1320],{},"Jetscale identifie les candidates à la migration Spot (fonctionnalité en développement)",[14,1322,1324],{"id":1323},"modèles-doptimisation-courants","Modèles d'optimisation courants",[55,1326,1328],{"id":1327},"modèle-1-vm-sur-provisionnées","Modèle 1 : VM sur-provisionnées",[10,1330,1331],{},[28,1332,1333],{},"Symptômes :",[22,1335,1336,1339,1342],{},[25,1337,1338],{},"Utilisation CPU \u003C 20 % en moyenne",[25,1340,1341],{},"Utilisation mémoire \u003C 30 %",[25,1343,1344],{},"VM fonctionnant 24\u002F7 avec une utilisation constamment faible",[10,1346,1347],{},[28,1348,1349],{},"Recommandation Jetscale :",[22,1351,1352,1355,1358],{},[25,1353,1354],{},"Réduire de 1-2 tailles de VM (ex. : D16 → D8)",[25,1356,1357],{},"Économies typiques : 40-50 %",[25,1359,1360],{},"Risque : Faible (marge de 2-3x maintenue)",[55,1362,1364],{"id":1363},"modèle-2-mauvaise-série-de-vm","Modèle 2 : Mauvaise série de VM",[10,1366,1367],{},[28,1368,1333],{},[22,1370,1371,1374,1377],{},[25,1372,1373],{},"Utilisation de série D avec CPU constamment élevé (>70 %)",[25,1375,1376],{},"Utilisation de série E avec faible utilisation mémoire (\u003C40 %)",[25,1378,1379],{},"Utilisation de série F avec besoins élevés en mémoire",[10,1381,1382],{},[28,1383,1349],{},[22,1385,1386,1389,1392],{},[25,1387,1388],{},"Migrer vers la série appropriée (D → F pour CPU, E → D pour équilibré)",[25,1390,1391],{},"Économies typiques : 10-30 %",[25,1393,1394],{},"Risque : Faible à Moyen (vérifier les caractéristiques de charge)",[55,1396,1398],{"id":1397},"modèle-3-générations-héritées","Modèle 3 : Générations héritées",[10,1400,1401],{},[28,1402,1333],{},[22,1404,1405,1408,1411],{},[25,1406,1407],{},"Utilisation de VM v3 ou v4",[25,1409,1410],{},"Générations plus récentes disponibles (v5, v6)",[25,1412,1413],{},"Même coût ou inférieur pour de meilleures performances",[10,1415,1416],{},[28,1417,1349],{},[22,1419,1420,1423,1426],{},[25,1421,1422],{},"Mise à niveau vers la dernière génération (Dv3 → Dv5, Ev4 → Ev5)",[25,1424,1425],{},"Économies typiques : 5-15 % avec meilleures performances",[25,1427,1428],{},"Risque : Très faible (même série, matériel plus récent)",[55,1430,1432],{"id":1431},"modèle-4-vm-de-développement-inactives","Modèle 4 : VM de développement inactives",[10,1434,1435],{},[28,1436,1333],{},[22,1438,1439,1442,1445],{},[25,1440,1441],{},"VM dev\u002Ftest fonctionnant 24\u002F7",[25,1443,1444],{},"Utilisées uniquement pendant les heures de bureau",[25,1446,1447],{},"Faible utilisation CPU la nuit et les week-ends",[10,1449,1450],{},[28,1451,1349],{},[22,1453,1454,1457,1460,1463],{},[25,1455,1456],{},"Implémenter des planifications d'arrêt automatique (fonctionnalité Azure)",[25,1458,1459],{},"Réduire vers série B pour charges à rafales",[25,1461,1462],{},"Économies typiques : 50-70 % avec approche combinée",[25,1464,1465],{},"Risque : Très faible (environnement hors production)",[14,1467,1469],{"id":1468},"dépannage","Dépannage",[55,1471,1473],{"id":1472},"préoccupations-concernant-les-recommandations","Préoccupations concernant les recommandations",[10,1475,1476],{},[28,1477,1478],{},"Q : Le redimensionnement de ma VM impactera-t-il les performances ?",[10,1480,1481],{},"R : Jetscale maintient une marge de 2-3x au-dessus de l'utilisation maximale. Nous analysons :",[22,1483,1484,1487,1490,1493],{},[25,1485,1486],{},"Utilisation CPU au 99e percentile (P99) sur 14 jours",[25,1488,1489],{},"Utilisation mémoire maximale",[25,1491,1492],{},"Points de saturation réseau",[25,1494,1495],{},"Modèles de pics historiques",[10,1497,1498],{},"Les recommandations ne procèdent que si le risque de performance est Faible ou Très faible.",[10,1500,1501],{},[28,1502,1503],{},"Q : Que faire si je n'ai pas de métriques mémoire ?",[10,1505,1506],{},"R : Azure Monitor fournit des métriques mémoire par défaut pour toutes les VM. Si les métriques sont manquantes :",[1218,1508,1509,1512,1515],{},[25,1510,1511],{},"Vérifier que l'agent Azure Monitor est installé",[25,1513,1514],{},"Vérifier que les paramètres de diagnostic sont activés",[25,1516,1517],{},"Attendre 14 jours pour des données historiques suffisantes",[10,1519,1520],{},[28,1521,1522],{},"Q : Puis-je tester sans interruption de service ?",[10,1524,1525],{},"R : Oui ! Approche recommandée :",[1218,1527,1528,1534,1537,1540,1543],{},[25,1529,1530,1531,1245],{},"Utiliser ",[75,1532,1533],{},"create_before_destroy = true",[25,1535,1536],{},"La nouvelle VM se lance avec la taille optimisée",[25,1538,1539],{},"Vérification de santé réussie → le trafic bascule vers la nouvelle VM",[25,1541,1542],{},"Ancienne VM automatiquement terminée",[25,1544,1545],{},"Interruption typique : \u003C30 secondes pendant la bascule",[55,1547,1549],{"id":1548},"problèmes-de-performance-après-optimisation","Problèmes de performance après optimisation",[10,1551,1552],{},[28,1553,1554],{},"Symptôme : Augmentation de la latence ou des temps de réponse",[10,1556,1557],{},"Causes possibles :",[22,1559,1560,1563,1566],{},[25,1561,1562],{},"CPU insuffisant pour les charges de pointe",[25,1564,1565],{},"Pression mémoire",[25,1567,1568],{},"Goulot d'étranglement du débit réseau",[10,1570,1571],{},[28,1572,1573],{},"Résolution :",[1218,1575,1576,1579,1582,1585],{},[25,1577,1578],{},"Vérifier les métriques CPU, mémoire, réseau Azure Monitor",[25,1580,1581],{},"Comparer les performances VM actuelles vs précédentes",[25,1583,1584],{},"Si nécessaire, augmenter la taille de VM d'un cran",[25,1586,1587],{},"Retour arrière simple : revenir à l'état Terraform précédent",[10,1589,1590],{},[28,1591,1592],{},"Symptôme : Épuisement des crédits CPU série B",[10,1594,1557],{},[22,1596,1597,1600,1603],{},[25,1598,1599],{},"Migration de VM standard vers à rafales",[25,1601,1602],{},"Utilisation CPU supérieure à la ligne de base série B",[25,1604,1605],{},"Crédits CPU insuffisants pour le modèle de charge",[10,1607,1608],{},[28,1609,1573],{},[1218,1611,1612,1618,1621],{},[25,1613,1614,1615],{},"Vérifier la métrique ",[75,1616,1617],{},"CPU Credits Remaining",[25,1619,1620],{},"Si constamment épuisée, migrer vers série D\u002FF",[25,1622,1623],{},"Envisager série B avec ligne de base plus élevée (ex. : B4ms → B8ms)",[14,1625,1627],{"id":1626},"considérations-de-sécurité","Considérations de sécurité",[55,1629,1631],{"id":1630},"configuration-des-vm","Configuration des VM",[10,1633,1634],{},"Les recommandations Jetscale préservent :",[22,1636,1637,1640,1643,1646,1649,1652],{},[25,1638,1639],{},"Associations de réseau virtuel et sous-réseau",[25,1641,1642],{},"Groupes de sécurité réseau (NSG)",[25,1644,1645],{},"Identités gérées",[25,1647,1648],{},"Références de coffre de clés",[25,1650,1651],{},"Paramètres de chiffrement de disque",[25,1653,1654],{},"Configuration des diagnostics de démarrage",[55,1656,1658],{"id":1657},"compatibilité-des-images","Compatibilité des images",[22,1660,1661,1664,1667,1670],{},[25,1662,1663],{},"Utilise la même image\u002FSKU de système d'exploitation que la VM d'origine",[25,1665,1666],{},"Préserve les images et configurations personnalisées",[25,1668,1669],{},"Maintient les attachements de disque OS et disques de données",[25,1671,1672],{},"Aucun changement aux méthodes d'authentification",[55,1674,1676],{"id":1675},"gestion-du-cycle-de-vie","Gestion du cycle de vie",[10,1678,1679],{},"Utiliser les règles de lifecycle Terraform :",[68,1681,1683],{"className":614,"code":1682,"language":616,"meta":77,"style":77},"lifecycle {\n  create_before_destroy = true\n  prevent_destroy       = var.is_production\n}\n",[75,1684,1685,1690,1695,1700],{"__ignoreMap":77},[620,1686,1687],{"class":622,"line":623},[620,1688,1689],{},"lifecycle {\n",[620,1691,1692],{"class":622,"line":629},[620,1693,1694],{},"  create_before_destroy = true\n",[620,1696,1697],{"class":622,"line":635},[620,1698,1699],{},"  prevent_destroy       = var.is_production\n",[620,1701,1702],{"class":622,"line":641},[620,1703,952],{},[14,1705,1707],{"id":1706},"limitations","Limitations",[10,1709,1710],{},[28,1711,1712],{},"Actuellement non pris en charge :",[22,1714,1715,1718,1721,1724,1727,1730],{},[25,1716,1717],{},"Optimisation des Virtual Machine Scale Sets (VMSS)",[25,1719,1720],{},"Recommandations Spot VM",[25,1722,1723],{},"Recommandations d'achat d'instances réservées",[25,1725,1726],{},"Planification d'arrêt automatique",[25,1728,1729],{},"Optimisation des pools de nœuds AKS",[25,1731,1732],{},"Orchestration multi-VM",[10,1734,1735,1738],{},[28,1736,1737],{},"Feuille de route :","\nCes fonctionnalités sont prévues pour les versions futures. Actuellement, Jetscale se concentre sur l'optimisation des VM Azure autonomes où des économies de coûts immédiates peuvent être réalisées grâce au redimensionnement et à la migration.",[14,1740,1742],{"id":1741},"intégration-api","Intégration API",[10,1744,1745],{},"Jetscale fournit un accès API pour l'optimisation programmatique :",[68,1747,1751],{"className":1748,"code":1749,"language":1750,"meta":77,"style":77},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Lister les recommandations de VM Azure\nGET \u002Fapi\u002Fv1\u002Frecommendations?resource_type=azure-vm\n\n# Obtenir les détails d'une recommandation spécifique\nGET \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\n\n# Approuver une recommandation (génère le Terraform)\nPOST \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fapprove\n\n# Récupérer le Terraform généré\nGET \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fterraform\n","bash",[75,1752,1753,1759,1769,1773,1778,1785,1789,1794,1802,1806,1811],{"__ignoreMap":77},[620,1754,1755],{"class":622,"line":623},[620,1756,1758],{"class":1757},"sHwdD","# Lister les recommandations de VM Azure\n",[620,1760,1761,1765],{"class":622,"line":629},[620,1762,1764],{"class":1763},"sBMFI","GET",[620,1766,1768],{"class":1767},"sfazB"," \u002Fapi\u002Fv1\u002Frecommendations?resource_type=azure-vm\n",[620,1770,1771],{"class":622,"line":635},[620,1772,645],{"emptyLinePlaceholder":644},[620,1774,1775],{"class":622,"line":641},[620,1776,1777],{"class":1757},"# Obtenir les détails d'une recommandation spécifique\n",[620,1779,1780,1782],{"class":622,"line":648},[620,1781,1764],{"class":1763},[620,1783,1784],{"class":1767}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\n",[620,1786,1787],{"class":622,"line":654},[620,1788,645],{"emptyLinePlaceholder":644},[620,1790,1791],{"class":622,"line":660},[620,1792,1793],{"class":1757},"# Approuver une recommandation (génère le Terraform)\n",[620,1795,1796,1799],{"class":622,"line":666},[620,1797,1798],{"class":1763},"POST",[620,1800,1801],{"class":1767}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fapprove\n",[620,1803,1804],{"class":622,"line":672},[620,1805,645],{"emptyLinePlaceholder":644},[620,1807,1808],{"class":622,"line":677},[620,1809,1810],{"class":1757},"# Récupérer le Terraform généré\n",[620,1812,1813,1815],{"class":622,"line":683},[620,1814,1764],{"class":1763},[620,1816,1817],{"class":1767}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fterraform\n",[10,1819,1820,1821,1826],{},"Consultez notre ",[1822,1823,1825],"a",{"href":1824},"\u002Ffr-ca\u002Fdocs\u002Fapi-reference","documentation API"," pour la référence complète.",[14,1828,1830],{"id":1829},"support","Support",[10,1832,1833],{},"Besoin d'aide pour l'optimisation des VM Azure ?",[22,1835,1836,1846,1855],{},[25,1837,1838,1841,1842],{},[28,1839,1840],{},"Email"," : ",[1822,1843,1845],{"href":1844},"mailto:support@jetscale.ai","support@jetscale.ai",[25,1847,1848,1841,1851],{},[28,1849,1850],{},"Documentation",[1822,1852,1854],{"href":1853},"\u002Ffr-ca\u002Fdocs\u002Ffaq","FAQ",[25,1856,1857,1841,1860],{},[28,1858,1859],{},"Issues GitHub",[1822,1861,1865],{"href":1862,"rel":1863},"https:\u002F\u002Fgithub.com\u002FJetscale-ai\u002Fjetscale-docs\u002Fissues",[1864],"nofollow","Signaler un problème",[1867,1868],"hr",{},[10,1870,1871],{},[28,1872,1873],{},"Documentation connexe :",[22,1875,1876,1882],{},[25,1877,1878],{},[1822,1879,1881],{"href":1880},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-sql","Optimisation Azure SQL",[25,1883,1884],{},[1822,1885,1887],{"href":1886},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fec2","Optimisation EC2",[1889,1890,1891],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":77,"searchDepth":629,"depth":629,"links":1893},[1894,1895,1898,1906,1912,1917,1923,1927,1932,1933,1934],{"id":16,"depth":629,"text":17},{"id":52,"depth":629,"text":53,"children":1896},[1897],{"id":57,"depth":635,"text":58},{"id":117,"depth":629,"text":118,"children":1899},[1900,1901,1902,1903,1904,1905],{"id":124,"depth":635,"text":125},{"id":168,"depth":635,"text":169},{"id":192,"depth":635,"text":193},{"id":236,"depth":635,"text":237},{"id":260,"depth":635,"text":261},{"id":281,"depth":635,"text":282},{"id":330,"depth":629,"text":331,"children":1907},[1908,1909,1910,1911],{"id":334,"depth":635,"text":335},{"id":442,"depth":635,"text":443},{"id":537,"depth":635,"text":538},{"id":602,"depth":635,"text":603},{"id":1206,"depth":629,"text":1207,"children":1913},[1914,1915,1916],{"id":1210,"depth":635,"text":1211},{"id":1257,"depth":635,"text":1258},{"id":1302,"depth":635,"text":1303},{"id":1323,"depth":629,"text":1324,"children":1918},[1919,1920,1921,1922],{"id":1327,"depth":635,"text":1328},{"id":1363,"depth":635,"text":1364},{"id":1397,"depth":635,"text":1398},{"id":1431,"depth":635,"text":1432},{"id":1468,"depth":629,"text":1469,"children":1924},[1925,1926],{"id":1472,"depth":635,"text":1473},{"id":1548,"depth":635,"text":1549},{"id":1626,"depth":629,"text":1627,"children":1928},[1929,1930,1931],{"id":1630,"depth":635,"text":1631},{"id":1657,"depth":635,"text":1658},{"id":1675,"depth":635,"text":1676},{"id":1706,"depth":629,"text":1707},{"id":1741,"depth":629,"text":1742},{"id":1829,"depth":629,"text":1830},[1936,1937,1938],"optimization-methodology","provider-service-support","savings-methodology","Jetscale offre une optimisation des coûts basée sur l'IA pour les machines virtuelles Azure. Nos agents spécialisés analysent vos charges de travail de calcul pour identifier...","md","fr-ca",{},[],"Cloud Optimization","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-vm","legacy-import",{"title":5,"description":1939},[],"fr-ca\u002Fdocs\u002F5.services\u002F8.azure-vm","high","services\u002Fazure-vm","-o7b8F5RrpDlUP6KUQ1hSD5n3YCCykkSsI43lydqW3k",[1954],{"title":1955,"path":1956,"stem":1941,"children":1957,"page":2046},"Fr Ca","\u002Ffr-ca",[1958],{"title":1959,"path":1960,"stem":1961,"children":1962},"Documentation Jetscale","\u002Ffr-ca\u002Fdocs","fr-ca\u002Fdocs\u002Findex",[1963,1964,1968,1972,1976,1980,2002,2006,2037,2041,2044],{"title":1959,"path":1960,"stem":1961},{"title":1965,"path":1966,"stem":1967},"Démarrage avec Jetscale","\u002Ffr-ca\u002Fdocs\u002Fgetting-started","fr-ca\u002Fdocs\u002F1.getting-started",{"title":1969,"path":1970,"stem":1971},"Guide de Configuration AWS","\u002Ffr-ca\u002Fdocs\u002Faws-setup","fr-ca\u002Fdocs\u002F2.aws-setup",{"title":1973,"path":1974,"stem":1975},"Guide de Configuration Azure","\u002Ffr-ca\u002Fdocs\u002Fazure-setup","fr-ca\u002Fdocs\u002F3.azure-setup",{"title":1977,"path":1978,"stem":1979},"Comment fonctionne Jetscale","\u002Ffr-ca\u002Fdocs\u002Fhow-it-works","fr-ca\u002Fdocs\u002F4.how-it-works",{"title":1981,"path":1982,"stem":1983,"children":1984},"Intégrations","\u002Ffr-ca\u002Fdocs\u002Fintegrations","fr-ca\u002Fdocs\u002F4.integrations\u002Findex",[1985,1986,1990,1994,1998],{"title":1981,"path":1982,"stem":1983},{"title":1987,"path":1988,"stem":1989},"Intégration GitHub","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fgithub","fr-ca\u002Fdocs\u002F4.integrations\u002F1.github",{"title":1991,"path":1992,"stem":1993},"Intégration Jira","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fjira","fr-ca\u002Fdocs\u002F4.integrations\u002F2.jira",{"title":1995,"path":1996,"stem":1997},"Intégration Slack","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fslack","fr-ca\u002Fdocs\u002F4.integrations\u002F3.slack",{"title":1999,"path":2000,"stem":2001},"Intégration Bitbucket","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fbitbucket","fr-ca\u002Fdocs\u002F4.integrations\u002F4.bitbucket",{"title":2003,"path":2004,"stem":2005},"Analyse Propulsée par l'IA","\u002Ffr-ca\u002Fdocs\u002Fai-analysis","fr-ca\u002Fdocs\u002F5.ai-analysis",{"title":2007,"path":2008,"stem":2009,"children":2010},"Services pris en charge","\u002Ffr-ca\u002Fdocs\u002Fservices","fr-ca\u002Fdocs\u002F5.services\u002Findex",[2011,2012,2016,2018,2022,2026,2030,2034,2036],{"title":2007,"path":2008,"stem":2009},{"title":2013,"path":2014,"stem":2015},"Optimisation EBS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Febs","fr-ca\u002Fdocs\u002F5.services\u002F1.ebs",{"title":1887,"path":1886,"stem":2017},"fr-ca\u002Fdocs\u002F5.services\u002F2.ec2",{"title":2019,"path":2020,"stem":2021},"Optimisation EKS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Feks","fr-ca\u002Fdocs\u002F5.services\u002F3.eks",{"title":2023,"path":2024,"stem":2025},"Optimisation ElastiCache","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Felasticache","fr-ca\u002Fdocs\u002F5.services\u002F4.elasticache",{"title":2027,"path":2028,"stem":2029},"Optimisation RDS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Frds","fr-ca\u002Fdocs\u002F5.services\u002F5.rds",{"title":2031,"path":2032,"stem":2033},"Optimisation S3","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fs3","fr-ca\u002Fdocs\u002F5.services\u002F6.s3",{"title":1881,"path":1880,"stem":2035},"fr-ca\u002Fdocs\u002F5.services\u002F7.azure-sql",{"title":5,"path":1945,"stem":1949},{"title":2038,"path":2039,"stem":2040},"Flux de Recommandations","\u002Ffr-ca\u002Fdocs\u002Frecommendation-workflow","fr-ca\u002Fdocs\u002F6.recommendation-workflow",{"title":2042,"path":1824,"stem":2043},"Référence API","fr-ca\u002Fdocs\u002F7.api-reference",{"title":1854,"path":1853,"stem":2045},"fr-ca\u002Fdocs\u002F8.faq",false,[2048,2050],{"title":1881,"path":1880,"stem":2035,"description":2049,"children":-1},"Jetscale fournit une optimisation des coûts pilotée par IA pour Azure SQL Database, incluant les bases de données uniques, les pools élastiques et Azure SQL Managed Instance....",{"title":2038,"path":2039,"stem":2040,"description":2051,"children":-1},"Guide complet du processus d'optimisation des coûts de bout en bout de Jetscale",1788219271281]