Saya telah berlatih dan memberi nasihat tentang DevOps sebagai konsultan dengan klien yang berbeda selama hampir lima tahun sekarang, sebelum posisi saya saat ini, saya memegang peran dalam pengembangan perangkat lunak, operasi web, dan administrasi sistem. Dalam pengalaman pribadi saya, DevOps hadir dalam banyak rasa.
Pola Organisasi
DevOps Antipatterns:
NoOps dan NoDevs - tidak sepenuhnya DevOps dalam arti yang paling ketat, namun, tim-tim ini membangun dan mengoperasikan perangkat lunak tanpa garis pemisah antara Pengembangan dan Operasi. Tantangan dengan tim-tim ini jatuh tempo, tim Pengembangan mungkin ahli Pengembang Perangkat Lunak tetapi Operator pemula dan sebaliknya.
The DevOps Bridge - di sinilah satu atau lebih tim diberi tanggung jawab untuk mengambil pekerjaan dari tim pengembangan dan " Memproduksi " untuk membuatnya bisa beroperasi. Tantangan datang ke sekarang ada dua hand-off, yaitu Pengembangan → DevOps dan DevOps → Operasi.
Tim DevOps - ini bisa, bisa dibilang, bekerja jika tim memiliki tanggung jawab untuk membangun alat yang mendukung Model Operasi yang diaktifkan DevOps, namun, mungkin harus disebut "Tim Alat" atau "Tim Platform".
Pola DevOps:
Embedded DevOps - lebih umum disebut sebagai Platform Engineering, di mana ada seseorang dalam tim yang bertanggung jawab tetapi tidak bertanggung jawab untuk memberikan otomatisasi, alat dan infrastruktur untuk penyediaan dan penyebaran solusi, kadang-kadang juga termasuk mengoperasikan perangkat lunak - dalam pikiran saya , yang terakhir inilah yang sebenarnya mewakili DevOps.
DevOps yang dilembagakan - di mana tim proyek bersama-sama bertanggung jawab atas pengembangan dan pengoperasian paket perangkat lunak, membangun kepemilikan bersama dan loop umpan balik positif.
Praktik
Praktik DevOps yang sebenarnya dibangun di atas beberapa praktik lainnya, yaitu:
Masing-masing praktik di atas dibangun di atas yang lain, mungkin untuk tidak mengikuti praktik, namun, artinya siklus umpan balik penting tidak ada yang mungkin mengindikasikan "peluang yang hilang". Perbedaan utama antara mengikuti praktik-praktik lain dan DevOps adalah pengoperasian perangkat lunak dalam produksi .
Tiga Cara
Dalam The Phoenix Project Gene Kim dan rekan penulisnya menjelaskan tiga cara DevOps :
Sistem berpikir
Cara Pertama menekankan kinerja seluruh sistem, yang bertentangan dengan kinerja silo kerja atau departemen tertentu - ini bisa sebesar divisi (misalnya, Pengembangan atau Operasi TI) atau sekecil kontributor individu (mis. , pengembang, administrator sistem).
Dalam pengalaman saya, membuat Pengembang mempertimbangkan Masalah Operasional dan persyaratan Non-fungsional mencapai tujuan ini. Ini sangat banyak bagian dari aspek budaya DevOps.
Amplifikasi dari Umpan Balik
Cara Kedua adalah tentang menciptakan loop umpan balik kanan ke kiri. Tujuan dari hampir semua inisiatif perbaikan proses adalah untuk mempersingkat dan memperkuat loop umpan balik sehingga koreksi yang diperlukan dapat terus dilakukan.
Saya umumnya mencapai ini melalui Integrasi / Pengiriman / Penempatan Berkelanjutan dan pemantauan dan peringatan bersama, sehingga sangat cocok dengan komponen alat DevOps.
Budaya Eksperimen dan Pembelajaran Berkelanjutan
Cara Ketiga adalah tentang menciptakan budaya yang menumbuhkan dua hal: eksperimen terus-menerus, mengambil risiko, dan belajar dari kegagalan; dan memahami bahwa pengulangan dan latihan adalah prasyarat untuk penguasaan.
Ini sangat cocok di ruang budaya , meskipun sangat bergantung pada alat dan proses untuk memungkinkan budaya tumbuh.