Arsitektur Perangkat Keras

Desain perangkat keras micro server dapat dilihat pada bagan, micro server dapat diakses dari luar jaringan. Agar micro server dapat diakses dari luar maka dibutukan bantuan router yang terhubung ke ISP dan mempunyai alamat IP statik yang unik. Koneksi dari user dapat menggunakan ansible playbook, dengan menggunakan koneksi SSH. Kelebihan dari ansible adalah penggunaan SSH untuk melakukan perintah terhadap sistem, dimana semua sistem operasi mendukung layanan SSH. Kelebihan dari SSH adalah selain ringan karena menggunakan mode text, dengan menggunakan SSH maka pesan yang dikirim akan di enkripsi. Enkripsi penting karena pesan yang dikirim dari pengguna akan melalui jaringan internet, sehingga siapapun dapat melihat pesan tersebut.

Pada sisi cluster, akan digunakan 4 buah Raspberry Pi 3B+ yang terhubung kepada 1 switch yang sama. Karena ansible adalah agentless maka tidak dibutuhkan server khusus yang mengatur kinerja dari semua node yang ada. Dengan hal itu maka penggunaan ansible menjadi sebuah keunggulan, dengan menggunakan 4 node maka ke empat node dapat digunakan untuk kluster.

Pengalamatan masing masing node menggunakan tabel dibawah, alamat IP dari masing masing host harus unik untuk mencegah alamat IP yang ganda.

Host Interface IP Address
Router eth0 192.168.0.1/24
Node 1 eth0 192.168.0.2/24
Node 2 eth0 192.168.0.3/24
Node 3 eth0 192.168.0.4/24
Node 4 eth0 192.168.0.5/24

Tabel 2. Pengalamatan perangkat keras

Arsitektur perangkat lunak

Raspberry Pi 3B+ adalah SBC dengan arsitektur ARM, dilengkapi dengan prosesor Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz. Karena menggunakan arsitektur ARM, maka tidak semua distro linux dapat berjalan pada raspberry pi. Dengan alasan tersebut maka dalam penelitian ini menggunakan rasbian, dimana rasbian sebagai distro resmi yang dioptimasi untuk raspberry pi.

Arsitektur pada ansible adalah agentless dimana tidak menggunakan sebuah server sebagai unit pengelola masing masing node. Untuk mengatur semua node yang terhubung maka digunakan Ansible Playbook, pengguna dapat mengakses Playbook menggunakan koneksi SSH, baik koneksi intranet maupun koneksi internet. Playbook tersusun menggunakan bahasa YAML (YAML Ain’t Markup Language), YAML adalah sebuah standar untuk serialisasi data, di dalam konteks Ansible maka data yang dimaksud adalah konfigurasi.

Playbook pada ansible dapat mengatur beberapa bagian, antara lain:

  • Module

Ansible menggunakan 1 modul yang sama untuk beberapa node yang ada di bawah ansible, dengan hal ini maka mempermudah pengaturan menghindarkan duplikasi modul yang sama. Ada beberapa servis yang juga termasuk ke dalam modul, diantaranya : FTP dan Mail Exchange. Servis – servis tersebut akan digunakan untuk pembuatan micro server pada penelitian ini.

  • Plugin

Plugin digunakan untuk menambah fitur yang telah ada di dalam core ansible, dengan adanya plugin pengguna dengan mudah dapat menambahkan fitur dan extension selain yang telah ada di dalam core.

  • API

Ansible menyediakan beberapa API (Application Programming Interface) secara otomatis, untuk memudahkan pengguna jika ingin menggunakan fitur API.

  • Inventory

Ansible secara otomatis akan mengelola semua konfigurasi node di dalam file (INI, YAML) sesuai dengan grup yang telah ditentukan. Apabila ada penambahan node maka node yang baru tidak perlu melakukan registrasi SSL ke dalam server. Dengan adanya pengaturan yang fleksibel maka pengguna dapat meminimalisir isu NTP maupun DNS yang bermasalah.