10 Pertanyaan Paling Umum Yang Ditanyakan IT Admin Tentang Docker

Selama beberapa bulan terakhir di 2016 ini serangkaian kegiatan industri tradeshow, membantu untuk mengajarkan dunia tentang Docker untuk perusahaan.Beberapa orang bekerja di operasional TI (Ops), sementara yang lain bekerja dalam bagian pengembangan (Dev). Banyak juak orang yang hadir bekerja sebagai admin TI dalam tim infrastruktur perusahaan mereka. Dari waktu ke waktu, dapat mulai terlihat beberapa tren yang muncul seperti pertanyaan-pertanyaan umum tentang docker oleh para admin TI.

Dan inilah rangkuman 10 pertanyaan paling umum yang sering ditanyakan oleh para Admin TI mengenai Docker.

10 Pertanyaan Paling Umum Yang Ditanyakan Admin TI  Tentang Docker

1. Apa Sebenarnya Docker ? Sesuatu tenang “Aplikasi Kontainer” bukan ?

Docker adalah sebuah platform terbuka yang digunakan baik oleh tim operasional TI dan tim Developer untuk membangun sebuah apikasi, mendistribusikan dan menjalankan aplikasi mereka, memberi kelincahan, portabilitas dan kontrol yang masing-masing tim butukan di seluruh rantai pasokan perangkat lunak. Docker menyediakan sebuah wadah kontainer standar untuk mengemas aplikasi, dengan segala sesuatu yang dibutukan aplikasi agar dapat berjalan. Standardisasi ini memungkinkan tim untuk mengemas aplikasi dalam container dan menjalankannya dalam lingkungan apapun (multi-platform), infrastruktur apapun dan menggunakan bahasa pemrograman apapun.

2. Apakah Kontainer Docker ? dan bagaimana dapat berbeda dengan VM ? Apakah kontainerisasi ini menggantikan infrastruktur virtual ?

Kontenerisasi sangat berbeda dari virtualisasi. Dimulai dengan mesin Docker, alat yang menciptakan dan menjalankan 1 kontainer atau lebih, dan Docker menginstal perangkat lunak pada setiap host fisik, virtual atau cloud dengan OS yang kompatibel. Kontainerisasi memanfaatkan kernel dalam sistem operasi host untuk menjalankan beberapa sistem file root. Ini disebut sebagai sistem file root, “kontainer.” Masing-masing bagian kontainer kernel berada dalam host OS, yang memungkinkan Anda untuk menjalankan beberapa kontainer Docker pada host yang sama. Tidak seperti VM, kontainer tidak memiliki OS di dalamnya. Mereka hanya berbagi kernel yang mendasari dengan wadah lainnya. Setiap kontainer berjalan pada sebuah host yang benar-benar terisolasi sehingga aplikasi yang berjalan pada host yang sama tidak menyadari satu sama lain (Anda dapat menggunakan Jaringan Docker untuk menciptakan jaringan overlay multi-host yang memungkinkan kontainer berjalan pada host untuk berbicara satu sama lain).

Seperti pada gambar dibawah ini, dimana sistem kontainerisasi di sebelan kiri dan virtualisasi disebelah kanan. Perhatikan bagaimana containerization (kiri), tidak seperti virtualisasi (kanan) tidak memerlukan hypervisor atau beberapa OS. Disinilah efisiensi Docker dapat terlihat, baik secara teknis maupun secara ekonomis.

docker hemat OS tidak seperti VM (pertanyaan admin TI)

Kontainer Docker dan sistem VM tidak saling eksklusif, sehingga tidak ada kontainer yang diperlukan untuk mengganti VM. Kontainer Docker benar-benar dapat dijalankan dalam VM. Hal ini memungkinkan tim untuk mengkontainerisasi tiap laynan dan menjalankan beberapa kontainer Docker per VM.

docker dapat berjalan pada VM

3. Lantas, Apa Manfaatnya Menggunakan Docker ?

Sebetulnya kami telah membahas pada kesempatan yang lalu mengenai keunggulan docker, namun akan kami tambahkan lagi sedikit disini agar semakin jelas.

Dengan menggunakan docker pada lingkungan mereka, tim TI perusahaan mendapat manfat platfrom Containers-as-a-Service (CAAS). CAAS memberikan kelincahan dan kecepatan pada tim pengembangan dan tim operasi, portabilitas dan kontrol dalam lingkungan mereka. Pengembang senang dengan Docker karena memberikan mereka kemampuan untuk cepat membangun aplikasi dan mendistribusikannya. Karena kontainer Docker yang portabel dapat berjalan dalam lingkungan apapun (dengan Mesin Docker diinstal pada perangkat fisik, virtual host atau cloud), pengembang dapat mudahnya berpindah dari pengembangan, tes, pementasan dan produksi, tanpa harus mengulang pembuatan kode. Ini mempercepat siklus hidup aplikasi dan memungkinkan mereka untuk merilis aplikasi 13x lebih sering dari sebelumnya. Kontainer Docker juga membuat kemudahan bagi pengembang untuk debug aplikasi, membuat update image dan dengan cepat mendistribusikan versi terbaru dari aplikasi.

Tim Operasional IT dapat mengelola dan mengamankan lingkungan mereka sementara memungkinkan pengembang untuk membangun aplikasi dan mengirmakannya dengan cara self-service. Platform Docker CAAS didukung oleh Docker, menyebarkan secara lokal dan secara penuh dengan fitur keamanan perusahaan seperti kontrol akses berbasis peran, integrasi dengan LDAP / AD, penandatanganan image dan banyak lagi.

Selain itu, tim Ops IT memiliki kemampuan untuk mengelola menyebarkan dan mengukur aplikasi docker mereka di lingkungan apapun. Misalnya, portabilitas kontainer Docker memungkinkan tim untuk bermigrasi beban kerja yang berjalan di AWS ke Azure, tanpa harus recode dan tanpa downtime. Tim juga dapat bermigrasi beban kerja dari lingkungan cloud ke datacenter fisik mereka, dan sebaliknya. Hal ini memungkinkan tim untuk dapat memanfaatkan infrastruktur mana yang terbaik untuk kebutuhan bisnis mereka, bukannya terkunci ke dalam satu jenis infrastruktur tertentu.

Sifat kontainer Docker yang ringan dibandingkan dengan alat-alat terdagulu seperti virtualisasi, dikombinasikan dengan kemampuan untuk kontainer Docker untuk menjalankan dalam VM, yang memungkinkan tim untuk mengoptimalkan infrastruktur mereka 20X lipat, dan menghemat uang dalam proses operasional sehari-hari.

4. Dari sudut pandang infrastruktur, apa yang di butuhkan dari Docker? Apakah Docker merupakan hardware yang berjalan di datacenter ?

Mesn Docker adalah perangkat lunak yang diinstal pada host (storage-server, VM atau public cloud) dan merupakan satu-satunya “infrastruktur Docker” yang harus ada. Alat ini menciptakan, berjalan dan mengelola kontainter Docker. Jadi sebenarnya, sama sekali tidak ada instalasi hardware yang diperlukan. Mesin Docker itu sendiri sangat ringan, beratnya sekitar 80 MB Total.

5. Apa sebenarnya yang dimaksun dengan “Dockerized node”? Apakah hal itu berada di lokal atau di cloud ?

Node Docker adalah apa saja seperti server fisik, VM atau cloud publik yang terinstal Mesin Docker didalamnya. Docker dapat mengelola node yang ada baik di lokal serta di cloud. Secara lokal, artiya docker dapat di install di server data center anda atau di pusat colocation center langganan anda.

6. Apakah kontainer Docker mengemasi seluruh OS dan membuatnya lebih mudah untuk disebarkan?

Kontainer Docker tidak mengemas OS. Docker mengemas aplikasi dengan segala sesuatu yang perlu dijalankan oleh aplikasi itu. Mesin ini dipasang di atas OS yang berjalan pada sebuah host. Kontainer berbagi kernel OS yang memungkinkan sebuah host untuk menjalankan beberapa kontainer.

7. OS apa saja yang dapat dijalankan dengan mesin Docker?

Mesin Docker berjalan pada semua versi Linux modern. Docker juga menyediakan dukungan secara komersial untuk Ubuntu, CentOS, OpenSUSE, RHEL. Ada juga preview teknis Docker yang berjalan pada Windows Server 2016.

8. Bagaimana Docker membantu pengelolaan infrastruktur saya? Apakah saya harus kontainerisasi semua infrastruktur saya atau bagaimana?

Fokus Docker tidak hanya pada pengelolaan infrastruktur. Platform, yang merupakan infrastruktur agnostik, mengelola aplikasi Anda dan membantu memastikan bahwa mereka dapat berjalan lancar, terlepas dari jenis infrastruktur. Hal ini memberikan perusahaan Anda kelincahan, portabilitas dan kontrol yang Anda butuhkan. Tim Anda bertanggung jawab untuk mengelola infrastruktur yang sebenarnya.

9. Berapa banyak kontainer yang dapat dijalankan per host?

Sejauh jumlah kontainer yang dapat dijalankan, ini benar-benar tergantung pada lingkungan Anda. Ukuran aplikasi Anda serta jumlah sumber daya yang tersedia (seperti CPU) semua akan mempengaruhi jumlah kontainer yang dapat dijalankan di lingkungan Anda. Kontainer tidak dapat membuat CPU baru dari awal. Mereka, bagaimanapun, memberikan cara yang lebih efisien memanfaatkan sumber daya Anda. Kontainer itu sendiri sangat ringan (ingat, bersama OS vs OS individu per kontainer) dan hanya berlangsung selama proses mereka berjalan. infrastruktur dapat anda rubah sesuai dengan kebutuhan anda.

10. Apa yang harus saya lakukan untuk mulai menggnakan Docker ?

Cara terbaik untuk memulai adalah dengan men-download Docker untuk Mac atau Docker Windows. Ini adalah instalasi asli Docker pada perangkat Mac atau Windows. Pengembang akan mengambil aplikasi mereka dan menciptakan Dockerfile. Dockerfile adalah di mana semua konfigurasi aplikasi ditentukan. Ini pada dasarnya adalah cetak biru untuk Image Docker. Image adalah snapshot dari aplikasi Anda dan apa yang Mesin Docker lihat.

Disamping itu, untuk monitoring, Docker sangat berguna bagi para admin TI. Baik untuk monitoring infrastruktur perangkat data center maupun monitoring aplikasi yang sedang berjalan. Sehinga para admin TI dapat mengenali hal rutin dan menerapkan aturan otomatisasi.

Demikian dari 10 pertanyataan yang paling sering diajukan oleh para admin TI mengenai Docker. Transformasi sistem IT anda ke Docker tidak harus menghapus sistem yang ada.

Apa itu DevOps ?

Arti DevOps

arti devops

DevOps adalah pengembangan perangkat lunak dan metode pengiriman aplikasi yang mengambil pendekatan kolaboratif dan terpadu antara bagian pengembangan aplikasi (Dev) dan bagian operasi aplikasi (Ops). Tujuan dari DevOps adalah untuk membangun atau mengempangkan aplikasi secara lebih cepat. Dengan frekuensi meningkat dan dengan tingkat kegagalan yang lebih rendah. Sebetulnya memang tidak ada definisi atau arti DevOps secara baku.

Pada proses pembangunan dan pengembangan dalam menyediakan kerangka kerja untuk pengiriman perangkat lunak lebih cepat, pendekatan yang sama dapat digunakan melalui proses pengiriman aplikasi lengkap. Dengan model DevOps, Teknologi seperti virtualisasi dan otomatisasi data center memungkinkan pengembangan dan pengiriman aplikasi untuk digunakan bersamaan tanpa mengganggu operasional bisnis sehari-hari.

Dukungan upaya DevOps termasuk wide-API dan platform terintegrasi yang mempermudah otomatisasi pengiriman aplikasi dalam pengembangan, pengujian dan saat digunakan untuk operasional. DevOps merupakan cara pengembangan software terbaru, dimana perbedaan lingkungan antara pihak pengembang dan pengguna (operasional IT di perusahaan client) dapat diatasi.

Sebelum pendekatan DevOps, sering terjadi “program ini berjalan mulus kok di kami” menurut pihak pengembang. Dengan adanya DevOps, pengembang dan pihak operasional mendapatkan pengalaman yang sama. Dan mereka dapat berkomunikasi dan berkolaborasi lebih lancar secara simultan.

DevOps menyediakan solusi ideal untuk lingkungan pengembangan perangkat lunak berkelanjuta, terutama yang seringmerilis update software, seperti Flickr. Dorongan awal untuk DevOps berasal dari kebutuhan untuk mengintegrasikan operasi untuk membuat pengembangan perangkat lunak lebih efisien dan berkualitas tinggi.

Bagaimana Docker bisa membantu kita dalam DevOps?

Sekarang para pengembang dapat memaketkan seluruh runtime dan library yang dibutuhkan dalam pembangunan atau pengembangan aplikasi, pengujian, eksekusi aplikasi lebih efisien, memberikan standar yang jelas, dan dapat lebih memastikan program dapat berjalan mulus pada lingkungan multi platform sepanjang mendukung Docker.

Dokcer dapat mendukung pendekatan DevOps dengan memberikan fasilitas berkolaborasi antara pengembang dengan pihak operasional, sehingga mempercepat proses penyelesaian suatu pengembangan. Disamping itu, sistem kontenerisasi Docker sebagai platform yang efisien dapat menghemat waktu dan biaya secara signifikan.

DevOps muncul dari kesadaran bahwa infrastruktur tidak hanya mendukung kemampuan produksi, tetapi juga untuk pembangunan berkelanjutan. Idealnya, DevOps harus ada dalam satu lingkungan yang digabung dan mengatur konsep. Sebagai contoh, jika kita menulis perangkat lunak dalam lingkungan virtual, kita dapat meyakinkan bahwa perangkat lunak kita telah dapat digunakan dan akan mulus digunakan di lingkungan itu. DevOps meyakinkan kita bahwa tim operasi tetap terlibat di seluruh siklus hidup pengembangan perangkat lunak untuk memastikan kelancaran proses, melalui transisi dan penyebaran yang efisien. Sama seperti masalah keamanan yang tidak dapat diabaikan dan kemudian berhasil diatasi pada akhir proyek, hal yang sama berlaku untuk kesuksesan penyebaran dan pemeliharaan aplikasi.

Keunggulan Docker untuk DevOps

Sesuai moto mereka: Build, Ships and Run yang merupakan 3 hal utama yang dikedepankan Docker.

  • Build, Docker memungkinkan untuk menulis aplikasi dari microservices, tanpa khawatir tentang inkonsistensi antara pembangunan dan lingkungan produksi, dan tanpa mengunci ke platform atau bahasa.
  • Ship, Docker memungkinkan untuk merancang seluruh siklus pengembangan aplikasi, pengujian, dan distribusi, dan mengelolanya dengan antarmuka pengguna yang konsisten.
  • Run, Docker menawarkan kemampuan untuk menyebarkan layanan scalable yang aman dan andal di berbagai platform.

Docker untuk Integrasi Berkesinambungan

eBay telah berfokus menggabungkan Docker ke dalam proses integrasi berkesinambungan mereka untuk membakukan penyebaran di jaringan server terdistribusi yang dijalankan sebagai satu cluster. Mereka mengisolasi dependensi aplikasi dalam wadah untuk mengatasi masalah masing-masing server yang memiliki versi software yang berbeda, ketergantungan aplikasi, dan perangkat keras khusus. Ini berarti host OS tidak perlu sama dengan OS kontainer, dan akhir-tujuan mereka adalah untuk memiliki perangkat keras dan perangkat lunak yang berbeda sistem yang berjalan sebagai Mesos cluster.

Pengguna Docker di Indonesia

Terutama pada konsultan IT di Indonesia atau jasa managed services. Docker sangat berguna dalam pengembangan, pemantauan dan pengelolaan terhadap apikasi dan infrastruktur client mereka. Dengan menggunakan Docker tentunya pendekatan kolaborasi pada DevOps dapat dilakukan, sehingga waktu penyelesaian per proyek atau kasus dapat lebih cepat selesai.