SERVICE APLIKASI


Hallo Wong Sekabean, Pie Kabare? Sehat lah yaa, Disini saya akan menjelaskan kepada kalian yang sedang membaca blog saya. Kali ini saya berkesampatan untuk menjelaskan sedikit tentang Service Aplikasi , nah  yuk baca dan cermati. Terimakasih
 

  1. Container

Container adalah virtualisasi tingkat sistem operasi. Bisa juga disebut sebagai vitualisasi yang ringan. Karena hanya menyediakan kebutuhan minimum yang dibutuhkan sebuah aplikasi supaya bisa berjalan. Container merupakan virtual machine minimalis yang tidak berjalan pada hypervisor.

Berikut ini yang ada dalam container :

  1.  Application
  2.  Binaries
  3.  Configuration File
  4.  Dependencies
  5.  Libraries

  • Kelebihan:

(a) Menjalankan container tidak menggunakan banyak sumber daya. Jadi seseorang dapat menambahkan lebih banyak beban kerja komputasi pada server yang sama.

(b) Dibandingkan dengan mesin virtual, ukuran rata-rata suatu container berada dalam kisaran puluhan atau ratusan MB, sedangkan mesin virtual mengkonsumsi beberapa gigabytes. Server dapat menampung lebih banyak kontainer.

(c) Kontainer cepat! Membuat container hanya membutuhkan beberapa detik. Waktu respons cepat ketika menyangkut aktivitas pengguna. Kontainer membantu mengurangi waktu yang dibutuhkan untuk pengembangan, pengujian, dan penyebaran.

  • Kekurangan:

(a) Keamanan adalah masalah dengan virtualisasi berbasis container dibandingkan dengan mesin virtual tradisional. Dalam container, Kernel dan komponen lain dari sistem operasi host dibagikan. Mereka memiliki akses root! Jadi container kurang terisolasi satu sama lain. Secara keseluruhan, itu tergantung pada jenis aplikasi dan modifikasi.

(b) Ada kurang fleksibilitas dalam sistem operasi. Jika Anda ingin menjalankan kontainer dengan sistem operasi yang berbeda, Anda harus memulai server baru.


        2. Docker

Docker adalah sistem operasi untuk kontainer. Mirip dengan cara mesin virtual memvirtualisasi (menghilangkan kebutuhan untuk secara langsung mengelola) perangkat keras server, kontainer memvirtualisasi sistem operasi server.

  • Fitur - Fitur yang ada pada docker:

a.Docker engine Ia digunakan untuk membuat image dan container.

b. Docker Hub Ia adalah registry yang berisikan kumpulan dari image-image. Dengan menggunakan docker hub ini kamu dapat mengumpulkan image.

c. Docker for Linux  fitur ini juga memungkinkan penggunanya untuk menjalankan container pada sistem operasi Linux.

  • Kelebihan:

(a) Portabilitas – daya tarik utama Docker adalah portabilitasnya. Docker memungkinkan user membuat atau menginstal aplikasi kompleks di perangkat, dan aplikasi tersebut dijamin bisa berjalan. Docker container memiliki semua yang dibutuhkan aplikasi, hanya dengan sedikit atau bahkan tanpa input dari user.

(b) Automasi – dengan bantuan cron job dan Docker container, user bisa mengotomatiskan pekerjaan dengan mudah. Automasi membantu developer menghindari tugas yang membosankan dan repetitif, serta menghemat waktu.

(c) Komunitas – Docker memiliki channel Slack khusus, forum komunitas, dan ribuan kontributor di website developer seperti StackOverflow. Terlebih lagi, ada lebih dari 9 juta image container yang dihosting di Docker Hub.

  • Kekurangan Docker:

(a) Kecepatan – meskipun akan lebih cepat untuk menjalankan aplikasi melalui Docker container daripada di VM, Docker masih lebih lambat dibandingkan dengan menjalankan aplikasi secara native pada server fisik.

(b) Keamanan – Docker berjalan pada sistem operasi host, yang berarti software berbahaya apa pun yang bersembunyi di balik containernya bisa sampai ke mesin host.


        3. Podman



Podman adalah mesin kontainer yang kompatibel dengan spesifikasi Kontainer OCI. Podman adalah bagian dari RedHat Linux, tetapi dapat diinstal pada distribusi lain juga.

  • Kelebihan:

(a). Dapat mengelola kontainer dengan cara yang sama seperti Docker

(b). Komponen terdesentralisasi untuk manajemen kontainer dan dengan demikian menghindari perluasan daemon seperti yang terjadi di Docker. 

  • Kekurangan:

(a).Belum adanya tool yg mirip dengan docker.


        4. Kubernetes

Kubernetes adalah platform open source untuk mengelola kumpulan kontainer dalam suatu cluster server.

  • Komponen - komponen kubenertes:

a. Cluster adalah suatu kelompok berisi server fisik atau VPS untuk menjalankan Kubernetes.

b. Object Di dalam sebuah cluster, terdapat berbagai object, yaitu entitas yang merepresentasikan kondisi dari suatu cluster. 

  • Kelebihan:

(a). Penemuan layanan dan penyeimbangan muatan. 

(b). Orkestrasi penyimpanan

(c). Penyembuhan diri

(d). Manajemen rahasia dan konfigurasi

  • Kekurangan:

(a). Menerapkan cluster manual itu rumit.

(b). Proses instalasi dan konfigurasi yang kompleks.


        5. OpenShift

OpenShift adalah Platform as a Service (PaaS) persembahan dari Red Hat Cloud Computing. Openshift adalah platform cloud yang menjalankan bahasa pemrograman tertentu, Heroku mendukung bahasa pemrograman seperti aplikasi Java, PHP, Ruby, Python, Node.js, dan Perl.

  • Fitur yang disediakan oleh openshift:

a.  Built-in mendukung untuk Node.js, Ruby, Python, PHP, Perl, dan Java.

b. Satu Klik Deployment- Menyebarkan keplatform OpenShift yang mengklik tombol atau memasukkan perintah "push Git".

c. OpenShift oleh Red Hat dibangun pada teknologi open source (Red Hat Enterprise linux- RHEL).

  • Kelebihan:

(a). Cepat

(b). Banyak pilihan

(c). Sumber terbuka

(d). Mudah digunakan

  • Kekurangan:

(a). Pengguna Free Plan bakal dikenakan terhitung idle time jikalau aplikasi yang dibikin tidak mendapatkan request http selama 24 jam, artinya terhitung bila blog yang kita bikin tidak tersedia yang dibuka dalam selagi 24 jam bakal dikenakan idle time. 

(b). Bagi pengguna Free Plan tidak diperkenankan menggunakan SSL untuk custom domain yang digunakan.


        6. Elastisearch

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.

  • Kelebihan:

(a). Elasticsearch dikembangkan di Java, yang membuatnya kompatibel di hampir semua platform.

(b). Elasticsearch bersifat real-time, dengan kata lain setelah satu detik dokumen yang ditambahkan dapat dicari di mesin ini.

(c). Elasticsearch didistribusikan, yang memudahkan penskalaan dan integrasi dalam organisasi besar mana pun.

  • Kekurangan:

(a). Elasticsearch tidak memiliki dukungan multibahasa dalam hal menangani permintaan dan respons data (hanya mungkin di JSON) tidak seperti di Apache Solr, yang memungkinkan dalam format CSV, XML, dan JSON.

(b). Elasticsearch juga memiliki masalah dengan situasi otak terbelah tetapi dalam kasus yang jarang terjadi.


        7. Grafana



Grafana adalah platform observabilitas sumber terbuka untuk memvisualisasikan metrik, log, dan jejak yang dikumpulkan dari aplikasi Anda. Ini adalah solusi cloud-native untuk merakit dasbor data dengan cepat yang memungkinkan Anda memeriksa dan menganalisis tumpukan Anda.

Grafana memiliki banyak fitur yang powerful untuk memonitor dan menganalisa. Grafana juga memiliki fitur alerting yang sangat berguna. 

  • Kelebihan:

(a). Open source, kaya fitur, kuat, elegan, dan sangat dapat dikembangkan.

(b). Bisa menjalankannya di Gnu / Linux, Windows dan MacOS.

(c). Mendukung lebih dari 30 sumber terbuka serta database komersial / sumber data termasuk MySQL,       PostgreSQL, Graphite, Elasticsearch, OpenTSDB, Prometheus, dan InfluxDB.

        8. Ansable

Ansable merupakan salah satu automotion tool dan insfastructure as a code yang tersedua secara open source. Dengan ansable kita dapat melakukan provisioning (semacam membuat / menghapus), konfigurasi, dan melakukan deployment aplikasi pada server. Ansable juga mempermudah pekerjaan untuk mengatur dan mengelola server yang banyak dalam satu waktu dengan aplikasi mana pun konfigurasi yang beragam di dalamnya. 

  • Kelebihan:

(a). Cross-platform

(b). Insfastructure a's a code

(c). Agentless Tools

(d). Meminimalisir human eror

(e). Menghemat waktu, tenaga,dan biaya

  • Kekurangan:

(a). Command-line based

(b). Bersifat sequential

(c). Dukungan untuk platform OS windows masih kurang memadai

Komentar