Ada Apa Didalam Sistem Operasi (Linux). Apa yang membedakan distribusi Linux seperti Ubuntu, Redhat, Alpine?

#include <stdio.h>
int main() {
  FILE *f_ptr;
  char f_content[256];
  char output[512];

  f_ptr = fopen("/tmp/1337", "r");
  fgets(f_content, 256, f_ptr);

  fclose(f_ptr);

  sprintf(output, "File content: %s", f_content);
  printf("%s", output);

  return 0;
}
package main
import (
    "fmt"
    "io/ioutil"
)
func main() {
  b, _ := ioutil.ReadFile("/tmp/1337")
  output := "File content: " + string(b)
  fmt.Print(output)
}
file = open('/tmp/1337', 'r')

output = "File content: " + file.read()
print(output)

file.close()

Diatas adalah program untuk membaca file dan menampilkannya. Ditulis menggunakan bahasa C, Golang, dan Python. Kode tersebut terlihat simpel. Kita tidak perlu tahu file itu diletakan di disk dan partisi yang mana. Apakah menggunakan filesystem ext4, ntfs, atau fat?. Apakah disknya Hard Drive, SSD, atau memory card?. Karena hal tersebut sudah di abstraksikan oleh Kernel. (Alokasi Memori) Linux bisa dibagi menjadi dua: Userspace, dan Kernel space.

Continue reading “Ada Apa Didalam Sistem Operasi (Linux). Apa yang membedakan distribusi Linux seperti Ubuntu, Redhat, Alpine?”

Apa Perbedaan Server Serverless Hosting IaaS Paas Saas Cloud Container VM Bare Metal Colocation dan Lain Lain

Sumber : https://onlineidealab.com/trending-buzzwords-by-2020-on-cloud-computing-trajectory/

Ada teman tanya mengenai hal ini. Saya jawabanya pusing karena terlalu banyak buzzword saat ini. Akhirnya saya coba tulis disini karena jawabnya harus panjang supaya gak salah paham 😀 . Saya akan mulai dari masalah, contoh solusi, serta contoh edge case nya. Dan di akhir baru saya paparkan ringkasan/resume istilah dari solusi solusi tersebut. Jadinya agak panjang. Karena umumnya kalau hanya menjelaskan pengertian/istilah, masih belum terlalu paham.

Continue reading “Apa Perbedaan Server Serverless Hosting IaaS Paas Saas Cloud Container VM Bare Metal Colocation dan Lain Lain”

OCI Container Registry API (Oracle Cloud)

Docker container registry menyediakan restful API sebagaimana yang ditulis disini

https://docs.docker.com/registry/spec/api/

Salah satu private registry, yaitu OCI Container Registry (OCIR) juga menggunakan repository docker-compatible. di dokumentasi OCIR, untuk API sama dengan API yang digunakan repository docker pada umumnya

https://docs.oracle.com/en-us/iaas/Content/Registry/Concepts/registryprerequisites.htm

Namun ketika dicoba sign in menggunakan user password untuk mendapatkan token, malah error, Errornya bukan unauthorized/bad request, tapi not found. berarti endpoint nya beda.

Continue reading “OCI Container Registry API (Oracle Cloud)”

ELK Beats/Loki Promtail Log Tidak Terbaca di Oracle Kubernetes Engine (OKE)

Konfigurasi default ELK/Loki stack adalah mengambil log dari docker container di pod yang terletak di tiap node di path /var/log/container/*.log. Namun di OKE file tersebut memang ada, tapi bukan file asli melainkan symbolic link ke file aslinya di /u01/data/docker/containers/*/.log

Sehingga pod daemonset tidak dapat mengakses file tersebut, solusinya adalah menambah volume mount /u01/data/docker/containers/*/.log ke pod daemonset Filebeats/Loki.

Continue reading “ELK Beats/Loki Promtail Log Tidak Terbaca di Oracle Kubernetes Engine (OKE)”

Testimoni PaaS Google App Engine

https://logo-hunt.blogspot.com/2020/07/google-app-engine-logo-png.html

Untuk aplikasi yang tidak kompleks, NoOps bisa menjadi pilihan karena tidak perlu tenaga dedicated untuk mengurus infrastruktur. App Engine menawarkan solusi kita hanya tinggal upload code, app engine akan mengurus auto scaling, logging, monitoring, versioning, environment, dan lainnya. Dan juga di dalam app engine sudah dipaekt dengan storage, cached (memcached) yang terdapat free tiernya juga.

Terdapat 2 pilihan app engine, pertama standard yang kita hanya tinggal uplaod code. Scalingnya lebih cepat dan murah dengan menggunakan bahasa yang sudah di support google. Kedua flex yang memberikan kebebasan lebih (bisa samapai kita ssh ke VM nya), menggunakan runtime docker (kita memberi dockerfile kita), cocok untuk aplikasi yang tidak disupport di standard.

Continue reading “Testimoni PaaS Google App Engine”

Passing Parameter Antar Step di Job Oracle Visual Builder Studio/Hudson / Jenkins

Oracle visual builder studio – Builder adalah tools SaaS untuk melakukan CI/CD. Sebenernya ini hanya hudson yang di fork oleh oracle. Hudson sendiri sudah di fork oleh komunitasnya menajdi Jenkins. Namun oracle visual builder studio tidak menyediakan plugin seperti jenkins.

Mencoba menggunakan parameter, dan membuat step Unix Shell. ketika di ubah ternyata di step yang lain hasilnya tidak berubah, melainkan tetap sama dengan nilai awal parameter tersebut (entah itu default value ataupun manual input).

Continue reading “Passing Parameter Antar Step di Job Oracle Visual Builder Studio/Hudson / Jenkins”