Շարունակական իրականացում
1) Ի՞ նչ է CD-ն, և ինչպե՞ ս է այն տարբերվում CI/CD-ից։
Շարունակական իրականացումը (Delinuus Deployance, CD) յուրաքանչյուր անցյալի փորձարկման փորձարկումն է, առանց ձեռքով «ստացիոնար գնացքների»։ CI-ից (ավտոմատ հավաքումներ և թեստեր համայնքներում) CD-ն տարբերվում է այն բանից, թե ինչ է ավարտում շղթան 'wwww.artefack կոդը wwwww.ru-ի ստուգումը։ Տեղադրված արդյունաբերություններում CD-ն հաճախ համագործակցում է progressive divery-ի հետ (ստացիոնար արտադրությունը հանդիսատեսի սահմանափակմամբ)։
CD նպատակները
Կրճատել Time-to-Market-ը և փոփոխության արժեքը։
Մեծ օրինագծերի ռիսկը նվազեցնելը 'փոքր կուսակցությունները ավելի հեշտ է գտնել պատճառը և արձագանքել։
«Յուրաքանչյուր կոմունիստ պոտենցիալ երկարաժամկետ է»։
2) Հիմնական սկզբունքները
Փոքրիկ ռեմենտներ։ Կարճ ֆիչե ճյուղեր, արագ խանդավառություն, ագրեսիվ մերջինգ։
Հավաքման դետերմինալ։ Կրկնվող բիլդի միջավայրերը, www.k-ֆայլերը, hermetic builds-ը։
Shift-left որակը։ Լինտերերը, ստատիկ վերլուծությունը, unit/պայմանագրային թեստերը մինչև 2019 թվականը։
Production-like միջավայրը։ Նույնական դելիգները, գաղտնիքները v.ru-ի միջոցով, տվյալները սինթետիկ/անվանական են։
Ամբողջ ճանապարհի ավտոմատիզացիան։ Կոմունիտից մինչև երթուղի և արձագանք։
Լռելյայն դիտարկումը։ Մետրիկները, լոգները, հետքերը, ալերտները, որպես International of Done-ի մի մասը։
Անվտանգություն-by-desport։ SFC/DJ, SCA, ստորագրված արտեֆակտներ, քաղաքական ստուգում։
3) Ստանդարտ ճարտարապետությունը CD-ն է
1. Trigger: իրադարձություն VCS-ում (push/merge), որը նշված է որպես «eligible»։
2. Build: արտեֆակտը (image, փաթեթը), SBSA, ստորագրություն (Sigstore/Cosport)։
3. Test Fox: lint/unit/պայմանագրային; արագ feedback (<5-10 րոպե)։
4. Test Deeep (զուգահեռ) 'ինտեգրացիոն, E2E, բեռի «մոդուլով», քաոս փորձարկումներ սթեյջի մեջ։
5. WinGate: SFC/DMS/SCA, գաղտնիքների ստուգում, քաղաքական (OPA/Wintest/Kyverno) ստուգում։
6. Compliance Gate: SoD/4-աչքերը անհրաժեշտության դեպքում, պահանջների հետադարձելիությունը, չեկի թերթերը։
7. Promote 'արտեֆակտի առաջխաղացումը որպես նույն տոմս շրջակա միջավայրի միջոցով (dev winstage)։
8. Deploy Strategy: blue-green / canary / progressive + feature flags.
9. Post-Deploy Verifox: 108-health, SLO/SLA, alerts, auto-rolbek քայքայման ժամանակ։
10. Audit & Evidence: արտեֆակտներ, լոգներ, ստուգումների արձանագրություններ անփոփոխ պահեստում։
4) Օրինագծերի ռազմավարությունը
Blue-Green: Երկու prod (Blue = ներկա, Green = նոր), ատոմային ուղղումը։ Գումարած ՝ ակնթարթային արձագանք։ Մինուսը կրկնակի ենթակառուցվածք է։
Canary: Արգելող հրթիռի գործարկումը (1% 245 տոկոսը 2425 տոկոսը 24100%) ավտոմատ SLO-gatts-ի հետ։
Progressive Divery: Ռուսական կոորտներ (տարածաշրջանը, պրովայդերը, VIP սեգմենտը), պարտության շառավղի սահմանը։
Feature Flags-ը '«անջատված» կոդի տեղադրումը, որը տեղադրված է կոդով/cohortam-ով։ Իհարկե, «flag lifecycle» քաղաքականությունը։
5) Փորձարկում և որակ
Պայմանագրային թեստերը և consumer-driven medrac.ru-ը միկրովրովիզների արտադրման համար։
Բեռի պրոֆիլները իրական փամփուշտներով (RPS, p95/p99, բաց/փակ մոդելներ)։
BD խմբակցությունների թեստերը 'ուղիղ/շրջադարձային, երկու տարբերակների համատեղելիությունը (expand no. ract)։
Chaos/Resilience-թեստերը 'կախվածության անջատումը, ցանցային ուշացումները, ռեսուրսների սահմանները։
Սթրեսային ստուգումը (smoke + inthetic) օգտագործողի մոտ մոտ գտնվող կետերից։
6) CD-ում անվտանգությունն ու բաղադրիչները
Արտեֆակտների ստորագրությունը, provenae, SBSA։ Մենք հետևում ենք ծագմանը, բացառում ենք «supply chain» ռիսկերը։
Policy-as-Code: Մենք թույլ ենք տալիս միայն պատկերներ, որոնք վստահելի են։
Գաղտնիքները ՝ shant-lived հոսանքներ, որոնք պտտվում են բանալիները, KFC; գաղտնիքների արգելք։
Պարտականությունների տարանջատումը (SoD) 'տեխնոլոգիական հասանելիության զարգացումը։ բոլոր վիրահատությունները 'www.pline-ի միջոցով։
Աուդիտ-հետք 'անփոփոխ ածխաջրածինների լոգներ, ովքեր/ինչ/երբ; N տարի կարգավորող։
7) Փոփոխությունների կառավարումը և ռիսկի վերահսկումը
Change Types: 108 (ամբողջովին ավտոմատ), նորմալ (auto + հաստատումը), արտակարգ (արագացված պատուհան + post-mortem)։
CAB-մինիմալիզմը 'CAB-ը փոփոխված ռիսկերի և ենթակառուցվածքային «կոտրող» դեղատների համար, մնացածը' որակի ավտոմատ խաղերի միջոցով։
Risk Mata.ru: Ազդեցությունը բացատրում է ռազմավարության ընտրության հավանականությունը (canary ավելի խորը, դրոշները, ավելացված պաշտպանությունը)։
Runbooks & Playbooks: Հստակ հրահանգներ յուրաքանչյուր տեսակի թողարկման և արձագանքման համար։
8) Դիտարկումը, SLO և auto-rolbek
Ոսկու ազդանշաններ 'լատենտ, սխալներ, հագեցվածություն, պաշտպանություն։ բիզնես մետրերը (հակադարձումը, դեպոզիտը, վճարումների հաջողությունը)։
Guardrails: Եթե r95> շեմն է, error rate rate-ը, բիզնես-մետրը 'Auto-stop/ratat։
Releant Dashboards: Wights: Windows: Windows: Windows: Windows, Windows, Window
Ալբերտները 'աղմուկի բարձրացման մակարդակներ, on-call տարհանումը, կապը կառավարման հետ։
9) Metriki CD
DORA-մետրիկները 'դոպլոների հաճախությունը, lead time for changes, MTTR, անհաջող ածխաջրածինների մասը։
Change-failure-rate-ի վրա (պրովայդերի, տարածաշրջանի, կառուցվածքի)։
Խաղացողների անցման ժամանակը 'որտեղ «նեղ տեղեր» (wwww.scan, ինտեգրացիոն թեստեր)։
Cost-to-Rele.ru: պատուհանի րոպեի արժեքը, ռազմավարության ենթակառուցվածքային արժեքը (blue-green vs canary)։
10) Մատնահետքերի և համատեղելիության պատրանքներ
Avto rollbek: Երթուղման մակարդակում (traffic switch) և/կամ տարբերակումը (K8s rollout undo)։
BD-2019 'expand-migrate-medract ռազմավարությունը, ֆիչի դրոշները թաքցնում են անհասանելի դաշտերը։
Idempotency & Exactly-once-like 'հերթերի/վճարումների համար' idempotency, deduplication։
Back-pressure-ը և graceful degradation-ը, դեգրադացիայի ժամանակ, անջատել նավթային ֆիչերը։
11) Շրջակա միջավայրի գործնական մոդել
GitOps-մոտեցումը 'նպատակային վիճակը պահվում է գիտայում, վերահսկիչը օգտագործում է մանիֆեստներ։
Environments: «dev» (արագ և կեղտոտ), «stage» (prod-like, քաոս-փորձարկումներ), «07-A/B» (blue-green) կամ «black» 'canary փամփուշտներով։
Տվյալների մեկուսացումը 'ուլտրաձայնները որպես տվյալներ, գաղտնիքները պատկերի սահմաններից դուրս, առանձին բացթողումներ/լիմիտներ։
12) Գործընթացներ և դերեր
RACI 'Ճարտարապետը (քաղաքականությունը), Պլատֆորմենային թիմը (wwww.pline, 2019), Ապրանքի թիմերը (թեստեր/դրոշներ), Անվտանգությունը (քաղաքականությունը/սկանները), PPE (SLO/2019)։
ChatOps: PR-bots, կարգավիճակների տեսանելիությունը, «/promote », «/rollback»։
SOP 'չեկ թերթիկներ, post-rele.ru review, դրոշների «aging» վերահսկողություն։
13) Բարձր կարգավորվող օրինակների համար (օրինակ ՝ iGaming/fintech)
Հետադարձ կապ. Տիկետի պահանջը www.PR տոմսն է, որը պարունակում է արտեֆակտը։
Geo-rele.ru: երկրներով/հայտարարություններով, տեղական վճարումների միգրացիայի հետ/KUS։
Անտիֆրոդը/ռիսկի շարժիչները 'կանարեիկ ֆուլներ, www.false-positive/negative։
KYC/AML/պատասխանատու խաղը 'ֆիչին թողարկել դրոշի միջոցով ռուսական ազդեցության դիտարկման միջոցով։
14) Հաճախակի հակատիպեր
Քայլերը փուլերի միջև («բերեցին արտեֆակտը ձեռքերով»)։
«Մոխրագույն դրոշները» առանց սեփականատիրոջ և կյանքի ժամանակահատվածի։
Մեկ ընդհանուր «հաստ» ինտեգրացիոն թեստ 'փոխարենը։
BD հակադարձ խմբակցությունների բացակայությունը։
Անվտանգության սկանը դոպլոյից հետո, ոչ թե առաջ։
15) CD-ի պատրաստակամության մինի-չեկի ցուցակ
- Բիլ դետերմինացված; արտեֆակտը ստորագրվել է; Կա SBSA-ն։
- Պայմանագրային թեստեր և ֆիքսումներ E2E-ի համար։
- Windows/Compliance-Gates որպես կոդ; գաղտնիքները 'vox-ի միջոցով։
- Դիտարկումը 'լոգեր/մետրիկներ/թրեյսներ, ստացիոնար դաշբորդներ, SLO-gatts։
- Արտադրության ռազմավարություն 'canary/blue-green + avto-rollbek։
- BD խմբակցությունների ընթացակարգերը (expand/www.ract)։
- Feature flags-ը քաղաքականության հետ «ստեղծեց կոմպոզիցիան օգտագործել է»։
- RACI/Runbooks/ChatOps/։
16) Հոսքի օրինակը (սցենարը)
1. Merge-ում 'main' traggerit pline։
2. Բեռնարկղի հավաքումը, ստորագրությունը, SBSA-ը։
3. Լինթ/Յունիտ/պայմանագրերը ավարտված են։
4. SFC/SCA/գաղտնիքը-սկանը «կանաչ» է։
5. Ավտոպրոմոն stage: E2E + քաոս + 108-ին։
6. Canary 1 տոկոսը պարզ է, սխալների վերահսկումը/լատինականությունը/բիզնես մետրիկը։
7. Էսկալացիան մինչև 25 %/50 %/100 տոկոսը կանաչ խաղերում։
8. Դրոշի ինքնությունը «rollout-guard», արտեֆակտների ձայնագրությունը։
9. Post-rele.ru review, ռուսական դրոշների հեռացում։
17) Արդյունքը
CD-ն «deploy կոճակ» չէ, այլ փոքրիկ, անվտանգ և դիտարկված փոփոխությունների մշակույթը։ Ճիշտ քաղաքական և ավտոմատիզացիայի հետ CD-ն նվազեցնում է ռիսկերը, արագացնում է ռուսական արժեքները և արտադրում է ռուտինային, ոչ թե իրադարձություն։ Բարձր ծանրաբեռնված և կարգավորվող համակարգերի համար հաջողության բանալին խիստ որակի խաղերն են, որոնք տեղադրված են rollout, fich դրոշներ, դիտարկվում են յուրաքանչյուր կոմպոզիցիայի։