SERVICE APPLICATION

 

SERVICE APPLICATION


CONTAINER

Container adalah sebuah virtualisasi OS yang dapat membungkus suatu aplikasi beserta dependency dan environment-nya. Setiap container ini memiliki process yang terisolir sehingga tidak mengganggu host OS ataupun container yang lain. Prinsip container ini mirip dengan kontainer yang ada di kapal kargo di mana kapal kargo tersebut diibaratkan sebagai sistem komputer

Keunggulan Container

  • Fleksibel dan scalable
  • Mengurangi resource yang dibutuhkan dalam IT Management
  • Waktu yang dibutuhkan untuk mengemas dan memasang app dalam container lebih cepat bila dibandingkan dengan VM

 

DOCKER

Docker adalah platform perangkat lunak yang memungkinkan untuk membuat, menguji, dan menerapkan aplikasi dengan cepat. Docker mengemas perangkat lunak ke dalam unit standar yang disebut container yang memiliki semua yang diperlukan perangkat lunak agar dapat berfungsi termasuk pustaka, alat sistem, kode, dan waktu proses. Dengan menggunakan Docker, Kita dapat dengan cepat menerapkan dan menskalakan aplikasi ke lingkungan apa pun dan yakin bahwa kode akan berjalan.

Kelebihan Docker

  • Portabilitas – 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.
  • 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.
  • 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.

 

PODMAN

Podman adalah container engine yang lengkap untuk menjalankan, mengelola, dan men-debug container yang mematuhi standar Open Container Initiative (OCI). Dengan Podman, para developer dapat mengelola container tanpa menggunakan daemon. 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.

 

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.

1. Service Discovery dan Load Balancing

Fitur service discovery memudahkan untuk melacak kontainer dengan otomatis. Hal ini tentu sangat penting di dalam mengembangkan aplikasi microservices. Kubernetes dapat mengenali sebuah service berdasar DNS atau IP address server tersebut.

2. Storage Orchestration

Kubernetes memungkinkan Anda melakukan mount pada media penyimpanan (storage) seperti, storage lokal atau yang berbasis cloud seperti AWS dan lainnya.

3. Automated Rollouts and Rollbacks

Fitur automated rollouts dan rollback sangat penting untuk membantu terkait deployment. Pada Kubernetes, deployment bisa menggunakan file YAML yang di dalamnya nanti akan berisi ReplicaSet.

4. Automatic Bin Packing

Menggunakan fitur Automatic Bin Packing, dapat mengatur kapasitas CPU dan sumber daya tiap kontainer secara spesifik. Jadi saat limit kapasitas sudah ditentukan, aplikasi terhindar dari berebut sumber daya. Selain itu, sumber daya jadi lebih hemat. 

 

OPENSHIFT

OpenShit ini berfungsi dan diciptakan untuk para konsumen yang melakukan develop serta menjalakan aplikasi berbasis container agar dapat melakukan penggunaan tersebut diterapkan di infrastruktur manapun. Baik itu cloud, on-premise, atau edge. Sehingga hal ini salah satunya juga dapat membantu para konsumen untuk membuat Hybrid Cloud ataupun Hybrid Infrastructure.

Dengan adanya OpenShift, aplikasi yang menggunakan container tersebut dapat di-expand dengan mudah, dari hanya beberapa mesin, bisa menjadi sampai ribuan mesin dan dapat melayani jutaan dari kliennya.

 

ELASTICSEARCH

Elasticsearch adalah mesin pencari dan analitik sumber terbuka (open source) dengan sistem terdistribusi yang memiliki kemampuan pencarian dan analitik real time.

Elasticsearch memungkinkan pengguna untuk mengeksplorasi data dengan kecepatan dan skala yang belum pernah dicapai sebelumnya. Pemanfaatan Elasticsearch meliputi pencarian full-text (full-text search), pencarian terstruktur (structured search), analitik, dan kombinasi dari ketiganya

 

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. 

Grafana banyak sekali digunakan untuk melakukan analisis data dan monitoring salah satu keuntungan dari penggunaan grafana adalah grafana tidak akan mengalirkan data ke cloud vendor untuk alasan keamanan dan lainya.

 

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.

 

Komentar

Postingan populer dari blog ini

Sejarah Linux

Outer Join

Null - Constraint