Platform mühendisliği: geliştiriciler için ürün gibi işletilen ortak platform
Platform mühendisliği, geliştiricilere ortak altyapıyı self servis bir ürün olarak sunma disiplinidir. İç geliştirici platformu ve altın yollar burada.
Platform mühendisliği nedir?
Platform mühendisliği, yazılım geliştirme ekiplerinin ortak ihtiyaçlarını (ortam kurma, dağıtım, gözlemlenebilirlik, güvenlik kontrolleri) tek tek her ekibin çözmesine bırakmak yerine, merkezi bir ekibin hazırladığı ve ürün gibi işlettiği bir platform üzerinden sunma disiplinidir. Amaç, geliştiricilerin altyapı ayrıntılarında boğulmadan iş değeri üreten koda odaklanmasıdır.
Bu platforma iç geliştirici platformu (Internal Developer Platform, IDP) denir. Geliştirici, bir servis açmak ya da bir ortam almak istediğinde bilet açıp beklemez; platformun sunduğu arayüz, komut ya da şablonla kendi kendine yapar.
İç geliştirici platformunun parçaları
Bir IDP genellikle şu yeteneklerden oluşur:
- Self servis kaynak sağlama: Veritabanı, kuyruk, ortam gibi kaynakların hazır tariflerle istenmesi.
- Altın yollar (golden paths): Yeni servis oluşturma, derleme, test, dağıtım gibi işlerin önerilen, güvenlik ve uyum kontrolleri gömülü hazır akışları.
- Geliştirici portalı: Servis kataloğu, belge, sahiplik ve durum bilgisinin tek yerde toplandığı arayüz.
- Gözlemlenebilirlik ve güvenlik: Günlük, metrik ve zafiyet kontrollerinin yola gömülü gelmesi.
- Ölçüm: Platformun gerçekten kullanılıp kullanılmadığını gösteren geri bildirim ve benimseme verisi.
Neden ortaya çıktı?
Bulut ve konteyner dünyasında araç sayısı arttıkça, 'kendi altyapını kendin işlet' yaklaşımı geliştiriciye ağır bir bilişsel yük bindirdi. Her ekip kendi dağıtım betiğini, izleme düzenini ve güvenlik ayarını yeniden icat etmeye başladı. Sonuç tutarsızlık, tekrar eden emek ve denetim zorluğuydu.
Platform mühendisliği bu yükü ortak bir yerde toplar: iyi uygulamalar bir kez paketlenir, herkes aynı yolu kullanır, istisnalar bilinçli olarak yapılır.
DevOps ve SRE ile farkı
DevOps bir kültür ve çalışma biçimidir: geliştirme ve işletme arasındaki duvarı kaldırmayı hedefler. SRE ise güvenilirliği mühendislik problemi olarak ele alır; hizmet seviyesi hedefleri ve hata bütçeleriyle çalışır. Platform mühendisliği bu fikirleri tekrarlanabilir bir ürüne dönüştürür: geliştiricilerin kullanacağı yolları ve araçları sağlar.
Kısacası DevOps 'birlikte çalışalım' der, platform mühendisliği 'ortak çalışmayı kolaylaştıran araç setini sunalım' der. Platform ekibi, geliştiricileri kendi müşterisi sayar.
Örnek senaryo
Örneğin bir şirkette yeni bir servis açmak için her ekip depo, derleme hattı, ortam, izleme paneli ve erişim izinlerini elle kuruyor. Platform ekibi bir servis şablonu hazırlar: geliştirici portaldan şablonu seçer, adı ve sahibini yazar; depo, hat, ortam ve temel izleme otomatik oluşur. Güvenlik taraması ve yetki kuralları şablonun içindedir. Yeni servis aynı gün çalışmaya başlar ve denetim ekibi her servisin aynı standartta olduğunu görür.
Sık yapılan hatalar
En yaygın hata platformu 'bir kez kuruldu, bitti' projesi saymaktır. Platform bir üründür; kullanıcı araştırması, yol haritası ve destek gerektirir. Geliştirici ihtiyacını sormadan yapılan platformlar kullanılmaz.
Bir diğer hata zorunlu kılmaktır: altın yol, kolay ve değerli olduğu için seçilmelidir, dayatıldığı için değil. Ayrıca benimseme ve geliştirici memnuniyeti ölçülmezse platformun işe yarayıp yaramadığı bilinemez. Son olarak, her aracı portala doldurmak yerine en çok zaman kaybettiren birkaç akıştan başlamak daha sağlıklıdır.
Mindset programlarında nerede işlenir?
Mindset'in Platform Mühendisliği ve İç Geliştirici Platformu Stratejisi eğitimi; platformun kapsamı, geliştirici ihtiyaçlarının tespiti, altın yollar ve self servis akışlar, platform ekibinin işletim modeli, yönetişim ve güvenlik ile benimseme ölçümü başlıklarını işler. Platform Mühendisliği ve Internal Developer Platform Tasarımı eğitimi ise IDP referans mimarisi, self servis kaynak sağlama, geliştirici portalı ve ölçüm konularına daha teknik girer.
İlgili Mindset programı
Platform Mühendisliği ve İç Geliştirici Platformu Stratejisi
Sık sorulan sorular
Platform mühendisi ile DevOps mühendisi aynı kişi midir?
Roller örtüşür ama aynı değildir. DevOps mühendisi çoğu zaman bir ürün ekibinin dağıtım ve işletim ihtiyaçlarını çözer. Platform mühendisi ise birçok ekibin ortak kullandığı platformu bir ürün gibi tasarlar, geliştirir ve geliştiricilerden gelen geri bildirimle iyileştirir.
Altın yol (golden path) ne demek?
Altın yol, belirli bir işi yapmanın platform ekibince desteklenen, güvenli ve hazır önerilen yoludur; örneğin yeni bir servisi açmaktan canlıya almaya kadar olan akış. Zorunlu değildir, ama en az sürtünmeli yol olduğu için tercih edilir. Farklı ihtiyaç varsa ekip yoldan sapabilir.
Küçük şirketlerin platform ekibine ihtiyacı var mı?
Genellikle hayır. Birkaç geliştiricinin olduğu yerde ortak araçlar ve iyi belge çoğu zaman yeterlidir. Platform ekibi, çok sayıda ekibin aynı sorunları tekrar tekrar çözdüğü ve tutarlılığın maliyetinin görünür olduğu ölçekte anlam kazanır.
Platformun başarısı nasıl ölçülür?
Kullanım ve geliştirici deneyimi üzerinden: platform yolunu seçen ekip oranı, yeni servisin canlıya çıkma süresindeki değişim, geliştirici memnuniyeti ve destek talebi eğilimi gibi göstergeler izlenir. Rakamlar kurumun kendi başlangıç ölçümüne göre yorumlanmalıdır.