Mungkin bukan jawaban yang Anda cari, tapi tetap saja jawabannya :)
Belajar tentang buruh pelabuhan dan metode penyebarannya sebenarnya dapat dimasukkan dalam persyaratan bisnis dengan menjadikannya bagian dari lingkungan pengembangan proyek atau tim, seperti bahasa kode, sistem kontrol versi, kompiler, infrastruktur pengujian, dll - untuk bekerja di tim atau proyek yang perlu diketahui dan digunakan semua tim ini, tidak dapat "membawa milik Anda" (dalam kebanyakan kasus).
Segalanya menjadi sedikit lebih rumit jika dengan "seorang pengembang" yang Anda maksud sebenarnya adalah mayoritas atau bahkan seluruh tim pengembangan. Mendorong alat di lingkungan pengembangan tanpa benar-benar memiliki pengembang yang mendukungnya akan sangat sulit. Luangkan waktu untuk menciptakan satu pendukung seperti itu pertama dari kepemimpinan teknis tim.
Catatan: mungkin juga tidak perlu bagi masing-masing dan setiap pengembang dalam tim untuk menjadi ahli buruh pelabuhan. Resep penggunaan yang sudah ada sebelumnya yang dibungkus dengan perintah sederhana, siap-cheatsheet sering memungkinkan pengembang untuk menggunakan solusi berbasis buruh pelabuhan tanpa benar-benar mengetahui terlalu banyak tentang cara kerja bagian dalam mereka, yang bisa cukup diterima, terutama dalam tim besar. Seperti halnya dapat berkontribusi kode tanpa mengetahui semua detail tentang bagaimana produk akhir sedang dibangun.
Saya akan memberi Anda perspektif saya. Pengembang harus peduli dengan buruh pelabuhan karena ada pengembang lain yang bersedia menggunakan buruh pelabuhan dan telah membangun keahlian di dalamnya. Mereka bersedia mengambil peran sebagai insinyur DevOps bersama dengan menjadi pengembang. Jadi bagian Ops dari DevOps adalah apa yang sekarang mereka bangun dari keahlian.
Hari-hari ini, Anda akan menemukan semakin banyak orang yang dapat mengembangkan, mengatur, mengotomatisasi tes, mengotomatisasi pekerjaan dan membuat alat untuk memantau dan membawa paket lengkap ini ke dalam produksi sendiri. Ini adalah orang-orang yang mendorong buruh pelabuhan dan alat-alat lain di antara komunitas pengembang.
Selain itu, gelombang pasar adalah menuju virtualisasi, penskalaan otomatis, otomatisasi, pembelajaran mesin, dan buruh pelabuhan cocok untuk semua ini. Menjadi keharusan untuk menggunakan buruh pelabuhan. Bisnis mau membayar 2x untuk pria lajang yang mengambil semua tanggung jawab ini dan ketika ada permintaan untuk pria seperti itu, pasokan juga akan dimulai. Ini dari sudut pandang seorang karyawan-majikan.
Secara teknis, di organisasi saya telah bekerja, ada tim pengembangan dan DevOps terpisah, meskipun mereka bekerja sangat erat untuk pengiriman. Insinyur dan pengembang DevOps berbagi sebagian besar keterampilan di sini dan karenanya terkadang ada negosiasi tugas.
Minimum yang bisa dilakukan oleh pengembang adalah berbagi binari, tetapi ia perlu memahami bahwa binari akan digunakan untuk berjalan di dalam wadah buruh pelabuhan dan untuk itu ia harus memahami cara kerja buruh pelabuhan. Untuk kubes, gerombolan, mesos dll, pengembang mungkin tidak peduli apa yang sedang digunakan, tetapi dasar-dasar buruh pelabuhan harus dipahami dengan baik oleh pengembang dan pola pikir harus ada sejak awal untuk membangun aplikasi secara longgar digabungkan untuk digunakan kembali sebagai layanan mikro. Jika aplikasi dibangun dari pola pikir itu (yang membutuhkan dasar-dasar buruh pelabuhan), maka insinyur DevOps dapat mengambilnya dari sana untuk skala otomatis, mengatur, menguji, menyebarkan, dan memantau.
Juga, sebagian besar waktu tidak ada satu ukuran cocok untuk semua hal. Seorang pengembang tidak tahu dengan jelas bagaimana membangun aplikasi ramah buruh pelabuhan dan seorang insinyur DevOps dengan benar tidak mengetahui bagian internal dari proses pembuatan aplikasi. Oleh karena itu, sebagian besar waktu, organisasi lebih suka memberikan kedua tugas ini kepada orang yang sama untuk mempercepat. Jika ada hal-hal yang terpisah, maka diperlukan mekanisme umpan balik terus menerus dari tim DevOps ke tim pengembang untuk membuat aplikasi lebih futuristik dan buruh pelabuhan / cloud / penskalaan siap.
sumber
Ini bukan tentang Docker atau teknologi kontainerisasi lainnya di luar sana.
Kontainer seperti Docker, rkt, dll. Hanyalah cara mengirimkan aplikasi Anda dengan cara yang mirip dengan biner statis. Anda sedang membangun penyebaran Anda yang berisi semua yang dibutuhkan di dalamnya dan pengguna akhir tidak membutuhkan apa pun selain runtime.
Solusi ini mirip dengan JAR gemuk di Jawa, di mana semua yang Anda (secara teori) butuhkan hanyalah runtime (JRE) yang sudah diinstal sebelumnya dan semuanya Just Works ™.
Alasan mengapa pengembang perlu memahami (mereka tidak perlu belajar bagaimana mengoperasikan alat tersebut, hanya mengapa ini diperlukan) alat orkestrasi adalah bahwa ini memungkinkan Anda untuk memiliki beberapa keunggulan dibandingkan penyebaran "tradisional".
Ternak, bukan hewan peliharaan
EngineYard telah menulis artikel bagus tentang itu. Intinya adalah ketika server Anda mati, maka Anda mengangkat bahu dan menunggu saat baru akan muncul. Anda memperlakukan mereka sebagai ternak, Anda memiliki puluhan, ratusan, ribuan dari mereka berlari dan ketika seseorang turun Anda atau klien Anda seharusnya tidak pernah menyadari hal itu.
Alat orkestrasi mencapainya dengan memonitor status semua aplikasi (pod / pekerjaan, apa pun) dalam cluster, dan ketika melihat bahwa salah satu server berhenti merespons (turun) maka secara otomatis memindahkan semua aplikasi yang berjalan pada server itu di tempat lain.
Pemanfaatan sumber daya yang lebih baik
Berkat orkestrasi Anda dapat menjalankan beberapa aplikasi pada satu server dan orkestrator akan melacak sumber daya untuk Anda. Ini akan mengatur ulang aplikasi bila diperlukan.
Infrastruktur yang tidak dapat diubah
Berkat penanganan failover otomatis di orkestra Anda dapat menjalankan gambar khusus di cloud apa adanya. Ketika Anda akan membutuhkan pembaruan, Anda hanya membangun gambar baru, atur Konfigurasi Peluncuran Anda untuk menggunakan yang sekarang dan hanya roll. Semuanya akan ditangani untuk Anda:
Operasi yang lebih sederhana
TL; DR Seluruh poin bukan tentang Docker tetapi tentang orkestrasi. Docker hanyalah versi panjang dari tarball / guci lemak yang diperlukan untuk orkestrasi yang tepat.
sumber
Berikut adalah beberapa argumen dari posting blog yang diterbitkan kembali tahun 2014 dan berjudul dengan cara yang cukup sesuai dengan jawaban Anda:
Dari: https://thenewstack.io/why-you-should-care-about-docker/
sumber
Jika Anda menjalankan produksi dalam wadah buruh pelabuhan, penting agar wadah itu dibuat oleh pengembang yang sama yang telah membangun aplikasi yang menjalankannya. Siapa lagi tempat yang lebih baik untuk mengetahui ketergantungan eksternal apa yang dibutuhkan dan seterusnya ...?
Juga pipeline dapat gagal pada langkah apa pun selama CD, terutama ketika itu adalah langkah pembuatan gambar buruh pelabuhan, kadang-kadang itu adalah file yang hilang atau lib yang dibutuhkan.
Di tempat kerja kami telah memperkenalkan semua pengembang untuk buruh pelabuhan menjelaskan kepada mereka dasar-dasar untuk membangun buruh pelabuhan agar dapat melayani aplikasi mereka, juga kami membuat saluran pipa menjadi mudah sehingga seseorang hanya dapat menambahkan nama dan buruh pelabuhan dan aplikasinya akan secara otomatis dibangun di atas dorongan berikutnya terlepas dari teknologi yang menjalankannya.
Docker quickstart benar-benar merupakan perkenalan yang bagus untuk melakukannya, setelah apa yang dipandu tim devOps kepada dev dalam pilihan distro mereka (banyak dari mereka tidak tahu hal-hal seperti
alpine
).Tugas kita adalah memberi mereka akses mudah ke alat, mereka melakukan sisanya sehingga mereka dapat memperbaikinya ketika ada sesuatu yang salah. Docker benar-benar bagian dari proses pengembangan dan tim devOps memberi mereka gambar docker yang sesuai dengan kebutuhan kita dan itu cukup mudah sehingga hanya perlu beberapa menit untuk membuat aplikasi baru dan menggunakannya tanpa bantuan.
sumber
Docker mendapat banyak informasi pers dan blog yang membuat pengembang tertarik menggunakannya. Bagi sebagian orang itu adalah minat bermain dengan teknologi baru atau memahami cara kerja. Bagi orang lain itu adalah keinginan untuk menambahkan kata kunci ke resume mereka. Either way, semakin banyak pengembang tahu tentang bagaimana hal-hal bekerja dan bagaimana mereka dikerahkan semakin mereka tidak terkejut nantinya. Dari apa yang saya lihat ada sejumlah minat yang sudah ada sebelumnya yang layak dalam hal ini sehingga seharusnya tidak sulit untuk mendorongnya lebih jauh.
sumber
Nah, jika Anda pernah menggunakan VM untuk pengujian Anda mungkin ingin mencoba menggunakan wadah dan buruh pelabuhan sebenarnya adalah hal yang bagus untuk pengujian dan jauh lebih mudah untuk digunakan daripada LXC :)
sumber