LFCA Ketahui konsep asas DevOps - Bahagian 21

LFCA Ketahui konsep asas DevOps - Bahagian 21

DevOps telah menjadi topik yang agak lama untuk seketika sekarang dan telah berjaya menarik perhatian profesional teknologi dan perusahaan. Sebagai pemula, ia boleh mencabar membungkus kepala anda di sekitar konsep DevOps, Dan dalam topik ini, kita akan memfailkan konsep asas kata kunci internet ini.

Untuk memulakan, DevOps Adakah portmanteau dua perkataan: Pembangunan dan Operasi. Ia adalah satu set amalan dan alat yang menggalakkan kerjasama antara pasukan pembangunan (Devs) dan operasi (Ops). Matlamat DevOps adalah untuk menyelaraskan kitaran hayat pembangunan perisian, meminimumkan kadar kegagalan, meningkatkan kekerapan penyebaran, dan mencapai perisian berkualiti tinggi.

Untuk mendapatkan pemahaman yang lebih baik mengenai DevOps Dalam persekitaran IT moden hari ini, mari kita mengintip bagaimana model penempatan sebelum kedatangan DevOps.

Amalan IT tradisional

Sebelumnya DevOps, Pasukan Pembangunan dan Jurutera QA menggunakan model air terjun klasik. Landskap kerja sebahagian besarnya siled dan ujian dan penggunaan aplikasi berlaku dalam pengasingan lengkap. Ini mengakibatkan pertindihan tugas, jurang, kelewatan dalam maklum balas, dan ketidakcekapan lain yang memerlukan masa tambahan untuk menyelesaikan projek. Maklum balas terhad dan tertunda bermakna kualiti perisian tidak diaudit sepenuhnya sehingga fasa terakhir pembangunan.

Di samping itu, penggunaan kod manual telah disebabkan oleh kesilapan manusia dan oleh itu menuntut lebih banyak masa dalam aplikasi debug. Juga, pasukan yang berlainan mempunyai pelbagai garis masa untuk menyelesaikan tugas mereka dan tidak biasa bagi garis masa untuk jatuh dari penyegerakan yang membawa kepada kelewatan selanjutnya dalam merealisasikan produk akhir.

Masukkan DevOps

Konsep DevOps dikandung antara tahun 2007 dan 2010 oleh dua pemaju: Andrew Shafer dan Patrick Debois. Sejak penubuhannya, ia telah memupuk kerjasama yang lancar antara pasukan operasi dan pembangunan dalam setiap langkah kitaran hayat pembangunan perisian. Konsep baru ini seperti Integrasi berterusan ( Ci ) & Penghantaran berterusan ( CD ) dan banyak lagi yang menyumbang kepada penghantaran perisian pesat.

Model dan amalan DevOps

DevOps bukan hanya mengenai kerjasama dan mempunyai minda yang betul ke arah mencapai matlamat. Ia merangkumi amalan terbaik yang bertujuan untuk membantu menyampaikan perisian kualiti dan siap sedia pasaran dalam masa yang paling singkat. Mari kita lihat beberapa amalan terbaik ini yang akan membantu anda meningkatkan kecekapan dan penghantaran kod yang cepat.

Integrasi berterusan (CI)

Integrasi berterusan adalah amalan pembangunan perisian di mana pemaju menggabungkan perubahan kod menjadi satu repositori pusat. Selepas itu, ujian dan binaan automatik dilaksanakan pada kod tersebut. Matlamat integrasi yang berterusan adalah untuk mempercepat penyahpepijatan aplikasi, mengurangkan masa yang diambil untuk melepaskan kemas kini perisian baru, dan meningkatkan kualiti perisian.

Penghantaran Berterusan (CD)

Penghantaran berterusan (CD) adalah satu lagi amalan di mana perubahan dalam kod dibina secara automatik, dan digunakan untuk ujian yang kuat. Kemudian, ujian automatik dilaksanakan terhadap kod yang digunakan untuk membolehkan pemaju mengenal pasti dan memperbaiki pepijat. Biasanya, kod ini secara progresif tertakluk kepada persekitaran ujian berganda di mana melalui prosedur automatik standard, kod mencapai tanda kualiti tertinggi.

Alat CI/CD yang popular termasuk Jenkins, Travis CI, Circle CI, Azure DevOps, dan Kod AWS Membina.

Ujian berterusan

Matlamat ujian berterusan adalah untuk mengenal pasti pepijat dan potensi risiko pada peringkat awal kitaran hayat pembangunan perisian untuk meminimumkan kesilapan yang akan nyata dalam produk akhir. Apabila kod gagal ujian yang kuat, biasanya dihantar kembali kepada pemaju untuk semakan sebelum diteruskan ke Jabatan Jaminan Kualiti untuk Penilaian dan Ujian Fungsional. Alat ujian berterusan yang digunakan secara meluas termasuk Travis dan Selenium.

Pemantauan & loggin yang berterusan

Seperti yang anda harapkan, aplikasi dan infrastruktur yang mendasari memerlukan pemantauan berterusan untuk memeriksa identiti prestasi mereka apa -apa kesilapan atau kecacatan, dan memastikan pematuhan kepada pelbagai piawaian industri. Pelbagai metrik dipantau termasuk:

  • Memori dan penggunaan CPU
  • Penggunaan ruang cakera
  • Penggunaan jalur lebar
  • Interaksi pelanggan

Dengan memantau dan menganalisis data dan log yang dihasilkan oleh aplikasi, pemaju dapat dengan mudah mendapatkan pandangan tentang bagaimana ciri atau konfigurasi memberi kesan kepada pengguna. Di samping itu, mengkonfigurasi makluman akan membantu dalam mengenal pasti kesilapan atau perubahan yang tidak diingini setiap langkah. Akhirnya, pemantauan berterusan memastikan ketersediaan aplikasi yang tinggi dan memberi inspirasi kepada keyakinan bahawa perkara -perkara yang berfungsi seperti yang diharapkan.

Alat pemantauan popular termasuk Prometheus, Grafana, Nagios, Zabbix, dan Netdata untuk menyebut beberapa.

Infrastruktur sebagai kod

Disingkat sebagai IAC, Infrastruktur sebagai kod digambarkan sebagai penggunaan dan pengurusan sumber seperti pelayan maya, & pengimbang beban menggunakan fail konfigurasi yang boleh dibaca mesin berbanding dengan alat konfigurasi interaktif. Ini amat penting dalam persekitaran awan seperti AWS di mana anda dapat dengan mudah berputar mengira contoh dengan menentukan butiran contoh dalam fail konfigurasi dan alat memanfaatkan seperti Terraform untuk menggunakan sumber.

Sebagai contoh, Amazon AWS Menyediakan API yang membolehkan pengguna secara programatik berinteraksi dengan platform awan dari baris arahan. Ini memudahkan penggunaan sumber yang cepat dengan menghapuskan proses manual dan kendur. Ringkasnya, IAC mendapat lebih banyak kerja yang dilakukan dalam tempoh masa yang singkat.

Microservices

Senibina Microservices adalah di mana satu aplikasi adalah integrasi atau penggabungan pelbagai perkhidmatan yang lebih kecil. Setiap perkhidmatan berjalan secara bebas dan berkomunikasi dengan seluruh aplikasi menggunakan API berasaskan HTTP. Microservices boleh digunakan sebagai kumpulan perkhidmatan atau satu perkhidmatan

Senibina mikroservis jauh berbeza dengan seni bina monolitik tradisional. Dalam seni bina tradisional, aplikasi adalah satu-peringkat dan semua komponen, termasuk kod dan UI, dibundel ke dalam satu program.

Microservices memudahkan penggunaan dan pengurusan sumber bebas. Mereka juga memastikan ketersediaan yang tinggi dengan menghalang satu titik kegagalan. Apabila satu aplikasi terhempas, selebihnya akan terus berjalan.

Manfaat Model DevOps

Setelah melihat DevOps Amalan terbaik, mari kita fokus pada manfaat mengamalkan model DevOps.

Kecekapan & produktiviti yang lebih baik antara pasukan

Kerjasama antara pasukan pembangunan & operasi diterjemahkan kepada tanggungjawab bersama, yang akhirnya meningkatkan produktiviti dan memupuk penglibatan pasukan.

Mengurangkan kemungkinan kegagalan produk

Kerjasama juga membolehkan pasukan dengan mudah debug kod di setiap peringkat sebelum sampai ke fasa akhir. Ini menghasilkan perisian berkualiti tinggi dan siap sedia pasaran.

Penghantaran perisian pesat

Penggunaan aplikasi lebih diperkemas dan lebih cepat terima kasih kepada alat automasi yang disediakan oleh DevOps (seperti Ansible, Chef, dan Wayang) & Integrasi Berterusan Lanjutan (CI).

Lebih banyak ketelusan produk

Oleh kerana pengetahuan produk tersebar di pelbagai jabatan, terdapat matlamat dan visi yang jelas mengenai produk, menterjemahkan kepada pengambilan keputusan yang lebih baik dalam setiap peringkat pembangunan

Ringkasan

Kepercayaan tertanam bahawa pasukan pembangunan dan operasi mesti selamanya bekerja secara berasingan adalah ketinggalan zaman dan kelemahan. Falsafah siled mungkin masih hidup dalam beberapa industri, tetapi ini telah mengakibatkan ketidakcekapan di sepanjang jalan.

DevOps bertujuan untuk mengintegrasikan pasukan pembangunan dan operasi dan memupuk peralihan budaya dari cara lama bekerja dalam silo untuk bekerja seiring untuk mengurangkan kesilapan dalam kod, meningkatkan kualiti perisian, mempercepat masa penghantaran dan meningkatkan produktiviti keseluruhan. Akhirnya pengguna akhir berakhir dengan produk berkualiti tinggi tepat pada masanya.

Menjadi Yayasan Linux Bersertifikat IT Associate (LFCA)