1. Container
Container adalah metode virtualisasi sistem operasi-level untuk menjalankan beberapa sistem Linux terisolasi (container) pada host kontrol menggunakan kernel Linux tunggal. Berbeda dengan Virtual Machine (VM), yang menggunakan keseluruhan resource hardware yang ada pada host. Sehingga jika diibaratkan, pada Virtual Machine host langsung menjalankan double sistem operasi sekaligus.
Dengan container, sebuah program ‘diikat’ beserta library-nya, file konfigurasi, dan seluruh hal yang dibutuhkannya. Perbedaan yang signifikan dengan virtualisasi adalah container memiliki ukuran yang jauh lebih kecil karena tidak ada persyaratan untuk membangun sistem operasi yang lengkap.
2. Docker
Docker adalah layanan yang menyediakan kemampuan untuk mengemas dan menjalankan sebuah aplikasi dalam sebuah lingkungan terisolasi yang disebut dengan container. Dengan adanya isolasi dan keamanan yang memadai memungkinkan kamu untuk menjalankan banyak container di waktu yang bersamaan pada host tertentu.
Fitur-fitur docker
- Docker engine
Yang pertama ada docker engine. Ia digunakan untuk membuat image dan container.
- Docker Hub
Selanjutnya adalah docker hub. Ia adalah registry yang berisikan kumpulan dari image-image. Dengan menggunakan docker hub ini kamu dapat mengumpulkan image. Hub ini berbeda dengan docker engine yang hanya membuat image.
- Docker Compose
Docker compose ini adalah salah satu fitur unggulan yang berfungsi untuk menjalankan beberapa container atau biasa disebut multi-container sehingga dapat menghemat banyak waktu.
- Docker for Mac
Untuk fitur yang satu ini, kamu pasti sudah tau dari namanya. Fitur ini memungkinkan pengguna docker untuk menjalankan container pada sistem operasi Mac.
- Docker for Linux
Sama seperti fitur sebelumnya, fitur ini juga memungkinkan penggunanya untuk menjalankan container pada sistem operasi Linux.
- Docker for Windows
Fitur terakhir dan sudah pasti fitur yang paling banyak digunakan dibandingkan dengan fitur-fitur lainnya yaitu docker for windows. Fitur ini memungkinkan penggunanya untuk menjalankan container pada sistem operasi windows.
3. Podman
Podman adalah sebuah utilitas untuk membuat dan menjalankan container berdasarkan standard Open Container Initiative (OCI). Docker container termasuk OCI sehingga Podman dapat digunakan sebagai pengganti Docker.
Penggagas atau pencipta dari Podman adalah perusahaan open source terkemuka yaitu Red Hat. Mereka sepertinya mengembangkan Podman sebagai pengganti Docker pada layanan cloud mereka yaitu OpenShift.
Perbedaan Podman & Docker
Dua perbedaan utama antara Podman dan Docker adalah:
- Podman tidak memerlukan daemon untuk menjalankan container
- Secara default Podman tidak memerlukan akses root
Kubernetes adalah platform open source untuk mengelola kumpulan container dalam suatu cluster server. Platform ini pertama kali dikembangkan oleh Google dan kini dikelola oleh Cloud Native Computing Foundation (CNCF) sebagai platform manajemen kontainer yang cukup populer.
Kubernetes memiliki kemampuan untuk melakukan penjadwalan aplikasi, load balancing server dan peningkatan kapasitas kontainer secara otomatis. Dengan menggunakan Kubernetes, proses pengembangan aplikasi jadi lebih cepat karena proses scale up aplikasi tidak dibuat sekaligus seperti pada pendekatan monolith.
5. Openshift
Produk ini merupakan suatu platform yang stabil dan aman untuk pemasangan berbasis kontainerisasi.Jalan keluar yang diperoleh saat menggunakan produk ini adalah terdapatnya standarisasi berbasis kontainer, yang dapat mempermudah jalan kerja developer, sehingga proses pengembangan aplikasi dapat berjalan dengan efektif dan efisien, serta aplikasi dapat dipromosikan dengan cepat untuk dapat bersaing dengan aplikasi lain.
Red Hat Openshift terdiri dari 5 produk berbeda, yaitu :
- Red Hat Openshift Container Platform
Red Hat Openshift Container Platform ini Menyediakan platform bagi pengembang dan operator TI untuk membangun, mengembangkan, dan mengelola aplikasi baik untuk infrastruktur multi cloud maupun pada hybrid cloud. Maka dari itu, hal ini dapat membuat pengembangan aplikasi dapat menghemat biaya dan pengerjaannya lebih cepat.
- OKD
OKD merupakan pembagian kubernetes yang dioptimalisasikan bagi pengembangan aplikasi secara multi-tenant deployment dan secara berkepanjangan. Tools DevOps untuk mempercepat perkembangan aplikasi, mempermudah penggunaan,skalabilitas dan siklus pemeliharaan jangka panjang dengan segala ukuran tim juga ditambahkan oleh OKD.
- Red Hat OpenShift Dedicated
Red Hat OpenShift Dedicated ini dibuat untuk mempercepat pengembangan aplikasi cloud native dan aplikasi traditional bagi para tim developer. Produk ini didukung dengan teknologi Docker dan Google Kubernetes yang dibangun di Red Hat Enterprise Linux,maka dari itu produk ini terkoneksi langsung ke data center dengan aman agar menghemat biaya serta infrastruktur pada pengimplementasian pada strategy TI hybrid cloud. Produk ini merupakan platform aplikasi kontainer yang dikelola oleh Red Hat dan di hosting oleh Google Cloud Platform dan Amazon Web Service.
- Openshift Online
OpenShift Online merupakan sebuah Platform as a Service (PaaS) yang dibuat untuk pengembang dan organisasi TI agar dapat build aplikasi cloud baru secara skalabilitas dan aman dengan konfigurasi dan manajemen overhead yang minim. Dan juga, produk ini mendukung banyak bahasa programming dan framework seperti Java, Ruby, dan PHP.
- Openshift.io
OpenShift.io adalah layanan Software as a Service (SaaS) yang menawarkan pengembangan toolchain yang telah dikonfigurasi untuk pengembang agar dapat langsung membangun aplikasi yang dikontainerisasi tanpa perlu lagi menginstal dan mengkonfigurasi software.
6. Eslaticserach
Elasticsearch adalah salah satu database yang masuk ke dunia NoSQL dengan fokus di search engine database. Elasticsearch ditenagai oleh Apache Lucene yang juga merupakan search engine database yang memiliki query low level. Elasticsearch memiliki query yang lebih mudah untuk digunakan karena berbasis RESTful.
Elasticsearh memiliki konsep yang cukup unik. Dimana kita dapat mengasumsikan indeks sebagai "database", types sebagai "tabel" dan dokumen sebagai record atau row. Sedangkan mapping dapat diasumsikan sebagai "skema tabel". Di Elasticsearch tidak ada transaction dan dapat membuat struktur indeks tergantung dengan kebutuhan kita. Selain itu dapat diatur untuk menjadi sebuah sistem terdistribusi terhadap sejumlah server.
7. Grafana
Grafana merupakan aplikasi open-source untuk memonitor dan menganalisa metrics. Kita menggunakan Grafana untuk memvisualisasikan metrics menjadi grafik-grafik yang menarik untuk dilihat dan mudah dimengerti. Grafana memiliki banyak fitur yang powerful untuk memonitor dan menganalisa. Grafana juga memiliki fitur alerting yang sangat berguna. Feature ini telah banyak digunakan oleh ribuan perusahaan.
8. Ansible
Ansible merupakan salah satu automation tool dan infrastructure as a code yang tersedia secara open source. Dengan Ansible kita dapat melakukan provisioning (semacam membuat/menghapus) server, configuration management, dan melakukan deployment aplikasi pada server.
Ada 2 hal yang sangat penting jika kita ingin menggunakan sebuah Ansible, yaitu Inventory dan Playbook.
- Inventory adalah tempat di mana kita menyimpan alamat dari host/server yang akan menjadi tujuan dijalankannya konfigurasi yang telah ditentukan oleh Ansible.
- Sedangkan Playbook adalah tempat pendefinisian berbagai jenis konfigurasi yang akan dijalankan di target host.




















.png)

.png)
.png)
.png)
.png)
.png)




