Service Application di Linux

     Halo temen - temen, ketemu lagi sama aku Hadi di blog aku sendiri. Di kesempatan kali ini Hadi bakalan ngasi tau beberapa hal lagi mengenai service application yang ada di Linux, tanpa lama - lama lagi langsung aja kita ke pembahasannya.

1. Container

    Yang pertama ada Container, Container adalah sebuah virtualisasi OS yang dimana dapat membungkus suatu aplikasi beserta dependency dan environment-nya. Jika dibandingkan dengan VM atau Virtual Machine, secara pengaturan container lebih mudah. Karena, konsep berbagi resource hardware dari container lebih fleksibel bila dibandingkan dengan VM. Faktor probabilitas juga menjadi kelebihan yang dimiliki oleh container. Para developer bisa membagikan container dengan format ISO image ke setiap perangkat yang dia pakai ataupun ke developer lain. 

Platform Container

  • Linux Containers (LXC), ini adalah virtualisasi OS yang memungkinkan kita menjalankan beberapa sistem Linux di dalam satu komputer secara bersamaan.

  • Docker, pada awalnya project pertamanya ialah membangun single app LXC container, mengenalkan beberapa perubahan pada LXC sehingga lebih portabel dan fleksibel.
Keunggulan Container

  • Fleksibel dan Scalable
  • Mengurangi resource yang dibutuhkan
  • Waktu yang dibutuhkan untuk mengemas dan memasang app lebih cepat.
2. Docker

    Docker adalah platform container atau lingkup isolasi, yang nantinya container ini bisa digunakan untuk menjalankan suatu aplikasi atau layanan dengan lancar di sistem yang berbeda. Dengan adanya container virtual ini, aplikasi bisa dijalankan secara terisolasi di environment yang kompleks sehingga tidak menimbulkan masalah pada environment lainnya.

Cara Kerja Docker

    Cara kerja Docker adalah dengan menciptakan sebuah ruang isolasi untuk meluncurkan aplikasi atau layanan. Ruang isolasi ini disebut Container, jadi seperti wadah yang menampung suatu benda agar tidak tumpah ke area yang lain.

Arsitektur Docker

    Arsitektur Docker terdiri dari empat komponen yang utama, yaitu :

  • Client Docker - yang berfungsi untuk mengelola, membuat, dan menjalankan aplikasi dalam container.

  • Server Docker - juga disebut daemon Docker. Server Docker menunggu permintaan REST API yang dibuat oleh client Docker serta mengelola image dan container.

  • Image Docker - komponen yang memerintahkan server Docker terkait persyaratan tentang cara container Docker dibuat. Anda juga bisa membuat custom image, yaitu dengan membuat Dockerfile dan meneruskannya ke server. 

  • Registry Docker - aplikasi sisi server open-source yang digunakan untuk menghosting dan mendistribusikan image Docker. Registry sangat berguna untuk menyimpan image secara lokal dan mengelolanya sepenuhnya.

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. Podman juga memiliki command-line interface (CLI) yang kompatibel dengan docker serta pengintegrasian yang lebih baik dengan systemd. Podman memudahkan para developer untuk mencari, menjalankan, dan membagikan container.

4. Kubernetes

    Kubernetes adalah platform open source untuk mengelola kumpulan kontainer 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. Kontainer sendiri adalah environment dengan sumber daya, CPU, dan sistem file untuk satu aplikasi. Jadi, aplikasi tersebut akan memiliki sumber daya sendiri. Keuntungannya, aplikasi jadi tidak mudah mengalami downtime.

Keunggulan Kubernetes

  • Service Discovery dan Load Balancing, fitur service discovery memudahkan untuk melacak kontainer dengan otomatis.
  • Storage Orchestration, kubernetes memungkinkan anda melakukan mount pada media penyimpanan pilihan anda seperti, storage lokal atau yang berbasis cloud seperti AWS dan lainnya.
  • Automated Rollouts and Rollbacks, Fitur automated rollouts dan rollback sangat penting untuk membantu Anda terkait deployment. Pada Kubernetes, deployment bisa menggunakan file YAML yang di dalamnya nanti akan berisi ReplicaSet.
5. Openshift

    Red Hat Openshift Container Platform adalah software container yang dikembangkan oleh Red Hat yang dapat memudahkan konsumen enterprise dan mitra kerja dalam memperoleh teknologi Open Source. 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
  • OKD
  • Red Hat Openshift Dedicated
  • Openshift Online
  • Openshift.io
6. Elasticsearch

    Elasticsearch merupakan mesin pencarian dan analitik terdistribusi yang dibangun di Apache Lucene. Sejak diluncurkan pada tahun 2010, Elasticsearch telah dengan cepat menjadi mesin pencari paling populer dan biasa digunakan untuk analisis log, pencarian teks lengkap, inteligensi keamanan, analisis bisnis, dan kasus penggunaan inteligensi operasional.

Cara Kerja Elasticsearch

    Elasticsearch secara otomatis menyimpan dokumen asli dan menambahkan referensi yang mudah dicari pada dokumen dalam indeks klaster. Anda kemudian dapat mencari dan mengambil dokumen menggunakan API Elasticsearch. Anda juga dapat menggunakan Kibana, alat visualisasi, dengan Elasticsearch untuk memvisualisasikan data Anda dan membangun dasbor interaktif.

Manfaat Elasticsearch

  • Waktu penilaian yang cepat
  • Kinerja tinggi
  • Peralatan dan plugin pelengkap
  • Operasi hampir real-time
  • Pengembangan aplikasi yang mudah

7. Grafana

    Grafana adalah analitik sumber terbuka multi-platform dan aplikasi web visualisasi interaktif. Ini menyediakan bagan, grafik, dan peringatan untuk web saat terhubung ke sumber data yang didukung.

    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 adalah sebuah provisioning tool yang dikembangkan oleh RedHat. Dimana kamu dapat mencatat setiap proses deployment ataupun konfigurasi yang biasa dilakukan berulang - ulang terhadap beberapa server. 

    Dirancang untuk multi-tier deployment, Ansible mampu merancang infrastruktur IT bisnis dengan mendeskripsikan bagaimana seluruh sistem IT perusahaan saling terhubung ketimbang cuma mengelola satu sistem dalam satu waktu. Selain itu, Ansible tidak menggunakan agent atau infrastruktur keamanan custom tambahan, sehingga membuatnya mudah di-deploy.

Komentar

Postingan populer dari blog ini

Tipe Data Boolean

Restful API

Langkah - Langkah untuk Merakit PC