LFCA Ketahui konsep asas menggunakan bekas - Bahagian 22
- 2894
- 909
- Dale Harris II
Dari masa ke masa, apabila permintaan untuk ujian pesat dan penggunaan aplikasi meningkat ditambah dengan kitaran perniagaan yang lebih cepat, organisasi telah dipaksa untuk berinovasi untuk bersaing dengan persekitaran perniagaan yang pantas.
Usaha untuk memodenkan aplikasi dan membina yang baru untuk membuat aliran kerja tangkas membawa kepada konsep menggunakan bekas. Teknologi kontena hampir setua dengan virtualisasi. Walau bagaimanapun, bekas tidak menyalakan kegembiraan sehingga Docker meletup ke tempat kejadian pada tahun 2013 dan menimbulkan minat yang menggembirakan di kalangan pemaju dan profesional IT lain.
Pada masa ini, semua entiti teknologi gergasi seperti Google, Amazon, Microsoft, dan topi merah untuk menyebut beberapa telah melompat pada kereta muzik.
Mengapa bekas?
Salah satu cabaran yang dihadapi pemaju adalah perbezaan dalam persekitaran pengkomputeran dalam setiap peringkat pembangunan perisian. Isu timbul apabila persekitaran perisian berbeza dari satu tahap ke seterusnya.
Contohnya, aplikasi boleh dijalankan dengan lancar pada persekitaran ujian menggunakan berjalan Python 3.6. Walau bagaimanapun, aplikasi itu bertindak pelik, mengembalikan beberapa kesilapan atau kemalangan sama sekali apabila dipindahkan ke persekitaran pengeluaran yang berjalan Python 3.9.
Bekas datang ke tempat kejadian untuk menangani cabaran ini dan memastikan aplikasi berjalan dengan pasti apabila berpindah dari satu persekitaran pengkomputeran ke seterusnya dalam setiap peringkat pembangunan perisian - dari PC pemaju sepanjang jalan ke persekitaran pengeluaran. Dan bukan sekadar persekitaran perisian yang boleh membawa ketidakkonsistenan sedemikian, tetapi juga perbezaan dalam topologi rangkaian dan dasar keselamatan.
Apa itu bekas?
A bekas adalah unit perisian terpencil yang membungkus semua kod binari, perpustakaan, executable, dependencies, dan fail konfigurasi ke dalam satu pakej sedemikian rupa sehingga aplikasi akan berjalan lancar apabila dipindahkan dari satu persekitaran pengkomputeran ke persekitaran yang lain. Ia tidak disertakan dengan imej sistem operasi yang menjadikannya ringan dan mudah mudah alih.
Imej kontena adalah pakej yang mandiri, ringan, dan boleh dilaksanakan yang menggabungkan segala yang diperlukan untuk melaksanakan aplikasi. Semasa runtime, imej kontena berubah menjadi bekas. Dalam kes Docker, Contohnya, imej Docker menjadi bekas Docker apabila dilaksanakan Enjin Docker. Docker adalah persekitaran runtime yang digunakan untuk membina aplikasi kontena.
Bekas dijalankan secara lengkap dari sistem pengendalian asas, dan aplikasi kontena akan sentiasa berjalan secara konsisten tanpa mengira persekitaran atau infrastruktur pengkomputeran. Oleh sebab itu, pemaju dapat membangunkan aplikasi dari keselesaan komputer riba ini dan mudah menggunakannya di pelayan.
Konsistensi dan kebolehpercayaan kontena yang berjalan memberikan pemaju ketenangan fikiran dalam mengetahui bahawa aplikasi mereka akan berjalan seperti yang diharapkan di mana pun mereka dikerahkan.
Bagaimana bekas berbeza dari mesin maya?
Perkara biasa yang dikongsi oleh bekas dan mesin maya ialah mereka beroperasi dalam persekitaran yang maya. Kontena, dalam erti kata, adalah satu bentuk teknologi maya. Walau bagaimanapun, bekas berbeza dari mesin maya dengan lebih banyak cara daripada satu.
Mesin maya
Mesin maya juga disebut sebagai contoh maya atau VM Pendek kata adalah emulasi pelayan fizikal atau PC. Virtualisasi adalah teknologi yang memungkinkan untuk membuat mesin maya. Konsep virtualisasi bermula pada awal tahun 1970 -an dan meletakkan asas bagi generasi pertama teknologi awan.
Dalam virtualisasi, lapisan abstraksi dibuat di atas pelayan telanjang atau perkakasan komputer. Ini memungkinkan sumber perkakasan pelayan tunggal untuk dikongsi di pelbagai mesin maya.
Perisian yang digunakan untuk membuat lapisan abstraksi dirujuk sebagai hypervisor. Hypervisor abstrak mesin maya dan OS tetamu dari perkakasan logam atau komputer sebenar. Oleh itu, mesin maya duduk di atas hypervisor yang menjadikan sumber perkakasan tersedia terima kasih kepada lapisan abstraksi.
Mesin Maya menjalankan Sistem Operasi Lengkap (OS Guest) yang bebas daripada Sistem Operasi Asas (Host OS) di mana hypervisor dipasang. OS Tetamu kemudian menyediakan platform untuk membina, menguji dan menggunakan aplikasi bersama perpustakaan dan binari mereka.
[Anda mungkin juga suka: Cara Memasang KVM di CentOS/RHEL 8]
Terdapat dua jenis hypervisors:
Jenis 1 hypervisor (hypervisor logam telanjang)
Ini Hypervisor dipasang terus pada pelayan fizikal atau perkakasan yang mendasari. Tidak ada sistem operasi yang terletak di antara hypervisor dan perkakasan komputer, oleh itu nama tag telanjang-logam Hypervisor. Ia memberikan sokongan yang sangat baik kerana sumber tidak dikongsi dengan sistem operasi tuan rumah.
Jenis 1 hypervisorKerana kecekapan mereka, hypervisors jenis 1 kebanyakannya digunakan dalam persekitaran perusahaan. Penjual hypervisor jenis 1 termasuk VMware ESXi dan Kvm.
Type 2 Hypervisor:
Ini juga dianggap sebagai hypervisor yang dihoskan. Ia dipasang di atas sistem operasi tuan rumah dan berkongsi sumber perkakasan yang mendasari dengan OS tuan rumah.
Jenis 2 hypervisorHipervisor jenis 2 sesuai untuk persekitaran pengkomputeran kecil dan kebanyakannya digunakan untuk ujian sistem operasi dan penyelidikan. Vendor Hypervisor Jenis 2 termasuk Oracle VirtualBox dan VMware Workstation Pro.
Kelemahan dengan mesin maya
Mesin maya cenderung menjadi saiz yang besar (boleh mengambil beberapa GB), lambat untuk memulakan dan menghentikan dan memakan banyak sumber sistem yang membawa kepada hang-up dan prestasi perlahan kerana sumber terhad. Oleh itu, mesin maya dianggap besar dan dikaitkan dengan kos overhead yang tinggi.
Bekas
Tidak seperti mesin maya, bekas tidak memerlukan hypervisor. Bekas duduk di atas pelayan fizikal dan sistem pengendaliannya dan berkongsi kernel yang sama seperti OS antara lain seperti perpustakaan dan binari. Bekas berganda boleh berjalan pada sistem yang sama, masing -masing menjalankan set aplikasi dan prosesnya sendiri dari yang lain. Platform kontena popular termasuk Docker dan Podman.
BekasTidak seperti mesin maya, bekas berjalan secara lengkap dari sistem operasi yang mendasari. Bekas sangat ringan - hanya beberapa megabait - mengambil ruang yang kurang, dan mesra sumber. Mereka mudah memulakan dan berhenti dan dapat mengendalikan lebih banyak aplikasi daripada mesin maya.
Faedah menggunakan bekas
Bekas menyediakan cara yang mudah untuk mereka bentuk, menguji, dan menggunakan aplikasi dari PC anda ke persekitaran pengeluaran, sama ada di premis atau awan. Berikut adalah beberapa manfaat menggunakan aplikasi kontena.
1. Modulariti yang lebih besar
Sebelum bekas, kami mempunyai model monolitik lama di mana aplikasi keseluruhan yang terdiri daripada kedua-dua komponen frontend dan backend akan dibundel ke dalam satu pakej. Bekas memungkinkan untuk memecah aplikasi ke dalam pelbagai komponen individu yang dapat berkomunikasi antara satu sama lain.
Dengan cara ini, pasukan pembangunan boleh bekerjasama di pelbagai bahagian aplikasi yang diberikan tiada pengubahsuaian utama yang dibuat berkenaan dengan bagaimana aplikasi berinteraksi antara satu sama lain.
Inilah konsep microservices berdasarkan.
2. Peningkatan produktiviti
Lebih banyak modulariti bermakna lebih banyak produktiviti kerana pemaju dapat bekerja pada komponen individu aplikasi dan kesilapan debug jauh lebih cepat daripada sebelumnya.
3. Mengurangkan kos overhead
Sebagai perbandingan dengan mesin maya dan persekitaran pengkomputeran konvensional yang lain, bekas menggunakan sumber sistem yang lebih sedikit kerana mereka tidak memasukkan sistem operasi. Ini menghalang perbelanjaan yang tidak perlu untuk mendapatkan pelayan mahal untuk membina dan menguji aplikasi.
4. Peningkatan mudah alih
Oleh kerana jejak kecil mereka, aplikasi kontena mudah digunakan untuk pelbagai persekitaran pengkomputeran / sistem operasi.
5. Kecekapan & fleksibiliti yang lebih besar
Bekas membolehkan penggunaan pantas dan penskalaan aplikasi. Mereka juga menyediakan fleksibiliti yang sangat diperlukan untuk menggunakan aplikasi dalam pelbagai persekitaran perisian.
Bagaimana bekas memberi manfaat kepada pasukan devOps?
Bekas memainkan peranan utama dalam DevOps Dan mustahil untuk membayangkan bagaimana keadaannya tanpa aplikasi kontena. Jadi, apa yang dibawa oleh bekas ke meja?
Pertama, bekas menyokong seni bina mikroservis, yang membolehkan blok bangunan keseluruhan aplikasi akan dibangunkan, dikerahkan, dan berskala secara bebas. Seperti yang disebutkan, ini menjadikan kerjasama yang lebih besar dan penggunaan aplikasi yang cepat.
Containerization juga memainkan peranan utama dalam memudahkan saluran paip CI/CD dengan menyediakan persekitaran yang terkawal dan konsisten untuk membina aplikasi. Semua perpustakaan dan kebergantungan dibungkus bersama dengan kod ke dalam satu unit untuk penggunaan lebih cepat dan lebih mudah. Aplikasi yang diuji akan menjadi perisian tepat yang akan digunakan dalam pengeluaran.
Di samping itu, bekas meningkatkan pelancaran patch dan kemas kini apabila aplikasi dibahagikan kepada pelbagai microservices., masing -masing dalam bekas yang berasingan. Bekas individu boleh diperiksa, ditambal, dan dimulakan semula tanpa mengganggu permohonan yang lain.
Kesimpulan
Mana -mana organisasi yang ingin mencapai kematangan di DevOps harus mempertimbangkan memanfaatkan kekuatan bekas untuk penyebaran tangkas dan lancar. Cabarannya terletak pada mengetahui cara mengkonfigurasi, selamat, dan lancar menggunakannya ke pelbagai persekitaran.
Menjadi Yayasan Linux Bersertifikat IT Associate (LFCA)- « Cara Menggunakan Pelabuhan Mengetuk untuk Mengamankan Perkhidmatan SSH di Linux
- Cara memasang ffmpeg di linux »