GH GambleHub

Işläp düzüjileriň içerki gurallary

1) Işläp düzüjiniň platformasynyň (IDP) roly we jogapkärçiligi

Işläp düzüjiniň içerki platformasy, adaty in engineeringenerçilik meselelerini birmeňzeş gurallar bilen ýapýan "öz-özüne hyzmat ediş" gatlagydyr:
  • çalt başlamak (hyzmatlaryň şablonlary, API skeleti, paýlaýjylar);
  • öňünden aýdyp boljak ýygnamak/synag/depla;
  • syrlary, garaşlylygy we artefaktlary howpsuz dolandyrmak;
  • adaty synlamak (logi/metrika/söwda);
  • synag maglumatlaryna, üpjün edijileriň mok we sandyk gutularyna girmek;
  • nusgawy ssenariýalar üçin resminamalar we "altyn ýollar".

Maksat - akyl ýüküni azaltmak, Wagt-to-First-PR we Lead Time for Changes, relizleriň ygtybarlylygyny we laýyklygyny ýokarlandyrmak.

2) DX dizaýnynyň ýörelgeleri (Developer eXperience)

Convention over configuration: standartlar el sazlamalaryndan has möhümdir.
Golden Paths: ýagdaýlaryň 80% -ini öz içine alýan iň az "standart" çözgütler toplumy.
Everything as Code: payplaynlar, infrastruktura, dashbordlar, syýasatçylar - Git.
Secure-by-default: SAST/DAST, SBOM, artefaktlaryň goly, garaşlylyk syýasaty.
Observability-first: Hyzmatlar we gurallar awtomatiki usulda telemetriýa ýaýradýarlar.
Gurşawyň portabelligi: ýerli = CI = stage = prod (mümkin boldugyça).
Minutlarda seslenme: çalt synaglar, lintlar, deslapky gurşaw, PR statuslary.

3) Platformanyň arhitekturasy we esasy komponentleri

DevPortal: hyzmatlar katalogy, şablonlar, resminamalar, platforma ýagdaýy, "one-click" paýlaýjylary we gurşawlary işe girizmek.
CLI/skeletizator: servisleri/funksiýalary/job bir aýna bilen döretmek (logistika, saglyk, OpenAPI/Proto, observability).
Bild-ulgam we monorepo gurallary: kesmek, inkremental ýygnamak, determinirlenen artefaktlar.
CI/CD-bluprints: hyzmatlar üçin standart paýlaýnlar (birlik, şertnamalar, integrasiýa, e2e, howpsuzlyk derňewi, deploý).
Synag konturlary: synag kontainerleri/üpjün edijileriň ýerli gum gutulary, umumy maglumatlar fabrigi we fikstura.
"Gutudan" syn edilmegi: bir modul arkaly OTel/Prometheus/loggeri birikdirmek.
Gizlin dolandyryş: KMS/HSM, rotasiýa, giriş syýasaty bilen integrasiýa.
Ficheflages/synaglary: SDK we progressiw tekizlemeler üçin konsol.

4) DevPortal: Girmegiň merkezi nokady

Funksionallygy:
  • hyzmatlar/kitaphanalar/shemalar katalogy (owner, SLA, wersiýalar, gowşaklyklar);
  • şablon boýunça "Hyzmaty döretmek" düwmesi (derrew paýpline we alertler bilen);
  • resminamalar (kod-staýl standartlary, relizleriň gaýdlary, hadysalaryň pleýbuklary);
  • platforma hyzmatlarynyň ýagdaýy, capacity, üýtgeşmeler (changelog);
  • Runbooks we Golden Paths: "nädip goşmaly", "nädip göçmeli", "üpjün edijini nädip birikdirmeli".

5) CLI we şablonlar (skeletizator)

Şablonlar:
  • / metrics ,/ready bilen REST/gRPC/GraphQL-hyzmat çarçuwasy;
  • taýýar middlewares: soraglary baglanyşdyrmak, tassyklamak, rate limits;
  • OpenAPI/Protobuf awtogen + CI üçin shemalary barlamak;
  • modully logger, treýsing, metrika;
  • dockerfile + compose lokal ösüş üçin;
  • synaglaryň esasy toplumy we linter/formatters/prehuk konfigurasiýasy.
Mysal:
  • `devx new service --name payments-api --stack go-grpc --db postgres --events kafka --template v2`

6) Lokal ösüş we uzakdaky gurşaw

Dev Containers/Codespaces-meňzeşligi: hemmeler üçin birmeňzeş gurşaw, çalt konbording.
Docker Compose + Testcontainers: BD/keş/tekerler bir topar tarapyndan ýerli ýagdaýda ýokarlanýar.
Tilt/Skaffold "dev" Kubernetes-klasterine janly täzeden başlamak üçin.
Remote Dev: resurs talap edýän ýygnaklar/synaglar bölünip berlen howuzlarda geçirilýär.

Peýdaly amallar

gurallaryň wersiýalary üçin ýeke-täk '.tool-versions '/lockfiles;

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

"dotenv" arkaly ýerli syrlar we dev rollary bilen syrlary üpjün ediji.

7) Shemalary we şertnamalary dolandyrmak

Laýyklyk syýasaty bilen Schema Registry (JSON/Euro/Proto);

CI-de hökmany job hökmünde Contract testing (Pact/Buf);

API (SemVer) wersiýalaşdyrmak, iki wersiýaly goldaw, awtomatiki SDK öndürmek;

göçmek DB (migrate/flyway/liquibase) - paýlaýnyň standartlaşdyrylan ädimi.

8) Synag piramidasy we maglumatlary

Birlik synaglary: çalt, paralel, möhüm logikany ýapmaga borçly.
Şertnama-synaglar: API/wakalary üpjün ediji.
Integrasiýa: konteýnerlerde hakyky garaşlylyk bilen.
E2E: iň az, ýöne wekilçilikli "garalar" toplumy.
Synag maglumatlary: zawodlar/fiksturlar, PII-siz sintetika, daşky gurşaw üçin siderler; DB snapshotlar - diňe şahsylaşdyrylmadyk.

9) CI/CD: standartlaşdyrylan paýlaýynlar

Tapgyrlar (adaty):

1. Lint/Format/License/SBOM nesil.

2. SAST (statiki derňew) + "kritleri" bloklaýan garaşlylyk syýasaty.

3. Unit → Contracts → Integration → Artefaktlar we hasabatlar bilen E2E.

4. Kesgitlenen şekiliň gurluşy, gol (sigstore/cosign), registride push.

5. Deploy:
  • her PR üçin feature-env/preview URL;
  • canary/blue-green stage;
  • fiçeflag/traffik arkaly progressiw prod-goýberiş;
  • 6. Post-deploy checks: alertler, error budget, zaýalananda awto öwrüm.

10) Syn ediliş we ýerli dawa

"telemetry-starter" moduly: OTel SDK, eksportçylary, 'trace _ id' korelýasiýasyny öz içine alýar;

Dashboards as Code: daşbordlar we alertler Git-de beýan edilýär;

Trace-driven dev: soraglary ýerli we deslapky stendlerde profillemek;

Gurluşly loglar (JSON), PII-den goramak, duýgur meýdanlary gizlemek.

11) Koduň hili we gykylyk

ýeke linterler/formaterler we presetler (dil-aýratyn);

pre-commit huki (lintlar/kiçi göwrümli synaglar);

Code Owners we esasy artefaktlar üçin hökmany rewyu (shemalar, migrasiýa, syýasat);

PR-çek sahypalary: "Näme üýtgedi? ", "howpsuzlyk? ", "ters gabat gelmek? ", "göçmek? ».

12) Howpsuz ösüş (SSDL) we üpjünçilik zynjyry

SCA (endikleriň derňewi) we allowlist çeşmeleri;

Artefaktyň görnüşi boýunça SAST/DAST/IAST;

her bir bild üçin SBOM, artefakt-repozitoriýada saklamak;

şekilleriň, şahadatnamalaryň goly (SLSA-derejeleri);

gizlinlik syýasaty: Git-de hiç hili syr ýok, aýlaw, wagtlaýyn bellikler;

Infrastruktura PR üçin Policy-as-Code (OPA/Conftest).

13) Fiçeflaglar, synaglar we deslapky gurşaw

SDK şablonlarda fiziki baýdaklar, bölünişik: ops-baýdaklar vs önüm;

progressiw aýlawlar (1% → 25% → 100%), çalt aýlamak;

her PR (özboluşly URL, treýsing, synag maglumatlary) üçin öňünden gurşaw, merge/close-den soň awtomatiki aýyrmak.

14) Botlar we awtomatlaşdyryş

/ deploy ,/rollback ,/logs ,/runbook üçin söhbetdeşlik botlary;

awto-bellikler we bug-trekerdäki awtotriaj;

bilet şablonlary (waka, üýtgetmek, RFC);

baglamak we "ýaşyl" şahalar bilen garaşlylygy awtomatiki täzelemek.

15) Resminamalar we okuw

Hakykat çeşmesi hökmünde "janly" spinler (OpenAPI/Proto);

tech notes/RFC umumy şablonlar arkaly, Git-den awto çap etmek;

wideo-demo "taslamany 10 minutda nädip başlaýaryn";

ädimme-ädim ssenariler bilen DevPortal.

16) Netijelilik metrikleri (DORA/SPACE)

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

SPACE: kanagatlanma, öndürijilik, işjeňlik, aragatnaşyk;

çärýek üçin maksatlar: ↓ Lead Time 30%, ↑ goýberilişleriň ýygylygy, ↓ onbording wagty N sagada çenli.

17) Elýeterliligi dolandyrmak we köp tenantlyk

in engineeringenerçilik profilleri üçin rollar (dev, reviewer, releng, platform);

orta syýasatçylar: dev/stage/prod-a kim deplot edip biler;

aýry-aýry kwotalar/çäkler we prevew/fich-şahalar üçin namespace izolýasiýasy.

18) Maglumatlar we seljerme gurallary

wakalary okamak üçin ýerli profiller (Kafka/NATS) we repleýler;

sintetika generatorlary we damp anonimatorlary;

noutbuklar/" ad-hoc "hyzmat hiliniň metrikasyny seljermek we goýbermek.

19) Durmuşa geçirmegiň ýol kartasy

M0-M1 (MVP): DevPortal, hyzmat şablonlary, esasy CI (lint + unit + build), dev-kontainers arkaly lokal gurnama, logirleme/metrika.
M2-M3: şertnama-synaglar, deslapky-gurşaw, synag konteynerleri bilen integrasiýa synaglary, SAST/SCA, SBOM.
M4-M6: fiçeflaglar, progressiw aýlawlar, Dashboards as Code, policy-as-code, uzakdaky dev-pullar, awtogen SDK.
M6 +: goýberiş-orkestri, "bir düwme" tejribesi, komponentleriň/kitaphanalaryň içki penjiresi, DevPortal-daky DORA/SPACE metrikleri.

20) Platformanyň kämillik ýaşyna ýetmeginiň çek-sanawy (выдержка)

  • "Bir gezek basmak" hyzmatynyň döredilmegi metrikler/loglar/treýsler bilen iş çarçuwasyny berýär.
  • Prevyu-gurşaw awtomatiki usulda her PR üçin ýokarlanýar.
  • Şertnama-synaglar hökmanydyr we gabat gelmeýän üýtgetmeleri bloklaýar.
  • SBOM her bild üçin çap edilýär, şekillere gol çekilýär.
  • Gözegçilik/alertler we daşbordlar - kod we howuzda.
  • Ficheflaglar konsoldan elýeterlidir, aýlawlar - progressiw.
  • Runbooks/playboklar alertler bilen baglanyşykly we DevPortalda görünýär.
  • DORA/SPACE metrikleri DevPortal-yň baş sahypasynda görkezilýär.
  • Täze işläp düzüjini ≤ ilkinji PR-den 1 iş güni öň.

Gysgaça netije

Işläp düzüjiniň güýçli içerki platformasy dürli görnüşli steki ýeke-täk üpjünçilik "konweýerine" öwürýär: "hyzmaty döretmekden" "howpsuz süýşmek bilen". Standartlaşdyrylan şablonlar, DevPortal, şertnama-synag, deslapky-gurşaw, gözegçilik we howpsuzlyk, adatça, hil we ylalaşyk boýunça eglişiksiz çalt, öňünden aýdyp boljak neşirleri berýär.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.