GH GambleHub

Զարգացողների ներքին գործիքները

1) Մշակողի պլատֆորմի (IDP) դեր և պատասխանատվության գոտի

Զարգացողի ներքին պլատֆորմը «ինքնաարտադրության» շերտն է, որը փակում է տիպային ինժեներական առաջադրանքները միանձնյա գործիքներով

արագ սկսելը (ծառայությունների ձևանմուշները, API կմախքը, pline);

կանխատեսելի հավաքումը/փորձարկումը/դեֆլան;

անվտանգ կառավարումը գաղտնիքներով, կախվածություններով և արտեֆակտներով։

զգայունություն լռելյայն (լոգա/մետրեր/թրեյսներ);

հասանելիություն թեստային տվյալներին, կամուրջներին և պրովայդերների ավազներին.

գունդը և «ոսկե ճանապարհները» տիպիկ մետաղների համար։

Նպատակն է նվազեցնել ճանաչողական բեռը, Time-to-First-PR և Lead Time for Changes-ը, բարձրացնելով ածխաջրածինների ավելացումը և համապատասխանեցնել կոմպլենսին։

2) DX դիզայնի սկզբունքները (Developer eXperience)

Convention over coriguration: Ստանդարտները ավելի կարևոր են, քան ձեռքերը։

Golden Paths-ը «լռելյայն» լուծումների նվազագույն հավաքածու է, որը ծածկում է դեպքերի 80 տոկոսը։

Everything as Code: www.pline, ենթակառուցվածքը, dashbords, քաղաքականությունը Git-ում։

Secure-by-international: SFC/DTS, SBSA, արտեֆակտների ստորագրություն, կախվածության քաղաքականություն։

Observability-first: Ծառայությունները և գործիքները ինքնաբերաբար հեռաչափություն են արտադրում։

Շրջապատի պորտաբելությունը 'տեղական = CI = steige = prod (որքան հնարավոր է)։

Հետադարձ կապը րոպեների ընթացքում 'արագ թեստեր, ոսպնյակներ, ավելի բարձր միջավայրեր, PR արձաններ։

3) Պլատֆորմի ճարտարապետությունը և հիմնական բաղադրիչները

DevPortal: Ծառայությունների կատալոգը, ձևանմուշները, պարամետրերը, պլատֆորմի կարգավիճակը, «one-click» գործարկումը և շրջապատը։

CLI/կմախք 'ծառայությունների/գործառույթների/ջոյի արտադրություն մեկ ապակու հետ (տրամաբանություն, health, OpenAPI/Delo, observability)։

Բիլդ համակարգը և մոնոպրո գործիքները 'քեշինգը, ռեֆորմալ հավաքումը, դետերմինացված արտեֆակտները։

CI/CD-բլյուպրինտներ ՝ ծառայությունների համար փայտանյութեր (unit, պայմանագրեր, ինտեգրում, e2e, անվտանգության վերլուծություն, deple)։

Թեստային ուրվագծեր ՝ թեստային/տեղական պրովայդերների ավազներ, տվյալների ընդհանուր գործարան և ֆիքսթուր։

«Արկղից» դիտարկումը 'OTel/Prometheus/լոգգերի միացումը մեկ մոդուլի միջոցով։

Գաղտնիք կառավարումը 'ինտեգրումը KFC/HSM, ռոտացիան, հասանելիության քաղաքականությունը։

Ֆիչեֆլագի/փորձարկումներ 'SDK և կոնսոլ առաջադիմական դասավորությունների համար։

4) DevPortal: Կենտրոնական մուտքի կետը

Ֆունկցիոնալությունը

ծառայությունների/գրադարանների/սխեմաների կատալոգ (owner, SLA, տարբերակներ, խոցելիություններ);

«Ստեղծել ծառայություն» կոճակը ձևանմուշով (անմիջապես pline և alerts);

108 (ստանդարտ ստայլա, սուլֆիդներ, պլեյբուկներ);

պլատֆորմային ծառայությունների կարգավիճակ, capacity, փոփոխություններ (changelog);

Runbooks և Golden Paths: «Ինչպես ավելացնել էնդպոինտը», «ինչպես ստեղծել բողոքարկումը», «ինչպես միացնել պրովայդերին»։

5) CLI և ձևանմուշները (կմախքային)

Ձևանմուշները ներառում են

REST/gRPC/GraphQL-2019-ը health-chects ,/metram ,/ready;

պատրաստ midlewares 'հարցումների հարաբերակցություն, վավերացում, rate limits;

OpenAPI/Eurobuf + CI սխեմաների ստուգում;

մոդուլային լոգգեր, թրեյսինգ, մետրիկներ;

dockerfile + compose տեղական զարգացման համար;

թեստերի հիմնական շարքը և ոսպնյակների կազմաձևումը/www.atters/prechuks։

Օրինակ

`devx new service --name payments-api --stack go-grpc --db postgres --events kafka --template v2`

6) Տեղական զարգացումը և հեռավոր տարածքները

Dev Intainers/Codespaces-անալոգը 'բոլոր նույն միջավայրերը, արագ ուռուցքաբանը։

Docker Compose + Testcontainers: BD/kashi/անվադողերը բարձրանում են տեղական մեկ թիմի։

Tilt/Skaffold-ը կենդանի վերագործարկելու համար Kubernetes-ում «dev» կլաստեր։

Remote Dev: Ռուսական սոեմային հավաքումները/թեստերը կատարվում են ընտրված փամփուշտների վրա։

Օգտակար պրակտիկա

մեկ 'tool-versions '/www.kfiles գործիքների տարբերակների համար;

make/just-скрипты: `make test`, `make run-local`, `make seed`;

տեղական գաղտնիքները '«dotenv» և dev դերերի գաղտնիքների պրովայդեր։

7) Սխեմաների և պայմանագրերի կառավարումը

Schema Registry (JSON/Avro/Delo) միգրացիայի քաղաքականության հետ։

Euract testing (Pact/Buf) որպես CI-ի պարտադիր ջո։

API (SemVer) տարբերակը, երկկողմանի աջակցությունը, MSK ավտոմատ արտադրությունը։

BD (migrate/flyway/liquibae) ստանդարտ քայլ է։

8) Փորձարկման բուրգը և տվյալները

Յունիտ թեստերը 'արագ, զուգահեռ, պարտական են կրիտիկական տրամաբանության ծածկմանը։

Պայմանագիր-թեստեր 'սպառողը ռուսական API/իրադարձությունների պրովայդեր։

Ինտեգրացիոն 'իրական կախվածությունների հետ տարաների մեջ։

E2E 'նվազագույն, բայց ռեպրեսենտատիվ հավաքածու «միջատներով»։

Թեստային տվյալները 'գործարաններ/ֆիքսթեր, սինթետիկ առանց PII, շրջակա վայրեր։ BD սարքավորումները միայն անանուն են։

9) CI/CD: Ստանդարտ թիթեղներ

Փուլերը (լռելյայն)

1. Lint/Corat/License/SBSA արտադրություն։

2. SFC (ստատիկ վերլուծություն) + կախվածության քաղաքականությունը, որը արգելափակում է «քննադատությունները»։

3. Unit wwww.rac.ru Integration pro E2E-ը արտեֆակտների և զեկույցների հետ։

4. Build դետերմինացված պատկեր, ստորագրություն (sigstore/cosport), push registry-ում։

5. Deploy:
  • feature-env/www.view URL յուրաքանչյուր PR-ում;
  • canary/blue-green stage;
  • առաջադիմական պրո-ռելիզը ֆիչեֆլագով/108;
  • 6. Post-deploy winks: alerts, error budget, ավտոսպորտ քայքայման ժամանակ։

10) Դիտողությունն ու տեղական բանավեճը

«Telemetry-starter» մոդուլը 'ներառում է OTel MSK, արտադրողներ, կորլացիա' trace _ id ';

Dashboards as Code: dashbords և alerts նկարագրված են Git-ում։

Trace-driven dev 'հարցումների ավելացումը տեղական և ավելի բարձր ստենդերում։

Լոգները կառուցվածքային (JSON), պաշտպանությունը PII-ից, զգայուն դաշտերի դիմակավորում։

11) Կոդի և խանդի որակը

միասնական ոսպնյակներ/լոկոմոտիվներ և ճնշումներ (լեզուն հատուկ);

pre-commit huki (linta/թեստեր փոքր ծավալի);

Code Owners-ը և պարտադիր նախանձը հիմնական արտեֆակտների համար (սխեմաներ, պաշտպանություն, քաղաքականություն);

PR-chek-lists. <<Ի՞ նչ է փոխվել։ «, «անվտանգություն։ «, «հակադարձ համատեղելիություն։ «, «? ».

12) Անվտանգ զարգացումը (SSDL) և մատակարարման շղթան

SCA (կախվածության վերլուծություն) և աղբյուրների allowlist;

SFC/DFC/IFC տեսակի արտեֆակտը;

SBSA-ը յուրաքանչյուր տոմսի համար, պահեստավորում արտեֆակտային ռեպոզորիայում։

պատկերների ստորագրություն, հավաստագրում (SLIM մակարդակներ);

գաղտնիքների քաղաքականությունը 'ոչ մի գաղտնիք Git-ում, ռոտացիա, ժամանակային կրեդիտ;

Policy-as-Code (OPA/Wintest) ենթակառուցվածքային PR-ի համար։

13) Ֆիչեֆլագները, փորձարկումները և շրջակա միջավայրը

MSK ֆիչեֆլագները ձևանմուշներում, տարբերակումը 'ops դրոշներ vs արտադրանք;

առաջադիմական դասավորություններ (1% 2425% 24100%), արագ գծապատկեր;

յուրաքանչյուր PR (յուրահատուկ URL, թրեյսինգ, թեստային տվյալներ), ավտոմատ հեռացում merge/close-ից հետո։

14) Բոտա և ավտոմատիզացիա

chat-bots/deploy ,/rollback ,/logs ,/runbook;

Auto-պիտակները և ավտոմեքենաները bag-tracker-ում;

տիկետների ձևանմուշները (պատահականություն, փոփոխություն, RFC);

կախվածության վերականգնումը մարտկոցով և «կանաչ» ճյուղերով։

15) Մոսկվան և ուսուցումը

«կենդանի» սպեկները (OpenAPI/Delo) որպես ճշմարտության աղբյուր։

tech notes/RFC ընդհանուր ձևանմուշների միջոցով, Git-ից ավտոպլեքսիա;

տեսահոլովակ-ցուցադրություն «Ինչպե՞ ս եմ ես սկսում նախագիծը 10 րոպեում»։

DevPortal-ի «ավազը» ցնցող սցենարներով։

16) Արդյունավետության մետրերը (DORA/SPACE)

DORA: Lead Time, Deployment Frequency, MTTR, Change Failure Rate;

SPACE 'բավարարվածություն, արտադրողականություն, ակտիվություն, հաղորդակցություն։

նպատակները 'www.Lead Time-ը 30 տոկոսով, որը համապատասխանում է ածխաջրածինների հաճախությանը, պլանավորվում է ուռուցքաբանության ժամանակը մինչև N ժամ։

17) Հասանելիության և ստենանտության կառավարումը

ինժեներական կոմպոզիցիաների դերերը (dev, reviewer, releng, platform);

Միջին քաղաքականություն. Ո՞ վ կարող է հավելել dev/stage/2019;

առանձին քվոտաներ/limits և namespace մեկուսացում վերափոխելու/fich ճյուղերի համար։

18) Տվյալների և վերլուծության գործիքները

տեղական պրոֆիլներ իրադարձությունների կարդալու համար (Kafka/NATS) և repley;

սինթետիկ գեներատորներ և անանուն դամպեր։

նոութբուքեր/ջութակներ «ad-hoc» -ը վերլուծել մետաղների և ածխաջրածինների որակի մետրը։

19) Իրականացման ճանապարհային քարտեզը

M0-M1 (MVP): DevPortal-ը, ծառայությունների ձևանմուշները, հիմնական CI (lint + unit + build), տեղական հավաքումը dev-intainers, տրամաբանությունը/մետրերը։

M2-M3 'պայմանագիր-թեստեր, ավելի բարձր միջավայրեր, ինտեգրացիոն թեստեր թեստերի, SMS/SCA, SBSA-ի հետ։

M4-M6: Ficheflagy, առաջադիմական, Dashboards as Code, policy-as-code, հեռավոր dev-puls, MSK-ի ավտոգեն։

M6 + 'ռելիզային նվագախմբեր, «մեկ կոճակի» փորձը, բաղադրիչների/գրադարանների ներքին վիտրինը, DORA/SPACE չափումները DevPortal-ում։

20) Պլատֆորմի հասունության թուղթ (կանգուն)

  • «Մեկ կտոր» կոմպոզիցիայի ստեղծումը տալիս է աշխատանքային շրջանակ մետրիկների/հատորների/թրեյզների հետ։
  • Շրջապատը ինքնաբերաբար բարձրանում է յուրաքանչյուր PR-ով։
  • Պայմանագիր-թեստերը պարտադիր են և արգելափակում են անհամատեղելի փոփոխությունները։
  • SBSA-ն հրապարակվում է յուրաքանչյուր տոմսի վրա, պատկերները ստորագրվել են։
  • Դիտողականությունը/ալտերտերը և տաշբորդները կոդն են և ռեպոզորիայում։
  • Ֆիչեֆլագները հասանելի են վահանակից, գլանափաթեթները 'առաջադիմական։
  • Runbooks/պլեյբուսները կապված են ալերտների հետ և տեսանելի են DevPortal-ում։
  • DORA/SPACE մետրիկները ցուցադրվում են DevPortal-ի գլխավոր էջում։
  • Նոր զարգացողի Onbording No. 1 աշխատանքային օր մինչև առաջին PR։

Համառոտ եզրակացություն

Զարգացողի ուժեղ ներքին պլատֆորմը վերածում է բազմաբնույթ հոսքի մեկ «փոխակրիչ» մատակարարման '«ստեղծել ծառայություն» մինչև «հոսանք անվտանգ անջատմամբ»։ Ստանդարտացված ձևանմուշները, DevPortal-ը, պայմանագիր-փորձարկումը, ավելի բարձր միջավայրը, լռելյայն դիտարկումը և անվտանգությունը տալիս են արագ, կանխատեսելի օրինագծեր առանց որակի և կոմպլասենսայի փոխզիջումների։

Contact

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

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

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

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

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

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