Sorunlu alanı tanımlama
İç geliştirici platformunuzu tanımlamaya doğru ilerlerken önce en ince uygulanabilir platformunuzu (TVP) tanımlamanız gerekir. TVP, klasik ürün yönetiminde minimum uygulanabilir ürün (MVP) fikrinin bir çeşitlemesidir.
Bu diyagram, geliştirici platformunuzun zaman içinde nasıl gelişebileceği konusunda düşünmenize yardımcı olabilir. Kuruluşunuzun en önemli sorununun, mevcut yatırımlarınız veya kurumsal gereksinimleriniz nedeniyle burada açıklananlardan sapmanıza neden olabileceğini unutmayın. Kuruluşunuzun ihtiyacı olmadığı sürece bir sonraki aşamaya geçmeniz gerekmez.
Sıfırdan başlıyorsanız bu, ortak bir ilerlemeyi temsil eder. İlk aşamalarda, gerekli özellikleri bulmaya, küçültme sarmalanmış ürünlerin boşluk analizine ve en az sayıda araç veya platform özelliği oluşturmaya odaklanın. Daha sonra, ölçeklendikçe büyük olasılıkla yeniden kullanılabilirliğe odaklanmaya ve yeniden kullanılabilir varlıklarla önceden tanımlanmış kaldırımlı yollara yönlendirmeye başlayacaksınız. Son olarak, uygulama oluşturmayı ve korumayı kolaylaştırmak için tüketici benzeri bir "dijital mağaza" modeline geçersiniz. Ürün zihniyetini sonuna kadar atlamanızı önermediğimizden ve yolculuğunuz farklılık gösterdiğinden, her zaman bir ürün zihniyetine uymanız gerekir. Bu son aşamaların çoğu, geleneksel anlamda küçültme sarmalanmış "ürün"e benzer, ancak bu bir başlangıç noktası değil, bir hedeftir.
Platform mühendisliği konu alanları
Bu konunun boyutu göz önünde bulundurulduğunda, platform mühendisliği hakkında içsel olarak konuşma şeklinizi dört konu alanına ayırmanızı öneririz:
Mühendislik sistemleri: GitHub ve Azure DevOps gibi DevOps paketlerinin ve diğer geliştirici araç ve hizmetlerinin seçilmiş bir karışımı. CI/CD veya paket yönetimi gibi kritik DevOps araçlarının ve hizmetlerinin ötesinde, bu alan bulut tabanlı kodlama ortamları, kod tarayıcıları ve litreler ve GitHub Copilot gibi yapay zeka yardımcıları gibi doğrudan kodlama işlemi sırasında kullanılan özellikleri de içerir.
Uygulama platformu: Bir kuruluşun iş değeri sunmak için kullanmak istediği her "uygulama yığınını" (uygulama sınıfı, uygulama modeli, diller) hedefleyen seçilmiş hizmet (IaaS, PaaS ve gözlemlenebilirlik gibi) seçimi. Bu, uygulama yığınına özgü hizmetlerin bir karışımını ve genel olarak kullanılan hizmetleri içerir. Uygulama platformuna örnek olarak Azure Container Apps, depolama için Cosmos DB, gizli diziler için Azure Key Vault, kimlik ve rol tabanlı erişim denetimi, uyumluluk ve denetim için Azure İlkesi, Grafana aracılığıyla gözlemlenebilirlik ve ilgili ağ topolojisi verilebilir.
Uygulama şablonları: Belirli bir uygulama platformu, dili ve mühendislik sistemi kümesi için doğru başlangıç ve doğru rehberliği sağlayan, iyi tanımlanmış, kuruluş tarafından oluşturulmuş, hızlı başlangıç şablonları kümesi. Diğer merkezi şablonlara başvurabilir ve başlangıç kodu, API ve SDK başvuruları, CI/CD işlem hatları, araç yapılandırması ve daha fazlasını sağlayabilirler.
Geliştirici self servis özellikleri: Bu, platform mühendisliği çalışmanızın tutkalıdır. Api'ler, düzenleyiciler, katalog, şablonlar ve kullanıcı deneyimlerinin bir birleşimidir. Geliştiricinin sıkıntısını azaltmak ve geliştirme ekiplerinin kendi kendine hizmet vermesine ve daha otonom olmasına olanak tanırken, önceki üç alandan seçim ve rehberlik/idareye bağlı kalır.
Mühendislik sistemlerinin, uygulama platformlarının, uygulama şablonlarının ve geliştirici self servis özelliklerinin tümleştirilmesi, platform mühendisliği stratejisinin temel taşını oluşturur. Kuruluşlar DevOps araçlarını, bulut hizmetlerini ve self servis özelliklerini birleştirerek geliştiricinin iş yüklerini önemli ölçüde azaltabilir, üretkenliği artırabilir ve idare standartlarına uyumluluğu sağlayabilir.