LFCA Pelajari konsep dasar menggunakan wadah - Bagian 22

LFCA Pelajari konsep dasar menggunakan wadah - Bagian 22

Seiring waktu, karena permintaan untuk pengujian yang cepat dan penyebaran aplikasi tumbuh ditambah dengan siklus bisnis yang lebih cepat, organisasi terpaksa berinovasi untuk mengimbangi lingkungan bisnis yang serba cepat.

Pencarian untuk memodernisasi aplikasi dan membangun yang baru untuk membuat alur kerja yang gesit mengarah pada konsep penggunaan wadah. Teknologi kontainerisasi hampir setua virtualisasi. Namun, wadah tidak banyak memicu kegembiraan sampai Buruh pelabuhan meledak ke tempat kejadian pada tahun 2013 dan membangkitkan minat yang hiruk -pikuk di antara pengembang dan profesional TI lainnya.

Saat ini, semua entitas teknologi raksasa seperti Google, Amazon, Microsoft, Dan topi merah Untuk menyebutkan beberapa telah melompat pada kereta musik.

Mengapa wadah?

Salah satu tantangan yang dihadapi pengembang adalah perbedaan dalam lingkungan komputasi di setiap tahap pengembangan perangkat lunak. Masalah muncul ketika lingkungan perangkat lunak berbeda dari satu tahap ke tahap berikutnya.

Misalnya, aplikasi dapat berjalan dengan mulus di lingkungan pengujian menggunakan berlari Python 3.6. Namun, aplikasi berperilaku aneh, mengembalikan beberapa kesalahan atau macet sama sekali saat diangkut ke lingkungan produksi yang berjalan Python 3.9.

Kontainer datang ke tempat kejadian untuk mengatasi tantangan ini dan memastikan bahwa aplikasi berjalan dengan andal saat dipindahkan dari satu lingkungan komputasi ke yang berikutnya dalam setiap tahap pengembangan perangkat lunak - dari PC pengembang sampai ke lingkungan produksi. Dan bukan hanya lingkungan perangkat lunak yang dapat menyebabkan ketidakkonsistenan seperti itu, tetapi juga perbedaan dalam topologi jaringan dan kebijakan keamanan.

Apa wadah?

A wadah adalah unit perangkat lunak yang terisolasi yang mengemas semua kode biner, pustaka, executable, dependensi, dan file konfigurasi ke dalam satu paket sedemikian rupa sehingga aplikasi akan berjalan dengan lancar saat porting dari satu lingkungan komputasi ke lingkungan lain ke yang lain. Itu tidak datang dengan gambar sistem operasi yang membuatnya ringan dan mudah portabel.

Gambar wadah adalah paket mandiri, ringan, dan dapat dieksekusi yang mengikat segala yang diperlukan untuk menjalankan aplikasi. Saat runtime, gambar wadah berubah menjadi wadah. Dalam kasus Buruh pelabuhan, Misalnya, gambar Docker menjadi wadah Docker saat dieksekusi Mesin Docker. Buruh pelabuhan adalah lingkungan runtime yang digunakan untuk membangun aplikasi containered.

Kontainer dijalankan dalam isolasi lengkap dari sistem operasi yang mendasarinya, dan aplikasi yang dimasukkan akan selalu berjalan secara konsisten terlepas dari lingkungan komputasi atau infrastruktur. Karena alasan inilah pengembang dapat mengembangkan aplikasi dari kenyamanan laptop ini dan dengan mudah menggunakannya di server.

Konsistensi dan keandalan dalam menjalankan wadah memberikan ketenangan pikiran kepada pengembang dalam mengetahui bahwa aplikasi mereka akan berjalan seperti yang diharapkan di mana pun mereka dikerahkan.

Bagaimana wadah berbeda dari mesin virtual?

Suatu hal umum yang dibagikan oleh wadah dan mesin virtual adalah bahwa mereka beroperasi di lingkungan tervirtualisasi. Kontainerisasi, dalam arti tertentu, adalah bentuk teknologi tervirtualisasi. Namun, wadah berbeda dari mesin virtual dalam lebih dari satu cara.

Mesin virtual

Mesin virtual juga disebut sebagai instance virtual atau Vm Singkatnya adalah emulasi server fisik atau PC. Virtualisasi adalah teknologi yang memungkinkan untuk membuat mesin virtual. Konsep virtualisasi berasal dari awal 1970 -an dan meletakkan dasar bagi generasi pertama teknologi cloud.

Dalam virtualisasi, lapisan abstraksi dibuat di atas server telanjang atau perangkat keras komputer. Ini memungkinkan sumber daya perangkat keras dari server tunggal untuk dibagikan di beberapa mesin virtual.

Perangkat lunak yang digunakan untuk membuat lapisan abstraksi disebut sebagai hypervisor. Hypervisor mengabstraksi mesin virtual dan OS tamu dari logam telanjang atau perangkat keras komputer yang sebenarnya. Dengan demikian, mesin virtual berada di atas hypervisor yang membuat sumber daya perangkat keras tersedia berkat lapisan abstraksi.

Mesin virtual menjalankan sistem operasi lengkap (OS tamu) yang tidak tergantung pada sistem operasi yang mendasarinya (OS host) di mana hypervisor diinstal. OS tamu kemudian menyediakan platform untuk membangun, menguji, dan menggunakan aplikasi di samping perpustakaan dan binari mereka.

[Anda mungkin juga suka: cara menginstal KVM di CentOS/RHEL 8]

Ada dua jenis hypervisor:

Hypervisor tipe 1 (hypervisor logam telanjang)

Ini hypervisor diinstal langsung di server fisik atau perangkat keras yang mendasarinya. Tidak ada sistem operasi yang berada di antara hypervisor dan perangkat keras komputer, oleh karena itu nama tag Bare-Metal hypervisor. Ini memberikan dukungan yang sangat baik karena sumber daya tidak dibagikan dengan sistem operasi host.

Hypervisor tipe 1

Karena efisiensinya, hypervisor tipe 1 sebagian besar digunakan di lingkungan perusahaan. Vendor hypervisor tipe 1 termasuk Vmware esxi Dan Kvm.

Hypervisor Tipe 2:

Ini juga dianggap sebagai hypervisor yang di -host. Ini diinstal di atas sistem operasi host dan membagikan sumber daya perangkat keras yang mendasarinya dengan OS host.

Hypervisor tipe 2

Hypervisor tipe 2 sangat ideal untuk lingkungan komputasi kecil dan sebagian besar digunakan untuk menguji sistem operasi dan penelitian. Vendor Hypervisor Tipe 2 termasuk Oracle VirtualBox dan VMware Workstation Pro.

Kelemahan dengan mesin virtual

Mesin virtual cenderung berukuran besar (dapat memakan beberapa GB), lambat untuk memulai dan berhenti dan melahap banyak sumber daya sistem yang mengarah ke hang-up dan kinerja lambat karena sumber daya yang terbatas. Dengan demikian, mesin virtual dianggap besar dan dikaitkan dengan biaya overhead yang tinggi.

Wadah

Tidak seperti mesin virtual, wadah tidak memerlukan hypervisor. Wadah duduk di atas server fisik dan sistem operasinya dan berbagi kernel yang sama dengan OS di antara hal -hal lain seperti perpustakaan dan binari. Beberapa wadah dapat berjalan pada sistem yang sama, masing -masing menjalankan rangkaian aplikasi dan prosesnya sendiri dari yang lain. Platform kontainer populer termasuk Buruh pelabuhan dan podman.

Wadah

Tidak seperti mesin virtual, wadah berjalan dalam isolasi lengkap dari sistem operasi yang mendasarinya. Kontainer sangat ringan - hanya beberapa megabyte - mengambil lebih sedikit ruang, dan ramah sumber daya. Mereka mudah untuk memulai dan berhenti dan dapat menangani lebih banyak aplikasi daripada mesin virtual.

Manfaat menggunakan wadah

Wadah menyediakan cara yang nyaman untuk merancang, menguji, dan menggunakan aplikasi dari PC Anda langsung ke lingkungan produksi, baik di premis atau cloud. Berikut adalah beberapa manfaat dari menggunakan aplikasi yang dikemas.

1. Modularitas yang lebih besar

Sebelum wadah, kami memiliki model monolitik kuno di mana seluruh aplikasi yang terdiri dari komponen frontend dan backend akan dibundel ke dalam satu paket tunggal. Wadah memungkinkan untuk membagi aplikasi menjadi beberapa komponen individu yang dapat berkomunikasi satu sama lain.

Dengan cara ini, tim pengembangan dapat berkolaborasi di berbagai bagian aplikasi yang tidak disediakan tidak ada modifikasi besar yang dibuat sehubungan dengan bagaimana aplikasi berinteraksi satu sama lain.

Inilah yang menjadi konsep layanan microser.

2. Peningkatan produktivitas

Lebih banyak modularitas berarti lebih banyak produktivitas karena pengembang dapat bekerja pada komponen individu dari aplikasi dan kesalahan debug lebih cepat dari sebelumnya.

3. Mengurangi biaya overhead

Dibandingkan dengan mesin virtual dan lingkungan komputasi konvensional lainnya, wadah menggunakan lebih sedikit sumber daya sistem karena mereka tidak termasuk sistem operasi. Ini menghindari pengeluaran yang tidak perlu untuk pengadaan server mahal untuk membangun dan menguji aplikasi.

4. Peningkatan portabilitas

Karena jejak kecilnya, aplikasi yang dimasukkan dengan mudah digunakan ke beberapa lingkungan komputasi / sistem operasi.

5. Efisiensi & fleksibilitas yang lebih besar

Wadah memungkinkan penyebaran dan penskalaan aplikasi yang cepat. Mereka juga memberikan fleksibilitas yang sangat dibutuhkan untuk menggunakan aplikasi di beberapa lingkungan perangkat lunak.

Bagaimana wadah menguntungkan tim DevOps?

Wadah memainkan peran penting dalam Devop Dan tidak mungkin membayangkan bagaimana situasinya tanpa aplikasi yang dikemas. Jadi, apa yang dibawa oleh wadah ke meja?

Pertama, wadah mendukung arsitektur layanan mikro, memungkinkan blok bangunan dari seluruh aplikasi untuk dikembangkan, digunakan, dan diskalakan secara mandiri. Seperti yang disebutkan, ini membuat kolaborasi yang lebih besar dan penyebaran aplikasi yang cepat.

Kontainerisasi juga memainkan peran utama dalam memfasilitasi jaringan pipa CI/CD dengan menyediakan lingkungan yang terkontrol dan konsisten untuk membangun aplikasi. Semua perpustakaan dan dependensi dikemas bersama dengan kode menjadi satu unit tunggal untuk penyebaran yang lebih cepat dan lebih mudah. Aplikasi yang diuji akan menjadi perangkat lunak yang tepat yang akan digunakan dalam produksi.

Selain itu, wadah meningkatkan peluncuran tambalan dan pembaruan saat aplikasi dibagi menjadi beberapa layanan mikro., masing -masing dalam wadah terpisah. Masing -masing wadah dapat diperiksa, ditambal, dan dimulai ulang tanpa mengganggu sisa aplikasi.

Kesimpulan

Organisasi mana pun yang ingin mencapai kedewasaan Devop harus mempertimbangkan memanfaatkan kekuatan kontainer untuk penyebaran yang gesit dan mulus. Tantangannya terletak pada mengetahui cara mengkonfigurasi, mengamankan, dan menggunakannya ke berbagai lingkungan dengan mulus.

Menjadi Linux Foundation Certified IT Associate (LFCA)