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.
- `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.