Permasalahan ketergantungan timbul
karena shared package dan library dimana beberapa paket lain
memiliki dependensi tetapi tergantung pada perbedaan dan versi yang tidak
kompatibel dari sebuah shared packages.
Jika shared package atau library hanya bisa diinstall menjadi
satu versi, pengguna atau administrator akan perlu untuk mengatasi permasalahan
yang didapat dari versi lama/baru dari ketergantungan paket.
Permasalahan umum bagi developer adalah sulitnya mengelola
semua dependency aplikasi dalam
sebuah cara otomasi yang sederhana. Hal ini merupakan bentuk dari dependency hell tersebut diatas.
Contoh permasalahan dependency hell yang disebutkan oleh
developer Docker ada 3 yaitu Cross-platform
dependencies, conflicting
dependencies dan Custom dependencies.
Cross-Platform Dependencies
Aplikasi modern seringkali
bergantung pada kombinasi sistem library
dan binary, paket bahasa yang
spesifik, modul framework spesifik, komponen internal yang dikembangkan untuk
projek lain, dan lain-lain. Dependencies tersebut
hidup pada dunia yang berbeda dan memerlukan alat yang berbeda, alat tersebut
biasanya tidak bekerja dengan baik antara satu dan lainnya, membutuhkan
integrasi perubahan yang janggal.
Lintas
platform (cross platform) adalah istilah teknologi
informasi mengenai sebuah pernagkat lunak yang dapat digunakan
di beberapa sistem informasi yang berbeda seperti mikrosoft windows,
Linux, Mac dan lain sebagainya. Umumnya perangkat lunak yang memiliki
kemampuan lintas platform adalah
perangkat lunak bebas.
Contoh perangkat lunak yang memiliki
kemampuan lintas platform ini antara
lain:
·
Apache
HTTP server
·
MySQL
·
PHP
Conflicting Dependencies
Aplikasi yang berbeda akan
bergantung pada versi yang berbeda dalam satu dependency. mempaketkan alat mengatasi situasi tersebut dengan
berbagai tingkat kemudahan, namun ke semua itu mengatasinya dengan berbeda dan
cara yang tidak kompatibel, yang lagi-lagi memaksa pengembang melakukan kerja
ekstra.
Custom Dependencies
Seorang developer mungkin perlu menyiapkan sebuah versi
kostum dari ketergantungan aplikasinya. Beberapa sistem pemaketan bisa
mengatasi versi kostum dari sebuah dependency,
namun yang lainnya tidak bisa dan mengatasi secara berbeda.
3 jenis Dependency Hell (Masalah ketergantungan)
Reviewed by Husni Mubarok
on
10.45
Rating:
Tidak ada komentar:
Terima kasih telah Membaca Blog saya , silahkan tinggalkan komentar..