Bagaimana Menerapkan Strategi DevOps yang Sukses?
Diterbitkan: 2022-06-29pengantar
DevOps adalah strategi pengembangan yang menekankan kolaborasi antara pengembang perangkat lunak dan staf operasi TI. Tetapi ada lebih banyak hal dalam mengimplementasikan DevOps daripada sekadar meminta tim Anda untuk bekerja sama.
Istilah DevOps diciptakan oleh Patrick Debois pada tahun 2009 yang juga dikenal sebagai "Bapak DevOps." Prosesnya terdiri dari tahapan utama berikut:
- Rencana
- Buat/Kode
- Membangun
- Uji
- Melepaskan
- Menyebarkan
- Mengoperasikan dan
- Memantau
Berikut adalah panduan tentang apa yang diperlukan untuk mengimplementasikan DevOps dengan sukses dan berbagai strategi untuk melakukannya.
Jangan Mencoba Melakukan Semuanya Sekaligus
Sangat mudah untuk merasa kewalahan saat pertama kali memulai DevOps. Ada banyak informasi di luar sana, dan mungkin sulit untuk mengetahui dari mana harus memulai. Saya sarankan memulai dari yang kecil dan terus meningkat.
Pertama, pilih area yang mudah untuk diotomatisasi, dipantau, dan berkomunikasi dengan pengguna akhir. Ini akan memudahkan Anda untuk menunjukkan kesuksesan sejak dini dan membangun momentum menuju area bisnis lainnya. Misalnya: jika Anda mengotomatiskan penerapan atau menyiapkan alat pemantauan, maka mungkin pertimbangkan untuk memulai dengan sesuatu seperti menerapkan aplikasi web atau aplikasi kemas (seperti Docker). Jenis layanan ini biasanya memiliki ketergantungan yang lebih sedikit daripada jenis sistem lain seperti database, sehingga cenderung menjadi kasus uji yang lebih mudah yang dengannya kami dapat mengukur kemajuan kami dalam menerapkan praktik DevOps di seluruh organisasi kami.
Lakukan Apa yang Anda Bisa, Saat Anda Bisa
Hal pertama yang harus dilakukan adalah membuat tim Anda menggunakan alat yang mereka butuhkan. Mulailah dengan apa yang tersedia, dan tambahkan lebih banyak fitur saat Anda merasa lebih nyaman. Jangan mencoba melakukan semuanya sekaligus; temukan satu atau dua hal yang cocok untuk Anda, lalu lanjutkan ke yang berikutnya.
Mempekerjakan Otomatisasi
Tujuan DevOps adalah untuk meningkatkan kecepatan, mengurangi biaya dan kesalahan manusia, serta meningkatkan kualitas. Itu sebabnya otomatisasi dianggap sangat penting. Otomasi dapat berarti hal yang berbeda dalam konteks yang berbeda (pengujian otomatis dan integrasi berkelanjutan adalah dua contoh umum), tetapi umumnya mengacu pada penggunaan perangkat lunak untuk melakukan tugas tertentu. Ini berarti bahwa akan ada lebih sedikit manusia yang terlibat dalam proses pengembangan dan produksi, yang mengurangi biaya sekaligus meningkatkan kualitas—sekaligus meningkatkan kecepatan.
Mulailah dengan Alat yang Ada untuk Mengembangkan Solusi Kustom
Mungkin lebih mudah untuk memulai dengan alat yang ada daripada mengembangkan solusi khusus. Jika Anda baru memulai, ada sejumlah proyek sumber terbuka dan layanan cloud yang dapat membantu Anda memulai dan menjalankannya dengan cepat. Sebagai contoh:
- Kerangka kerja otomatisasi DevOps Jenkins Stack: Proyek sumber terbuka yang mengelola seluruh siklus pengembangan perangkat lunak. Ini mencakup alat untuk integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD), serta untuk tugas DevOps umum lainnya seperti pengujian, pembuatan, pengemasan, dan penerapan kode. Ini mendukung beberapa sistem operasi termasuk Linux dan macOS.
- Elasticsearch: Mesin pencari berdasarkan Apache Lucene yang menyediakan kemampuan pencarian teks lengkap untuk volume besar data tidak terstruktur secara real time di banyak server. Ini digunakan oleh banyak perusahaan seperti Netflix atau PayPal sehingga mereka dapat mengindeks semua transaksi mereka yang terjadi dalam entitas tersebut dengan sangat cepat karena kemampuannya untuk menskalakan secara horizontal (yaitu menambahkan lebih banyak instans saat diperlukan).
Mulailah dengan Alat yang Bersatu dengan Budaya Anda
Saat Anda memulai perjalanan DevOps, penting untuk dipahami bahwa Anda tidak akan dapat mengubah semuanya sekaligus. Anda tidak dapat memaksa budaya, proses, orang, atau teknologi Anda untuk berubah; jika mereka tidak selaras dengan tujuan pengembangan DevOps dan Agile maka mereka akan menghambat keberhasilannya.
Alih-alih mencoba memaksakan elemen-elemen ini ke dalam cetakan tetap yang tidak sesuai dengan cara kerja bisnis Anda saat ini, carilah alat yang dirancang khusus untuk tim perangkat lunak yang mengadopsi metodologi Agile—dan beri mereka ruang untuk berkembang seiring tim mengembangkan kemampuannya dari waktu ke waktu .
Fokus pada Kolaborasi & Dapatkan Otak Terbaik Saat Anda Bisa
Tetapi menemukan dan mempekerjakan sumber daya ini tidak mudah.
Untungnya, ada beberapa opsi bagus untuk mendapatkan bantuan:
- Cari bantuan dari perusahaan lain yang sudah mengimplementasikan DevOps. Mereka telah mempelajari beberapa pelajaran sulit, dan dapat memberi Anda saran berdasarkan pengalaman mereka sendiri.
- Konsultan juga bisa menjadi pilihan yang baik jika Anda tidak punya waktu untuk mempelajari seluk beluk DevOps sendiri. Mereka cenderung tahu pertanyaan apa yang harus ditanyakan dan di mana mencari jawaban; mereka juga lebih mungkin daripada karyawan di perusahaan lain (yang mungkin fokus pada pekerjaan sehari-hari mereka) karena mereka termotivasi oleh uang daripada hanya berbagi pengetahuan saja.* Komunitas open source seperti GitHub menyediakan sumber daya tambahan setelah mempelajari bagaimana mereka bekerja bersama melalui kolaborasi.* Kursus pelatihan dapat menjadi pilihan lain jika Anda menginginkan keahlian orang lain sebagai tambahan atau alih-alih menggunakan konsultan luar.* Buku seperti The Phoenix Project menawarkan pandangan dari dalam tentang bagaimana satu perusahaan mengimplementasikan DevOps dengan sukses; mereka sering ditulis oleh individu yang terlibat dalam penerapannya sendiri daripada hanya mengamati dari jauh.
Pemantauan dan Pelaporan Otomatis
Pemantauan dan pelaporan otomatis adalah praktik utama DevOps. Untuk meningkatkan kualitas perangkat lunak Anda, Anda harus dapat mengukur seberapa baik kinerjanya dalam produksi. Pengembang harus bertanggung jawab untuk memantau kode mereka sehingga mereka dapat dengan cepat mengidentifikasi masalah. Mereka juga perlu memiliki strategi untuk mengumpulkan data ini dan menerapkan alat analitik yang memungkinkan mereka memahami apa yang terjadi dengan aplikasi mereka saat dijalankan dalam produksi.

Tim operasi harus memantau infrastrukturnya karena mereka bertanggung jawab untuk memastikan semuanya berjalan lancar setiap hari. Ini berarti mengumpulkan metrik tentang penggunaan CPU, penggunaan ruang disk, konsumsi bandwidth jaringan, dll., serta mencatat masalah apa pun yang muncul dengan aplikasi sehingga dapat segera diatasi.
Bisnis Anda harus memantau intinya dengan mengukur berapa banyak pendapatan yang dihasilkan setiap fitur baru relatif terhadap biaya seperti waktu pengembangan dan biaya pemeliharaan di masa mendatang (termasuk dukungan berkelanjutan). Kemampuan untuk secara akurat mengukur jenis metrik ini memungkinkan tim dalam suatu organisasi atau di beberapa organisasi yang bekerja bersama dalam satu proyek—seperti yang menggunakan layanan mikro—untuk membuat keputusan yang lebih baik tentang fitur mana yang harus diprioritaskan saat membangun peta jalan produk mereka berdasarkan tujuan keuangan daripada hanya berfokus pada pengurangan utang teknis saja tanpa memperhatikan gambaran yang lebih besar.”
Beri tahu Pelanggan Anda, Mereka Mungkin Tidak Menyukai Kejutan
Katakanlah organisasi Anda menerapkan basis kode baru untuk seluruh aplikasi web. Anda tahu ini akan memengaruhi pengguna akhir dan mereka tidak akan menyukainya jika mereka terkejut dengan perubahan itu.
Anda dapat memperingatkan mereka dan memberi mereka waktu untuk bersiap menghadapi perubahan, atau Anda dapat menunggu hingga perubahan tersebut ditayangkan dan kemudian menjelaskan apa yang terjadi, mengapa hal itu terjadi, dan bagaimana mereka dapat membiasakan diri dengan perubahan tersebut.
Salah satu cara untuk memberi informasi kepada pengguna adalah melalui kampanye email di mana Anda mengirimkan undangan kalender dengan petunjuk tentang bagaimana orang harus menggunakan alat baru mereka serta kiat tentang bagaimana mereka dapat memperoleh manfaat dari penggunaan fitur ini setelah dirilis ke produksi (mis. akan ada fitur pencarian baru).
Mulai Kecil, Otomatiskan, Pantau Kemajuan & Optimalkan
Strategi terbaik untuk menerapkan DevOps adalah memulai dari yang kecil, mengotomatisasi, dan memantau kemajuan dari waktu ke waktu.
Mulai dari yang kecil: Lebih mudah untuk membangun momentum ketika Anda memulai dengan lingkup yang dapat dikelola. Jika Anda mencoba menangani seluruh departemen atau organisasi Anda sekaligus, itu bisa sangat melelahkan dan terasa mustahil. Alih-alih mencoba menerapkan DevOps di seluruh perusahaan sekaligus, fokuslah pada satu proyek atau tim pada satu waktu.
Otomatisasi: Ada banyak alat yang tersedia yang dapat membantu mengotomatiskan bagian dari proses pengembangan Anda (server integrasi berkelanjutan seperti Jenkins atau TeamCity), tetapi mungkin ada beberapa hal yang belum memiliki alat yang ada—seperti menyiapkan cadangan untuk produksi server di template AWS CloudFormation—jadi pastikan hal-hal tersebut disertakan dalam rencana otomatisasi Anda sebelum melanjutkan dengan hal lain!
Pantau kemajuan dari waktu ke waktu: Memiliki metrik akan memungkinkan semua orang yang terlibat (termasuk Anda sendiri) untuk mengevaluasi seberapa baik segala sesuatunya berjalan seiring waktu sehingga kami dapat membuat penyesuaian yang diperlukan di sepanjang setiap langkah perjalanan kami menuju otomatisasi penuh!
Kesimpulan
Kami harap Anda sekarang memiliki pemahaman yang lebih baik tentang bagaimana DevOps dapat bekerja untuk organisasi Anda. Seperti yang kita lihat, tim DevOps penuh dengan sumber daya dan alat bermanfaat yang dapat membantu Anda memulai dan melanjutkan setelah Anda melakukan transisi awal. Kunci keberhasilan implementasi adalah memulai dengan apa yang sudah Anda ketahui, dan kemudian mengulanginya sampai sempurna. Dengan melakukannya, Anda akan dapat menerapkan strategi DevOps yang efektif tanpa merusak anggaran Anda atau membebani tim Anda dengan tanggung jawab baru!
Gambar Unggulan: Alur Kerja DevOps: Sumber: Pease, 2017.
Biodata Penulis:
Priya memiliki sekitar 7 tahun pengalaman dalam Riset Pasar. Saat ini, dia bekerja untuk Valasys Media, sebagai Asisten Manajer – Ahli Strategi Konten, yang merupakan salah satu Penerbit Media B2B teratas di seluruh dunia. Dia telah menyiapkan beberapa laporan yang dipersonalisasi untuk klien kami & telah melakukan banyak penelitian tentang segmentasi pasar, analisis klaster audiens & metodologi masuk. Dia telah bekerja dengan lembaga pemerintah serta rumah perusahaan di beberapa proyek. Dia memiliki berbagai minat dan percaya pada pendekatan berbasis data untuk pemecahan masalah. Dia memegang pasca-kelulusan di bidang sains juga banyak menulis tentang semua hal tentang kehidupan selain pemasaran, sains, sains data, dan statistik. Dia sangat percaya pada realitas yang lebih tinggi dan bahwa selalu ada lebih banyak hal dalam hidup daripada yang kita pahami. Dia adalah penyembuh psikis dan praktisi tarot, yang percaya pada cara hidup spiritual dan berlatih Yoga dan meditasi. Saat tidak menulis, Anda dapat menemukannya menikmati musik atau memasak.