Topologi tim DevOps

Distribusi peran, tanggung jawab, dan kepercayaan antara tim TI dan tim aplikasi sangat penting untuk transformasi operasional yang terlibat dalam adopsi cloud dalam skala besar.

Tim TI berusaha untuk mempertahankan kontrol. Pemilik aplikasi berusaha memaksimalkan kelincahan. Keseimbangan yang pada akhirnya Anda tetapkan di antara kedua tujuan ini sangat memengaruhi keberhasilan model operasi cloud Anda.

Menurut hukum Conway, tim menghasilkan Arsitektur berdasarkan struktur komunikasi mereka. Memahami prinsip ini sangat penting saat Anda bekerja untuk mencapai keseimbangan yang diperlukan antara otonomi dan kontrol. Setiap organisasi yang merancang sistem (didefinisikan secara luas) akan menghasilkan struktur desain yang merupakan salinan struktur komunikasi organisasi tersebut.

Diagram yang mengilustrasikan Hukum Conway.

Dari perspektif DevOps, organisasi harus mengoptimalkan respons cepat terhadap kebutuhan pelanggan. Tim yang memiliki, merancang, dan mengimplementasikan aplikasi dan sistem mereka menemukan tingkat otonomi tertinggi mereka dalam arsitektur dengan karakteristik berikut:

  • Arsitektur evolusioner yang mendukung perubahan konstan
  • Penyebaran
  • Kemampuan untuk diuji

Solusi Conway adalah untuk outmaneuver Conway's Law. Jika organisasi Anda mengikuti struktur tertentu untuk menghasilkan layanan dan produk dan ingin mengoptimalkan, Anda perlu memikirkan kembali struktur organisasi Anda. Mengembangkan tim dan struktur organisasi Anda untuk mencapai arsitektur yang Anda inginkan.

Diagram Manuver Reverse Conway.

Prinsip ini mengarah pada topologi tim yang sengaja dirancang di mana tim bertanggung jawab atas aplikasi, sistem, atau platform apa pun yang mereka miliki untuk mencapai disiplin penuh DevOps.

Tabel berikut ini menyediakan kategorisasi yang disederhanakan dari tim ini.

Jenis tim Definisi
Tim beban kerja aplikasi Tim ini membangun aplikasi yang mendorong hasil bisnis langsung untuk segmen domain bisnis. Dalam konteks Zona Pendaratan Azure, tim ini bertanggung jawab atas siklus hidup end-to-end beban kerja aplikasi.
Tim platform Tim ini membangun platform internal yang menarik untuk mempercepat pengiriman dan mengurangi beban kognitif tim beban kerja aplikasi. Dalam konteks Zona Pendaratan Azure, tim ini bertanggung jawab atas siklus hidup end-to-end Azure Landing Zone.
Mengaktifkan tim Tim-tim ini membantu mengatasi kesenjangan keterampilan dengan membantu tim lain dengan kemampuan khusus seperti DevOps.

Pertimbangan Desain

  • Buat tim platform lintas fungsional untuk merancang, membangun, memprovisikan, mengelola, dan memelihara siklus hidup Azure Landing Zone Anda. Tim ini dapat mencakup anggota dari tim IT pusat Anda, keamanan, kepatuhan, dan unit bisnis untuk memastikan bahwa spektrum yang luas dari perusahaan Anda diwakili. Pastikan Anda menghindari antipattern.

  • Pertimbangkan untuk membangun tim yang memungkinkan yang dapat menyediakan fungsi DevOps untuk mendukung aplikasi dan platform yang tidak memiliki kemampuan DevOps yang ada, atau kasus bisnis untuk menetapkannya (misalnya, aplikasi warisan dengan kemampuan pengembangan minimal).

  • Jangan batasi tim beban kerja aplikasi Anda ke artefak pusat, karena dapat menghambat kelincahan mereka. Anda dapat menggunakan tata kelola berbasis kebijakan dan kontrol akses berbasis peran Azure (Azure RBAC) untuk menerapkan konfigurasi garis besar yang konsisten dan memastikan bahwa tim aplikasi (unit bisnis) cukup fleksibel untuk berinovasi namun masih dapat menarik dari serangkaian templat yang telah ditentukan sebelumnya.

  • Jangan paksa tim aplikasi Anda untuk menggunakan proses pusat atau provisi alur untuk instansiasi atau manajemen sumber daya aplikasi. Tim yang sudah ada yang sudah mengandalkan alur DevOps untuk pengiriman aplikasi masih dapat menggunakan alat mereka saat ini. Ingat, Anda dapat menggunakan Azure Policy membantu menegakkan standar organisasi dan menilai kepatuhan dalam skala besar dan mengatasi pertimbangan keamanan untuk proses DevOps Anda.

  • Aplikasi selimut model DevOps tidak langsung membentuk tim DevOps yang mampu.

  • Investasi dalam kemampuan teknik dan sumber daya sangat penting.

  • Tim aplikasi untuk beberapa aplikasi warisan mungkin tidak memiliki sumber daya rekayasa yang diperlukan untuk menyelaraskan dengan strategi DevOps.

Rekomendasi desain

Bagian berikut berisi rekomendasi desain untuk memandu Anda saat merancang topologi tim Anda.

Menyelaraskan topologi tim dengan model operasi cloud Anda

Pastikan Anda menyelaraskan topologi tim Anda dengan model operasi cloud yang Anda inginkan.

Tetapkan proses inti untuk tinjauan kebugaran operasional sehingga Anda sepenuhnya memahami masalah yang dapat dihasilkan dari struktur tim Anda.

Menentukan fungsi untuk tim platform Anda

Daftar berikut ini menyediakan serangkaian fungsi yang direkomendasikan untuk tim platform yang bertanggung jawab atas Zona Pendaratan Azure Anda:

  • Tata kelola arsitektur
  • Provisi langganan dan delegasi kebijakan manajemen jaringan, identitas, dan akses yang diperlukan
  • Manajemen dan pemantauan platform (holistik)
  • Manajemen biaya (holistik)
  • Platform-as-code (manajemen templat, skrip, dan aset lainnya)
  • Operasi keseluruhan di Microsoft Azure dalam penyewa Microsoft Entra Anda (manajemen perwakilan layanan, pendaftaran Microsoft Graph API, dan definisi peran)
  • Azure RBAC (holistik)
  • Manajemen kunci untuk layanan pusat (protokol transfer email sederhana dan pengontrol domain)
  • Manajemen dan penegakan kebijakan (holistik)
  • Pemantauan dan audit keamanan (holistik)
  • Manajemen jaringan (holistik)

Menentukan fungsi untuk tim beban kerja aplikasi Anda

Daftar berikut ini menyediakan serangkaian fungsi yang direkomendasikan untuk tim aplikasi Anda yang bertanggung jawab atas beban kerja aplikasi:

  • Pembuatan dan pengelolaan sumber daya aplikasi melalui model DevOps
  • Pengelolaan database
  • Migrasi aplikasi atau transformasi
  • Manajemen aplikasi dan pemantauan (sumber daya aplikasi)
  • Azure RBAC (sumber daya aplikasi)
  • Pemantauan dan audit keamanan (sumber daya aplikasi)
  • Manajemen Rahasia dan Kunci (kunci aplikasi)
  • Manajemen biaya (sumber daya aplikasi)
  • Manajemen jaringan (sumber daya aplikasi)

Menentukan fungsi untuk mengaktifkan tim

Daftar berikut ini menyediakan serangkaian fungsi yang direkomendasikan untuk tim yang memungkinkan yang bertanggung jawab untuk membantu tim Anda yang lain:

  • Definisi panduan dan kemampuan horizontal (lintas fungsi) untuk membantu memperoleh keahlian yang tepat di seluruh organisasi Anda, yang memastikan keselarasan dengan model operasi cloud target Anda secara keseluruhan (seperti DevOps)
  • Dukungan, pelatihan, dan pelatihan bagi tim lain untuk mencapai tingkat keahlian yang diperlukan
  • Pembentukan serangkaian templat dan pustaka umum yang dapat digunakan kembali untuk tim aplikasi atau platform Anda, dan menumbuhkan InnerSourcing, seperti modul terverifikasi Azure.

Menentukan mode interaksi antar tim

Tujuan interaksi antara tim Anda adalah untuk:

  • Mencapai otonomi
  • Membuka blokir dependensi
  • Meminimalkan waktu limbah
  • Hindari hambatan

Topologi Tim menguraikan tiga mode interaksi tim:

Mode interaksi Deskripsi
Kolaborasi Teams bekerja sama erat.
X-as-a-Service Tim mengonsumsi atau memberikan sesuatu kepada tim lain dengan kolaborasi minimum, mirip dengan interaksi vendor pihak ketiga.
Memfasilitasi Teams membantu atau dibantu oleh tim lain untuk menghapus hambatan.