Dahili geliştirici araçları
1) Geliştirici Platformu Rolü ve Sorumluluğu (IDP)
Dahili geliştirici platformu, tipik mühendislik görevlerini tek tip araçlarla kapsayan bir "self servis" katmanıdır:- Hızlı başlangıç (servis şablonları, API iskeleti, boru hatları);
- Öngörülebilir montaj/test/dağıtım;
- Sırların, bağımlılıkların ve eserlerin güvenli yönetimi
- Varsayılan gözlemlenebilirlik (günlükler/metrikler/yollar)
- Test verilerine, sağlayıcıların mocs ve sandbox'larına erişim;
- Tipik senaryolar için dokümantasyon ve "altın yollar".
Amaç, bilişsel yükü, Time-to-First-PR ve Lead Time for Changes'ı azaltmak, sürüm güvenilirliğini ve uyumluluğunu geliştirmektir.
2) DX tasarım ilkeleri (Geliştirici eXperience)
Yapılandırma sözleşmesi: standartlar manuel ayarlardan daha önemlidir.
Altın Yollar: Vakaların %80'ini kapsayan minimum "varsayılan" çözüm kümesi.
Kod olarak her şey: boru hatları, altyapı, gösterge panoları, politikacılar - Git.
Varsayılan olarak güvenli: SAST/DAST, SBOM, eser imzası, bağımlılık politikası.
Önce gözlemlenebilirlik: Hizmetler ve araçlar otomatik olarak telemetri yayar.
Ortamların taşınabilirliği: yerel = CI = sahne = prod (mümkün olduğunca).
Dakikalar içinde geri bildirim: hızlı testler, bağlantılar, önizleme ortamları, PR durumları.
3) Platform mimarisi ve temel bileşenler
DevPortal: hizmetler dizini, şablonlar, dokümantasyon, platform durumu,'tek tıkla "boru hatlarının ve ortamların başlatılması.
CLI/skeletizer: Tek bir yığın ile hizmet/işlev/iş üretimi (günlük kaydı, sağlık, OpenAPI/Proto, gözlemlenebilirlik).
Sistem ve monorepo araçları oluşturun: önbellekleme, artımlı montaj, deterministik eserler.
CI/CD blooprints: Hizmetler için standart boru hatları (birim, sözleşmeler, entegrasyon, e2e, güvenlik analizi, dağıtım).
Test konturları: Sağlayıcıların testcontainers/yerel kum havuzları, genel veri fabrikası ve armatürleri.
Kutudan gözlemlenebilirlik: Bir modül üzerinden OTel/Prometheus/logger bağlantısı.
Gizli yönetim: KMS/HSM ile entegrasyon, rotasyonlar, erişim politikası.
Ficheflags/deneyler: Aşamalı haddeleme için SDK ve konsol.
4) DevPortal: merkezi giriş noktası
İşlevsellik:- Hizmetler/kütüphaneler/şemalar dizini (sahip, SLA, sürümler, güvenlik açıkları);
- Şablon ile "Hizmet oluştur" düğmesi (hemen boru hattı ve uyarılarla);
- Dokümantasyon (codestyle standartları, sürüm kılavuzları, olay oyun kitapları);
- Platform hizmetlerinin durumu, kapasite, değişiklikler (changelog);
- Runbooks ve Altın Yollar:'bir uç nokta nasıl eklenir ",'bir geçiş nasıl başlatılır",'bir sağlayıcı nasıl bağlanır ".
5) CLI ve şablonlar (iskeletleştirici)
Şablonlar şunları içerir:- REST/gRPC/GraphQL servis çerçevesi, sağlık kontrolleri ,/metrikler ,/hazır;
- hazır orta yazılımlar: istek korelasyonu, kimlik doğrulama, hız sınırları;
- OpenAPI/Protobuf autogen + CI için kontrol devreleri;
- Modüler logger, izleme, metrikler;
- Yerel kalkınma için dockerfile + compose;
- Temel test seti ve linters/formatör/prechukov konfigürasyonu.
- 'devx new service --name payments-api --stack go-grpc --db postgres --events kafka --template v2'
6) Yerel kalkınma ve uzak ortamlar
Dev Containers/Codespaces-analogue: Herkes için aynı ortamlar, hızlı giriş.
Docker Compose + Testcontainers: DB/önbellekler/otobüsler tek bir komutla yerel olarak kaldırılır.
Tilt/Skaffold, Kubernetes kümesi "dev'e canlı bir yeniden başlatma için.
Remote Dev: Kaynak yoğun yapılar/testler özel havuzlarda çalışır.
İyi uygulamalar
Araç sürümleri için tek '.tool-versions'/lockfiles;
Make/just- скрипты: 'make test', 'make run-local', 'make seed';
'dotenv've dev rolleri ile gizli bir sağlayıcı aracılığıyla yerel sırlar.
7) Şemaları ve sözleşmeleri yönetmek
Uyumluluk ilkesine sahip Şema Kayıt Defteri (JSON/Avro/Proto);
CI'da zorunlu bir iş olarak sözleşme testi (Pact/Buf);
API sürüm oluşturma (SemVer), çift sürüm desteği, otomatik SDK oluşturma;
Veritabanı geçişi (migrate/flyway/liquibase) - boru hattının standartlaştırılmış adımı.
8) Piramit ve verilerin test edilmesi
Ünite testleri: hızlı, paralel, kritik mantığı kapsayacak şekilde bağlayıcı.
Sözleşme testleri: tüketici ↔ API/etkinlik sağlayıcısı.
Entegrasyon: konteynerlerde gerçek bağımlılıklarla.
E2E: minimal ama temsili taslak kümesi.
Test verileri: fabrikalar/düzeltmeler, PII içermeyen sentetikler, ortamlar için siderler; DB anlık görüntüleri - sadece kişisel olmayan.
9) CI/CD: Standartlaştırılmış Boru Hatları
Kilometre taşları (varsayılan):1. Lint/Format/Lisans/SBOM üretimi.
2. SAST (statik analiz) + bağımlılık politikası engelleme "kriterleri".
3. Birim - Sözleşmeler - Entegrasyon - Eserler ve raporlarla E2E.
4. Deterministik görüntü, imza (sigstore/cosign) oluşturun, kayıt defterine itin.
5. Dağıtım:- PR başına feature-env/preview URL;
- sahnede kanarya/mavi-yeşil;
- ficheflag/trafik yoluyla aşamalı üretim sürümü;
6. Dağıtım sonrası denetimler: uyarılar, hata bütçesi, bozulma sırasında otomatik sarma.
10) Gözlemlenebilirlik ve yerel debag
Modül "telemetri-marş": OTel SDK, ihracatçılar, korelasyon 'trace _ id' içerir;
Panolar Kod olarak: Panolar ve uyarılar Git'te açıklanmıştır;
İz güdümlü dev: yerel olarak ve önizleme standlarında profil oluşturma istekleri;
Yapılandırılmış günlükler (JSON), PII'ye karşı koruma, hassas alanları maskeleme.
11) Kod kalitesi ve incelemesi
Tek satır/biçimlendiriciler ve hazır ayarlar (dile özgü);
Ön işlem kancaları (lints/küçük hacim testleri);
Kod Sahipleri ve önemli eserler için zorunlu incelemeler (şemalar, geçişler, politikalar);
PR kontrol listeleri:'ne değişti? "," güvenlik? "," geriye dönük uyumluluk? "," geçişler? ».
12) Güvenli geliştirme (SSDL) ve tedarik zinciri
SCA (bağımlılık analizi) ve allowlist kaynaklar;
Eser türüne göre SAST/DAST/IAST;
Her yapı için SBOM, eser depolarında depolama;
Görüntü imzası, tasdik (SLSA seviyeleri)
gizli politika: Git'te sır yok, rotasyon, geçici krediler;
Altyapı PR'leri için Kod Olarak Politika (OPA/Conftest).
13) Ficheflags, deneyler ve önizleme ortamları
Şablonlarda phicheflags SDK, sınırlandırma: ops-flags vs ürün;
Progresif haddeleme (%1 - %25 - %100), hızlı evrişim;
Her PR için önizleme ortamı (benzersiz URL, izleme, test verileri), birleştirme/kapatma işleminden sonra otomatik kaldırma.
14) Botlar ve otomasyon
/ deploy ,/rollback ,/logs ,/runbook için chatbotlar;
Bir hata izleyicisinde otomatik etiketler ve otomatik yönlendirme;
Bilet şablonları (olay, değişiklik, RFC)
butching ve yeşil dallarla bağımlılıkların otomatik olarak güncellenmesi.
15) Dokümantasyon ve eğitim
Gerçeğin kaynağı olarak "canlı" lekeler (OpenAPI/Proto);
Ortak şablonlar aracılığıyla teknik notlar/RFC, Git'ten otomatik yayınlama;
Video demosu "10 dakikada bir projeyi nasıl başlatıyorum";
Adım adım komut dosyalarına sahip DevPortal sanal alanı.
16) Performans Ölçümleri (DORA/SPACE)
DORA: Kurşun Zamanı, Dağıtım Frekansı, MTTR, Arıza Oranını Değiştir;
UZAY: memnuniyet, performans, aktivite, iletişim;
Çeyrek için hedefler: %30 oranında Süresi, bültenleri N saat başına giriş.
17) Erişim kontrolü ve çoklu kiracılık
Mühendislik profilleri için roller (dev, yorumcu, releng, platform)
çevre politikaları: kim dev/sahne/prod tüketebilir;
Önizleme/özellik dalları için ayrı ayrı kotalar/limitler ve ad alanı yalıtımı.
18) Veri ve Analiz Araçları
Yerel olay okuma profilleri (Kafka/NATS) ve tekrar oynatma
Sentetik jeneratörler ve dökümü anonimleştiriciler;
Hizmet kalitesi metriklerini ve sürümlerini analiz etmek için dizüstü bilgisayarlar/ad-hoc komut dosyaları.
19) Uygulama Yol Haritası
M0-M1 (MVP): DevPortal, servis şablonları, temel CI (lint + unit + build), dev-containers üzerinden yerel montaj, logging/metrics.
M2-M3: sözleşme testleri, önizleme ortamları, test konteynerleri ile entegrasyon testleri, SAST/SCA, SBOM.
M4-M6: phicheflags, progressive rollouts, Kod olarak Dashboard'lar, kod olarak policy-as-code, remote dev pools, SDK autogen.
M6 +: yayın orkestrasyonu, tek tuşla deneyim, dahili bileşen/kütüphane vitrini, DevPortal'da DORA/SPACE metrikleri.
20) Platform olgunluk kontrol listesi (alıntı)
- Tek tıklamalı bir hizmet oluşturmak, metrikler/günlükler/izler içeren bir çalışma çerçevesi sağlar.
- Önizleme ortamı her PR için otomatik olarak yükselir.
- Test sözleşmesi zorunludur ve uyumsuz değişiklikleri engeller.
- SBOM her yapı için yayınlanır, resimler imzalanır.
- Gözlemlenebilirlik/uyarılar ve panolar - kodla ve depoda.
- Ficheflags konsoldan temin edilebilir, sunumlar ilericidir.
- Runbook'lar/playbook'lar uyarılarla ilişkilidir ve DevPortal'da görülebilir.
- DORA/SPACE metrikleri DevPortal ana sayfasında görüntülenir.
- İlk PR'dan 1 iş günü önce yeni bir geliştiriciye ≤.
Özet
Güçlü bir dahili geliştirici platformu, heterojen bir yığını tek bir "boru hattı" teslimatına dönüştürür:'bir hizmet yarat'tan "güvenli haddeleme ile prod'a. "Standartlaştırılmış şablonlar, DevPortal, sözleşme testleri, önizleme ortamları, kalite ve uyumluluktan ödün vermeden hızlı, öngörülebilir sürümler için gözlemlenebilirlik ve güvenlik varsayılandır.