Share via


Sorun alanını tanımlama

İç geliştirici platformunuzu tanımlamaya başlarken, önce en ince uygulanabilir platformu (TVP) tanımlamak kritik önem taşır. Bu, klasik ürün yönetiminde en düşük uygulanabilir ürün (MVP) fikrinin bir varyasyonudur.

Planlama ve öncelik belirleme bölümünde TVP'nizi tanımlama (veya geliştirme) hakkında daha fazla bilgi edinebilirsiniz. Ancak bu diyagram, oraya varmadan önce düşünmenizi zaman içinde nasıl gelişebileceğinize yönlendirmenize yardımcı olabilir. Kuruluşunuzun en önemli sorununun, mevcut yatırımlarınız veya kuruluş gereksinimleriniz nedeniyle burada açıklanandan sapmanıza neden olabileceğini unutmayın. Kritik olarak, kuruluşunuzun ihtiyacı olmadığı sürece bir sonraki aşamaya geçmeniz gerekmez.

Platform mühendisliğinin zaman içinde nasıl gelişebileceğini gösteren diyagram.

Sıfırdan başlıyorsanız, bu yaygın bir ilerlemeyi temsil eder. İlk aşamalarda, gerekli özelliklerin bulunmasına, küçültülmüş ürünlerin boşluk analizine ve minimum sayıda araç veya platform özelliği oluşturmaya odaklanın. Daha sonra, ölçeklendirdikçe, büyük olasılıkla yeniden kullanılabilirliğe odaklanmaya ve yeniden kullanılabilir varlıklara sahip önceden tanımlanmış kaldırımlı yollara yönlendiren kişilere rehberlik etmeye başlayacaksınız. Son olarak, uygulama oluşturmayı ve bakımını kolaylaştırmayı kolaylaştırmak için tüketici benzeri bir "dijital mağaza" modeline geçersiniz. Ürün zihniyetini baştan sona izlemeniz gerekir, bu nedenle sona atlamanızı önermeyiz ve özel yolculuğunuz farklılık gösterir. Bu son aşamalar en çok geleneksel anlamda küçültme sarmalanmış "ürün"e benzer, ancak bu bir başlangıç noktası değil, bir hedeftir.

Bu konunun boyutu göz önünde bulundurulduğunda, platform mühendisliği hakkında konuşma şeklinizi dört konu alanına ayırmanızı öneririz. Düşüncelerinizi bu şekilde kategorilere ayırmak, zaman içinde yatırımlarınız için bir plan oluşturma ve iletmeyi kolaylaştırabilir. Bu alanlar şunlardır:

  • Mühendislik sistemleri: GitHub ve Azure DevOps gibi DevOps paketlerinin ve diğer geliştirici araçları 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. Bu 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 vermelerini ve daha otonom olmasını sağlarken, önceki üç alandan gelen seçimlere ve kılavuzlara/idareye bağlı kalır.

Platform mühendisliğinin temel alanlarının grafiği.