GNU/Linux >> Belajar Linux >  >> Linux

Memikirkan Kembali DevOps:Tentang Apa Itu?

Sejak saya mulai bekerja dengan beragam aplikasi web di Linux Handbook dan High On Cloud, istilah DevOps telah menarik perhatian saya berkali-kali karena itu adalah sesuatu yang kami bahas secara khusus di Buku Pegangan Linux.

Kami telah membahas tutorial tentang banyak alat yang terkait dengan DevOps tetapi kami tidak pernah benar-benar mencoba menjelajahi konsep sebenarnya secara mendalam. Karena Buku Pegangan Linux didedikasikan untuk Server Linux , kita juga perlu mengeksplorasi peran penting mereka di bidang DevOps.

Namun sebelum kita melakukannya, penting untuk memahami apa sebenarnya DevOps itu. DevOps adalah kata kunci yang sangat populer dan Anda akan menemukan banyak definisinya di seluruh web. Tetapi berdasarkan pengalaman saya sendiri, saya telah sampai pada definisi dan pemikiran konklusif berikut untuk selanjutnya. Ini adalah upaya untuk meninjau kembali norma-norma DevOps yang ada dan memikirkannya kembali dalam bentuk model baru yang saya usulkan di sini.

Apa itu DevOps?

DevOps adalah proses penyederhanaan berkelanjutan untuk menjaga keseimbangan antara fungsionalitas, kegunaan, dan keamanan aplikasi baik dalam hal Pengembangan kawin lari dan Op erasis .

Bagaimana cara memastikannya?

Memastikan bahwa aplikasi berkembang secara efisien sekaligus juga beroperasi merupakan tantangan berkelanjutan bagi Insinyur DevOps. Untuk melakukan itu, komponen paling mendasar dari DevOps perlu terus dipantau.

Siklus Hidup Pengembangan Aplikasi (ADLC)

Membuat aplikasi baru? Anda mulai dari sini!

Siklus Hidup Pengembangan Aplikasi adalah motivasi mendasar di balik pengembangan aplikasi apa pun. Kecuali jika proses pengembangan tidak dipantau secara hati-hati dan konsisten, Anda tidak dapat benar-benar yakin akan perkembangannya yang sempurna. Aplikasi akan selalu berada di bawah ADLC hingga siap produksi.

ADLC adalah prinsip rekayasa perangkat lunak penting yang terdiri dari enam tahap penting. Pengembangan aplikasi melibatkan langkah-langkah berikut:

  1. Rencana Konsep :Membentuk ide inti di balik aplikasi.
  2. Pemrograman :Ini adalah saat aplikasi dibuat dan dikembangkan.
  3. Dokumentasi :Aplikasi luar biasa tidak akan berguna tanpa dokumentasi yang cermat (dapat dibaca manusia).
  4. Pengujian untuk Jaminan Kualitas :Memastikan produk akhir berfungsi, dapat digunakan, dan aman.
  5. Men-debug :Bug yang dilaporkan selama pengujian telah diperbaiki.
  6. Rilis Pengembangan :Versi pertama dari aplikasi ini dirilis.

Sampai dan kecuali rilis stabil tersedia, siklus ini akan terus ada. Setelah perangkat lunak dirilis sebagai versi stabil siap produksi, perangkat lunak tersebut tidak lagi berada di bawah ADLC. Akhirnya berada di bawah System Development Life Cycle (SDLC).

Siklus Hidup Pengembangan Sistem (SDLC)

Bagian dari komunitas DevOps kami mungkin mengatakan bahwa ADLC dan SDLC adalah satu dan sama. Namun dalam skenario dunia nyata, yang saya lihat adalah ADLC dan SDLC sangat berbeda.

Siklus Hidup Pengembangan Sistem adalah motivasi mendasar di balik pengembangan dan pengoperasian aplikasi. Ini melibatkan pengembangan aplikasi yang berkelanjutan setelah rilis stabil pertama dan memastikan pengoperasian yang berkelanjutan.

  1. Rencana Konsep :Meninjau kembali ide inti di balik aplikasi.
  2. Pemrograman :Ini adalah saat aplikasi dikembangkan lebih lanjut.
  3. Dokumentasi :Pembaruan berkelanjutan dari dokumentasi yang dapat dibaca manusia.
  4. Menguji kualitas rilis baru :Memastikan produk akhir yang baru berfungsi, dapat digunakan, dan aman.
  5. Men-debug :Bug yang dilaporkan selama pengujian telah diperbaiki.
  6. Rilis Pengembangan :Untuk aplikasi baru (berdasarkan versi atau sebagai aplikasi itu sendiri), rilis pengembangan berkembang menjadi rilis stabil pertamanya di tahap ini.
  7. Rilis Stabil :Versi stabil terbaru dirilis sebagai produk dengan perbaikan terkait bug/keamanan beserta fitur baru.
  8. Penerapan :Produk stabil disebarkan di server.
  9. Pemeliharaan &Pemantauan :Pemantauan server dan aplikasi yang berjalan di dalamnya secara konsisten dan berkala.

Model terbuka yang diberdayakan komunitas akan selalu memiliki perawatan yang paling lancar. Langkah terakhir dalam siklus ini benar-benar dapat dicapai hanya dengan model Open Source. Ini adalah faktor penentu terbesar dalam hal evolusi aplikasi apa pun.

Aplikasi yang belum memiliki rilis stabil tidak dapat dianggap selesai. Segera setelah aplikasi selesai dibangun, ADLC berkembang menjadi SDLC. Mengapa?

  • ADLC adalah murni Pengembang Model kawin lari
  • SDLC adalah Pengembangan kawin lari dan Op erasis Model

Apakah Anda mengerti maksud saya sekarang? Di bawah ADLC, aplikasi belum siap produksi, oleh karena itu masih dalam pengembangan barebone. Oleh karena itu, kami tidak dapat menyebutnya DevOps. Hanya ketika rilis stabil pertama keluar, ia berkembang menjadi SDLC yang merupakan DevOps karena aplikasi siap produksi kemudian akan terus beroperasi.

Seperti yang terlihat dari dua singkatan dan diagram di atas, aplikasi sangat berbeda dari keseluruhan sistem. Sebuah aplikasi hanyalah bagian dari proses sistemik yang lengkap. Inilah yang membedakan SDLC dengan ADLC. Jadi, ADLC sebenarnya adalah bagian dari SDLC.

SDLC perlu terus-menerus diputar oleh kami sebagai komunitas, dengan mengingat keseimbangan antara fungsionalitas, kegunaan, dan keamanan.

Menyajikan Segitiga DevOps baru

Diagram ini tidak pernah sama karena SDLC tidak pernah stasioner. SDLC-lah yang terus-menerus diputar dalam segitiga oleh komunitas berdasarkan umpan balik berkelanjutan dari pengembang, penguji, dan pengguna.

Proses pivot seperti itu selalu berubah sesuai dengan persyaratan aplikasi yang sedang diterapkan. Model yang selalu berubah di dunia nyata ini adalah proses DevOps.

Di mana SDLC terletak di dalam segitiga akan selalu bervariasi dari satu aplikasi ke aplikasi lainnya. Lokasi pivot sebenarnya bergantung pada sifat aplikasi yang sedang diterapkan saat sedang dikembangkan dengan memperhatikan:

Fungsionalitas :Fungsi utama aplikasi. Misalnya, kemampuan untuk mengirim pesan melalui Rocket.Chat.

Kegunaan :Kemudahan penggunaan aplikasi. Misalnya, betapa mudahnya Anda mengirim pesan melalui Rocket.Chat.

Keamanan :Tingkat keamanan aplikasi. Misalnya, perbaikan bug yang mengatasi kerentanan Rocket.Chat seperti ini.

Komunitas beragam yang mendukung aplikasi Open Source harus selalu menjaga keseimbangan antara fungsionalitas, kegunaan, dan keamanan.

Tapi bagaimana sebenarnya?

Kerendahan Hati di Tempat Kerja:Presisi Utama dalam Pemutaran

Pada akhirnya, pengembang, pengguna, dan penguji semuanya adalah manusia. Baik itu lokal atau virtual, budaya dan tempat kerja DevOps perlu mengadopsi gagasan sederhana tentang kasih sayang. Tempat kerja yang mempraktikkan kebaikan di antara rekan kerja pasti akan meningkatkan produktivitas ADLC dan SDLC!

Ini bukan hanya tentang aplikasi web, ini juga tentang orang-orang. Mereka adalah orang-orang yang terus menciptakan, menyebarkan, dan memeliharanya. Itulah yang dimaksud dengan komunitas dan inilah mengapa DevOps juga merupakan budaya. Budaya DevOps mencakup pengelolaan tidak hanya aplikasi web tetapi juga orang-orang yang mewujudkannya.

Pendekatan Open Source membuat seluruh proses ini jauh lebih dapat dicapai daripada yang eksklusif. Inilah yang saya rasakan saat bekerja dengan sistem kolektif orang, praktik, dan teknologi .

Saya berharap untuk terus membagikan pemikiran saya dalam genre ini melalui serangkaian artikel yang akan datang. Apa yang saya rasakan adalah, baik itu perusahaan skala kecil, menengah atau besar, DevOps dapat diterapkan di mana-mana tetapi dalam bentuk model yang dipersonifikasikan.

Ini hanyalah sebagian kecil dari apa yang ingin saya jelajahi melalui seri ini. Silakan bagikan pemikiran Anda di bagian komentar di bawah. Terima kasih telah mengunjungi Buku Pegangan Linux!


Linux
  1. Pengembangan fleksibel di Linux, apa lingkungan gratis yang bagus?

  2. Proses apa yang menggunakan semua IO disk saya

  3. Apa yang rentan tentang kode C ini?

  1. Bunuh semua proses yang terkait dengan aplikasi

  2. Perintah untuk mempelajari tentang sistem yang tidak dikenal

  3. Nama host - Tentang apa semua itu?

  1. Apa yang mungkin tidak Anda ketahui tentang sudo

  2. Apa Itu Hosting VPS? Yang Perlu Anda Ketahui Tentang Server Pribadi Virtual

  3. Apa yang perlu diketahui sysadmin tentang menggunakan Bash