LFCA Pelajari Konsep Dasar DevOps - Bagian 21

LFCA Pelajari Konsep Dasar DevOps - Bagian 21

Devop telah menjadi topik yang sedang tren untuk sementara waktu sekarang dan telah berhasil menarik perhatian para profesional dan perusahaan teknologi yang sama. Sebagai seorang pemula, itu bisa menantang membungkus kepala Anda di sekitar konsep Devop, Dan dalam topik ini, kami akan menyempurnakan konsep dasar kata kunci internet ini.

Untuk memulai, Devop adalah portmanteau dari dua kata: Perkembangan Dan Operasi. Ini adalah serangkaian praktik dan alat yang mempromosikan kolaborasi antara tim pengembangan (Devs) dan operasi (OPS). Tujuan dari Devop adalah merampingkan siklus hidup pengembangan perangkat lunak, meminimalkan tingkat kegagalan, meningkatkan frekuensi penyebaran, dan mencapai perangkat lunak berkualitas tinggi.

Untuk mendapatkan pemahaman yang lebih baik tentang Devop Di lingkungan TI modern saat ini, mari kita mengintip bagaimana model penempatan sebelum munculnya DevOps.

Praktik TI tradisional

Sebelum Devop, Tim pengembangan dan insinyur QA menggunakan model air terjun klasik. Lanskap kerja sebagian besar dibungkam dan pengujian serta penyebaran aplikasi yang terjadi dalam isolasi lengkap. Ini mengakibatkan tumpang tindih tugas, kesenjangan, keterlambatan dalam umpan balik, dan inefisiensi lainnya yang membutuhkan waktu tambahan untuk menyelesaikan proyek. Umpan balik yang terbatas dan tertunda berarti bahwa kualitas perangkat lunak tidak diaudit secara menyeluruh sampai fase terakhir pengembangan.

Selain itu, penyebaran kode manual disebabkan oleh kesalahan manusia dan karenanya menuntut lebih banyak waktu dalam debugging aplikasi. Juga, tim yang berbeda memiliki berbagai jadwal untuk menyelesaikan tugas mereka dan tidak jarang jadwal waktu jatuh dari sinkronisasi yang mengarah ke keterlambatan lebih lanjut dalam mewujudkan produk akhir.

Masukkan DevOps

Konsep Devop dikandung sekitar tahun 2007 dan 2010 oleh dua pengembang: Andrew Shafer Dan Patrick DeBois. Sejak awal, ia telah memupuk kolaborasi yang lancar antara tim operasi dan pengembangan di setiap langkah siklus pengembangan perangkat lunak. Ini membagikan konsep -konsep baru seperti Integrasi berkelanjutan ( Ci ) & Pengiriman berkelanjutan ( CD ) dan banyak lainnya yang berkontribusi pada pengiriman perangkat lunak yang cepat.

Model dan Praktik DevOps

Devop bukan hanya tentang kolaborasi dan memiliki pola pikir yang benar untuk mencapai tujuan. Ini mencakup praktik terbaik yang bertujuan membantu memberikan kualitas dan perangkat lunak yang siap pasar dalam waktu sesingkat mungkin. Mari kita lihat beberapa praktik terbaik ini yang akan membantu Anda meningkatkan efisiensi dan pengiriman kode yang cepat.

Integrasi kontinu (CI)

Integrasi berkelanjutan adalah praktik pengembangan perangkat lunak di mana pengembang menggabungkan kode berubah menjadi satu repositori pusat. Setelah itu, tes dan bangunan otomatis dieksekusi pada kode. Tujuan integrasi berkelanjutan adalah untuk mempercepat debugging aplikasi, mengurangi waktu yang dibutuhkan untuk merilis pembaruan perangkat lunak baru, dan meningkatkan kualitas perangkat lunak.

Pengiriman Berkelanjutan (CD)

Pengiriman berkelanjutan (CD) adalah praktik lain di mana perubahan kode secara otomatis dibangun, dan digunakan untuk pengujian yang kuat. Kemudian, tes otomatis dieksekusi terhadap kode yang digunakan untuk memungkinkan pengembang mengidentifikasi dan memperbaiki bug. Biasanya, kode secara progresif mengalami beberapa lingkungan pengujian di mana melalui prosedur otomatis standar, kode mencapai tanda kualitas tertinggi.

Alat CI/CD populer termasuk Jenkins, Travis CI, Circle CI, Azure DevOps, dan AWS Code Build.

Pengujian Berkelanjutan

Tujuan pengujian berkelanjutan adalah untuk mengidentifikasi bug dan risiko potensial pada tahap awal siklus pengembangan perangkat lunak untuk meminimalkan kesalahan yang akan terwujud dalam produk akhir. Ketika kode gagal dalam tes yang kuat, biasanya dikirim kembali ke pengembang untuk revisi sebelum diteruskan ke departemen jaminan kualitas untuk evaluasi dan pengujian fungsional. Alat pengujian kontinu yang banyak digunakan termasuk Travis dan Selenium.

Pemantauan & loggin yang berkelanjutan

Seperti yang Anda harapkan, aplikasi dan infrastruktur yang mendasarinya memerlukan pemantauan berkelanjutan untuk memeriksa identitas kinerja mereka kesalahan atau cacat, dan memastikan kepatuhan terhadap berbagai standar industri. Berbagai macam metrik dipantau termasuk:

  • Memori dan pemanfaatan CPU
  • Penggunaan ruang disk
  • Pemanfaatan bandwidth
  • Interaksi pelanggan

Dengan memantau dan menganalisis data dan log yang dihasilkan oleh aplikasi, pengembang dapat dengan mudah mendapatkan wawasan tentang bagaimana fitur atau konfigurasi memengaruhi pengguna. Selain itu, mengkonfigurasi peringatan akan membantu dalam identifikasi kesalahan atau perubahan yang tidak diinginkan setiap langkah. Pada akhirnya, pemantauan berkelanjutan memastikan ketersediaan aplikasi yang tinggi dan menginspirasi keyakinan bahwa segala sesuatunya bekerja seperti yang diharapkan.

Alat pemantauan populer termasuk Prometheus, Grafana, Nagios, Zabbix, dan NetData untuk menyebutkan beberapa.

Infrastruktur sebagai kode

Disingkat sebagai IAC, Infrastruktur sebagai kode digambarkan sebagai penyebaran dan pengelolaan sumber daya seperti server virtual, & penyeimbang beban menggunakan file konfigurasi yang dapat dibaca mesin sebagai lawan dari alat konfigurasi interaktif. Ini sangat penting dalam lingkungan cloud seperti AWS di mana Anda dapat dengan mudah memutar instance komputasi dengan mendefinisikan detail instance dalam file konfigurasi dan alat pengungkit seperti Terraform untuk menggunakan sumber daya.

Misalnya, Amazon AWS menyediakan API yang memungkinkan pengguna untuk berinteraksi secara terprogram dengan platform cloud dari baris perintah. Ini memfasilitasi penyebaran sumber daya yang cepat dengan menghilangkan proses manual dan kendur. Sederhananya, IAC mendapatkan lebih banyak pekerjaan yang dilakukan dalam waktu singkat.

Layanan Mikro

Arsitektur Microservices adalah tempat aplikasi tunggal merupakan integrasi atau penggabungan berbagai layanan yang lebih kecil secara longgar. Setiap layanan berjalan secara mandiri dan berkomunikasi dengan sisa aplikasi menggunakan API berbasis HTTP. Layanan mikro dapat digunakan sebagai kelompok layanan atau satu layanan

Arsitektur Microservices sangat berbeda dari arsitektur monolitik tradisional. Dalam arsitektur tradisional, aplikasi bertingkat tunggal dan semua komponen, termasuk kode dan UI, dibundel ke dalam satu program tunggal.

Layanan microser memfasilitasi penyebaran dan pengelolaan sumber daya independen. Mereka juga memastikan ketersediaan tinggi dengan mencegah satu titik kegagalan. Saat satu aplikasi macet, sisanya akan terus berjalan.

Manfaat Model DevOps

Setelah melihat Devop praktik terbaik, mari kita fokus pada manfaat mengadopsi model DevOps.

Peningkatan efisiensi & produktivitas antar tim

Kolaborasi antara tim pengembangan & operasi diterjemahkan menjadi tanggung jawab bersama, yang pada akhirnya meningkatkan produktivitas dan mendorong keterlibatan tim.

Mengurangi peluang kegagalan produk

Kolaborasi juga memungkinkan tim untuk dengan mudah men -debug kode di setiap tahap sebelum mencapai fase akhir. Ini menghasilkan perangkat lunak berkualitas tinggi dan siap pasar.

Pengiriman Perangkat Lunak Cepat

Penyebaran aplikasi lebih efisien dan jauh lebih cepat berkat alat otomatisasi yang disediakan DevOps (seperti Ansible, Chef, dan Puppet) & Advanced Continuous Integration (CI).

Lebih banyak transparansi produk

Karena pengetahuan produk tersebar di berbagai departemen, ada tujuan dan visi yang jelas tentang produk, menerjemahkan ke pengambilan keputusan yang lebih baik di setiap tahap pengembangan

Ringkasan

Keyakinan yang sudah mendarah daging bahwa tim pengembangan dan operasi harus selamanya bekerja secara terpisah sudah lama sudah ketinggalan zaman dan cacat. Filosofi yang sedang dibungkam mungkin masih hidup di beberapa industri, tetapi ini telah mengakibatkan inefisiensi yang mencolok di sepanjang jalan.

DevOps berupaya mengintegrasikan tim pengembangan dan operasi dan menumbuhkan perubahan budaya dari cara lama bekerja di silo untuk bekerja bersama -sama untuk mengurangi kesalahan dalam kode, meningkatkan kualitas perangkat lunak, mempercepat waktu pengiriman dan meningkatkan produktivitas keseluruhan secara keseluruhan. Akhirnya pengguna akhir berakhir dengan produk berkualitas tinggi secara tepat waktu.

Menjadi Linux Foundation Certified IT Associate (LFCA)