GH GambleHub

Առաջադիմական ռելիզը և սթեյջինգները

(Բաժին ՝ Ճարտարապետություն և Արձանագրություններ)

1) Ինչո՞ ւ է առաջադեմ առաքումը

Դասական սխեման «dev wintest winstaging informent» չի երաշխավորում անվտանգությունը, որքան ավելի մոտ է երկարաձգմանը, այնքան ավելի բարձր է անհամապատասխանության ռիսկը։ Առաջադիմական ռելիզը նվազագույնի է հասցնում blast radius-ը, աստիճանաբար ավելացնելով մրցույթի/լսարանի մասնաբաժինը և ամրացնելով լուծումները մետրերով և SLO-ով։ Սթեյջինգների հետ կապված սա տալիս է զրոյական դաունթայմ, արագ արձագանք, գործընթացի կրկնություն և որակի չափում։

2) Տերմիններ

Steigings (envierments) - արտեֆակտային կյանքի ցիկլի պաշտոնական փուլերը '«dev», «ci», «qa/test», «staging/pre-2019», ինչպես նաև ephemeral/www.view շրջապատման տակ։

Առաջադիմական թողարկումը (progressivery-launch) վերջնական տարբերակն է/fich: canary, տոկոսային rollout, ring-deplay, ficheflagy, dark-launch, shadow-2019։

Գեյթսը թույլատրման ավտոմատ չափանիշներ է (error rate, p95, բիզնես մետրիկներ, SLO-ի սխալների բյուջե)։

Արտեֆակտների առաջխաղացումը նույն ստորագրված տոմսի առաջխաղացումն է սթեյջինգների միջև (immutable artifact)։

3) Շրջակա միջավայրի քարտեզը և դրանց նշանակումը

3. 1 Հիմնական

Dev (տեղական/ավազաքարեր) 'արագ ցիկլեր, կախվածություն, նվազագույն անվտանգություն։

CI (ինտեգրալ սթենդներ) 'յունիտ/ինտեգրալ/պայմանագրային թեստեր, ստատիկ վերլուծություն, SCA/SOM։

QA/Test: e2e, բեռի, ռեգրեսիայի։ Տվյալները սինթետիկ կամ դիմակավորված են։

Staging/Pre-2019 'առավել «prod»' նույն կազմաձևումը, դրոշները, սահմանները, ֆոնային վերամշակումը։

Մոսկվա ՝ ռազմական պաշտպանություն, SLO/SLI, ալերտներ, արձագանքման պլաններ։

3. 2 Լրացուցիչ

Ephemeral/Medview per PR 'պատի ավտոսրահը pox-request-ում, merge/close-ում։

UAT/Sandbox բիզնես թիմերի համար 'ընդունելություն, ցուցադրություններ, ուսուցման սցենարներ։

Performultlab: մեկուսացված բեռային փորձարկումներ (գեներատորներ, տվյալների կրկնօրինակներ)։

4) Կայուն սթեյջինգի սկզբունքները

Կազմաձևումը որպես կոդ (IaC, GitOps), շրջակա միջավայրի դրաֆը բացառվում է կոդով և ավտոմատ վալիդացիաներով։

Idempotent, ստորագրված արտեֆակտներ (SBSA, provenae, attestrone), մեկ build wwww.m.i-stage deploy։

Պարիտետը երկարությամբ 'rantaim, limits, ցանցային քաղաքականություններ, որոնք միացված են դրոշները։ Տարբերությունը միայն գաղտնիքներում/տվյալների մեջ է։

TDM (test no.) 'սինթետիկ/դիմակավորում, թուղթ և նստատեղեր, որպես փայտանյութի մի մասը։

By des.ru-ի դիտարկումը, լոգարանների/հետքերի հարաբերակցությունը, բոլոր փուլերում միասնական դաշբորդները։

5) Առաջադիմական մոդելը

5. 1 Մոտեցման գործիքներ

Ֆիչեֆլագները ՝ սեգմենտների ֆունկցիոնալի անջատումը (երկիր, հաճախորդ, ակունտ, randium seed)։

Canary: 1-5-10-25-50-100 տոկոսը համագործակցում է յուրաքանչյուր խաղացողների հետ։

Ring-depla-ը 'օղակների ընդլայնումը (wwww.al medemployees nobeta public)։

Blue-Green: ատոմային ֆլիպ պլատֆորմի մեծ ագրեգադների համար։

Dark-launch: թաքնված կատարումը առանց ազդեցության օգտագործողի վրա (հավաքումը)։

Shadow-traff: Հարցումները նոր տարբերակում են առանց օգտագործողի պատասխանի։

5. 2 Ավտոմատ խաղեր

Տեխնոլոգները ՝ error rate, p95/p99, saturation, queue lag։

Բիզնես մետր 'հեղինակային իրավունքի, վճարման փոխադարձության, ձագերի քայլերի մերժումը։

SLO/error budget: Արագ կանգառ, երբ արագացված այրվում է սխալների բյուջեն։

Կարգավիճակը 'նվազագույն ժամանակը/ծավալը մի քայլ է, որպեսզի չընդունեն որոշումները «աղմուկով»։

6) CI/CD տիպային շղթան (հանրաքվե)

1. Commit/PR no Build: Միասնական պատկեր/փաթեթ, ստորագրություն, SBSA։

2. CI-тесты: unit/integration/contract + security (SAST/SCA/secret-scan).

3. Ephemeral diview: Պատի ինքնաբերումը ձեռքով ստուգման/UX-ի համար։

4. QA/Test: e2e + 35+ քաոս թեստեր (oporational)։

5. Staging: smoke, կրիտիկական օգտագործողական ճանապարհների ռեգրեսիա, BD խմբակցությունների ստուգում։

6. Delcanary: 1-5 տոկոսը ռուսական խաղացողները 10-25-50-100 տոկոսն են։

7. Արձագանքը/ավարտը 'խնդիրների դեպքում' avto-rollback; հաջողության դեպքում հին տարբերակի փոխկապակցումն է։

7) Տվյալների և սխեմաների կառավարում

Expand-migrate-medract: հակամարմնային լուծումներ, ֆոնային փոխանցումներ, chekpoints, idempotenty։

Ձայնագրությունների երկշաբաթությունը (dult-write) deduplication-ով կամ «գործարքային ֆայլը box»։

Noking/prod տվյալների հավաքումը staging-ի համար (իրավաբանորեն և տեխնիկապես անվտանգ)։

Քեշի/նստաշրջան 'արտաքին ձեռնարկություններ, տաք մեկնարկը, հաշմանդամության քաղաքականությունը ֆլիպով։

8) Անվտանգություն և համապատասխանություն

Գաղտնիքները ՝ KFC/Secrets Express, rotation, ամենափոքր արտոնությունների սկզբունքը։

Սթեյջինգի մեկուսացումը 'ցանցեր/հաշիվներ/նախագծեր; պատահական համաժամացման արգելք։

Audit/trais Records: Ո՞ վ/ինչ/երբ դուրս հանեց արտեֆակտի տարբերակը, change approval-ը։

PO-ի մատակարարումները 'ստորագրության հավատարմագրում, ռեստրատների նկատմամբ վստահության քաղաքականություն, «latest» արգելք։

9) Դիտողությունն ու շահագործումը

Մետաքսի միասնական ձևաչափը '<>, version, commit, stage, region, ring =>։

Համեմատություն baseline 'canareka vs կայուն տարբերակը որոշ գրաֆիկների վրա։

Ալերտները SLO-ով 'ապրանքային և տեխնոլոգիական, տարբեր շեմեր canary-ի համար։

Post-rele.ru: Առնվազն N ժամ/օր ձերբակալված ազդեցությունների համար։

10) Արձագանքներ և դժբախտ պատահարների պլաններ

Կոճակը/արձագանքման թիմը pline-ի մի մասն է (ոչ ձեռքով)։

Դրոշի ռևերսը ավելի արագ է, քան (kill-switch)։

Ձեռնարկված միջոցները ասում են. Idempotent կրկնվող վերամշակումներ, որոնք փոխհատուցում են գործարքները, deduplication։

Պլեյբուսները նշում են, թե ով է որոշում, հաղորդակցման ալիքներ, հաղորդագրությունների ձևանմուշներ։

11) Արժեքը և արտադրողականությունը

Ephemeral-միջավայրը խնայում է փողը, եթե ագրեսիվ մեքենան հեռացվում է։

Blue-Green-ը կարճ ժամանակ ավելի թանկ է, քան թողարկման ժամանակը։ canary ավելի էժան է, բայց պահանջում է հասուն մետր։

Մեքենայի սկեյլինգը բեռնման և պատուհանի երկայնքով։ քվոտաներ գերազանցող ստենդներ։

12) Հաճախակի հակատանկային արտոնագրեր

Շրջապատի դրեյֆը 'հոսանքներով ձեռքով, «այն փոքր է»։

Շրջապատի մեկ տոմս ՝ rebuild per stage-ը «ոչ հերոսական» prod-ուղեբեռի է։

Ոչ ակտիվ տվյալների թեստերը 'կանաչ "թեստեր, որոնք ընկնում են երկարության մեջ։

Խաղացողների բացակայությունը 'SLO-ի փոխարեն զգացմունքների ալգորիթմներ։

Երկար TTL-ը RF-ում Blue-Green-ում։ stickiness բացակայությունը մասնակի օպտիկայի ժամանակ։

Անհամատեղելի BD սխեմաների խառնուրդը canary/stable-ում։

13) Չեկ թերթերը

Բացելուց առաջ

  • Պատկեր ստորագրվել է, SBSA-ն հավաքվել է, քրիթային մակարդակի խոցելիությունը փակված է։
  • Peter BD-ն փոխկապակցված է (expand)։
  • Թեստերի տվյալները դիմակավորված են/սինթետիկ։
  • Dashbords/alerts նոր տարբերակի համար պատրաստ են։

Նախքան դուրս գալը 2019 թվականին

  • canary պլանը քայլերով և շեմերով պնդվում է։
  • Kill-switch-ը և արձագանքման պլանը ստուգված են staging-ի վրա։
  • Traffic shadow կամ dark-launch կատարվում է (հնարավորության դեպքում)։
  • On-call տեղեկացված է, պատուհանի ժամանակը համաձայնեցված է։

Թողարկումից հետո

  • SLO Production N ժամ։
  • Մաքրումը/www.ract-ը օգտագործվում է։
  • Հետադարձ հայացք և պլեյբուսի ապդեյթ։

14) Ճարտարապետության իրականացման տարբերակները

Մոնոլիտ 'գերազանցելով + Blue-Green, իսկ ֆիչին' դրոշի միջոցով։ սահմանափակ canary URL/տիկնիկներ։

Միկրովեռները 'canary/ring բնական; խիստ կառավարումը պայմանագրերով (CDC), API տարբերակումը։

Stateful ծառայություններ: Blue-Green-ը տաքացումով և հստակ միգրացիայի պլանով։ առանձին հերթեր/տեղեր per version.

15) GitOps (ուրվագիծ)

Reposorium app (կոդը) արտադրում է արտեֆակտը և մանիֆեստ է դնում env-ի ռեպոզորիայի մեջ։

GitOps-գործակալը (Argo CD/Flux) համաժամեցնում է «env/dev», «env/qa», «env/staging», «env/210»։

Պրոմոիցիան 'pox-request-ի միջոցով ճիշտ steige-ի համար։ Մերջը ձգում է ճեղքումը և խաղալիքները։

16) Վերջերի և լսարանների կառավարումը

Սեգմենտացիան 'հաճախորդի, երկրի, կառուցվածքի, կիրառման տարբերակների, AB-coute-ի, օրվա ընթացքում։

Աստիճանական ընդարձակումը '1 տոկոսը ներքին 245 տոկոսը բետա է 25 տոկոսը վաղ հաճախորդները ամեն ինչ կազմում են 100 տոկոսը։

A/B-փորձարկումները և պարամետրերը ապրանքային վարկածների համար նույն դրոշների մեխանիզմի վրա։

17) Գործնական սցենարներ

Սցենարը 1: նոր էքսպորտային ինտեգրում

1. Ephemeral Stend per PR, QA-report։ 2) Staging smoke + sandbox պրովայդեր։

2. Wincanary 1 տոկոսը «X-Cohere = www.al» վերնագրով։ 4) Գեյթ 'error rate, p95 callback, հաջողակ գործարքների մասը։

3. 1→5→25→50→100%; քայքայման ժամանակ kill-switch։

Սցենարը 2: apgraid rantima (JDK/Node/OS)

Blue-Green-ի մակարդակի վրա. Green-ը տաքանում է, մեջբերում է «expand», flip, դիտարկումը, flip back խնդիրներ։

Սցենարը 3: high-risk UI-fich

Dark-launch + ֆիչեֆլագը միայն beta օգտագործողների համար, UX-metric հավաքումը, լսարանի աստիճանական ընդլայնումը։

18) Գործիքների նվազագույն հավաքածու

CI: build, թեստեր, ստորագրություն, SBSA։

CD/GitOps: Argo CD/Flux/Spinnaker կամ national ամպային գործիքներ։

Routing: Ingress/Service Mesh (weighted, header/cookie based).

Ֆիչեֆլագի ՝ LaunchDarkly/Unleash/OpenFeature/ինքնագրական ծառայություն։

Observability: metrics, logs, հետքեր, ալերտներ; մեկ dashbords per stage.

TDM 'դիմակավորում, սիդինգ, սինթետիկ գեներատորներ։

Տե՛ ս ՝ գաղտնիքներ, KFC, կիսագնդի քաղաքականություն, կախվածության ստուգում։

19) Ռեզյումե

Առաջադիմական թողարկումը ստեյջինգի համադրություն է։ Հաջողությունը պահվում է չորս սեղանների վրա ՝ immutable artefakts, SLO-ի ավտոմեքենաները, տվյալների սխեման և արագ արձագանքը։ Ավելացրեք վերափոխումը, GitOps-ը և ficheflage-ը, և ձեր թողարկումը կդառնա կանխատեսելի, անվտանգ և արագ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։