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)”

FAQ Cryptocurrency

The alarming surge in cryptocurrency mining on college campuses | Vectra AI
Sumber : https://www.vectra.ai/blogpost/the-alarming-surge-in-cryptocurrency-mining-on-college-campuses

Melihat pertanyaan di internet, jadi teringat momen ketika setelah membaca buku “Mastering Ethereum”, muncul pertanyaan di pikiran, entah karena belum dijelaskan dibuku, atau terlewat membacanya. Akhirnya mencoba mencari di internet waktu itu

Kalau terjadi fork, berarti uang nya 2 kali lipat?

Iya karena misalkan kita punya uang 20 di bitcoin, dan ketika muncul bitcoin cash uang kita juga 20 bitcoin cash.

Continue reading “FAQ Cryptocurrency”

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”

Setup WSO2 Enterprise Integrator SSL

Nemu dari sini : https://www.extraflow.fr/installer-lets-encrypt-avec-wso2-entreprise-integration-plateforme-debian-jessie/ cuman bahasa prancis

Ikutin step dibawah ini, jalanin manual aja di terminal karena ada command interaktif (untuk masukin password) dan ganti variabel di atas sesuai instalasi anda.

Asumsi file sertifikat berformat pem (seperti lets encrypt)

Continue reading “Setup WSO2 Enterprise Integrator SSL”

Postman Otomatis Kirim Header Autentikasi dengan Hanya Sekali Login

Billede
Sumber twitter pos indonesia https://twitter.com/posindonesia/status/963282532966989825?lang=da

Semua yang bisa di otomasi, akan di otomasi. Hampir semua tools/program saat ini menyediakan fitur otomasi ataupun custom script. Dan fitur ini menjadi daya tarik sendiri. Bahkan gitlab CI yang tidak menyediakan GUI, lebih disukai karena mudah di otomasi dan di program.

Begitu juga postman, sangat cape jika setiap mencoba endpoint lain, harus mencopy manual token authorization. Apalagi kalau sering ganti user login di endpoint nya. Postman menyediakan beberapa fitur yang dapet membantu seperti:

Continue reading “Postman Otomatis Kirim Header Autentikasi dengan Hanya Sekali Login”

Kubernetes Oracle (OCI) Tidak Bisa Autoscale Cluster/Node

Di dalam kubernetes ada beberapa jenis autoscale

Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings

Horizontal pod autoscale, menambah instance pod (Scale out). Sedangkan Vertical pod autoscale memperbesar spesifiaksi pod (cpu/memory) (Scale up). Kedua pod scaling ini juga bisa digabung. Untuk menentukan apakah mau scale up atau scale down, metrik defaultnya adalah utilisasi CPU, namun bisa juga memakai metrik lain (namun tidak resmi disupport).

Ketika pod di scale, pod akan di recreate, mencari node yang ada sisa tempat untuk diletakan pod nya. Namun bagaimana jika semua node penuh? solusinya adalah menggunakan cluster/node autoscale (Dengan menambah node baru).

Continue reading “Kubernetes Oracle (OCI) Tidak Bisa Autoscale Cluster/Node”

Session Locking? Slow Query Log Isinya Query Session?

Masalah

Mekasnisme session default di php adalah locking/blocking. Misal ada 5 request dari orang yang sama (id session yang sama) bersaman yang menggunakan session, kelima request tersebut tidak bisa berjalan bersamaan, melainkan hanya satu request yang dapat berjalan, yang lainnya menunggu sampai request yang berjalan tersebut selesai (ngantri).

Hal ini tujuannya untuk mencegah race condition. Misalkan ada session variable bernama jk (jumlah keranjang) yang menghitung jumlah barang di keranajng. User menambah barang a dan b, awalnya jumlah keranjang ada 10, setelah ditambah 2 barang tersebut menajdi 12.




session
jk = 10



















locking






concurrent / no locking
















request 1
jk =jk + 1
jk = 10 + 1 = 11


request 1
jk =jk + 1
jk = 10 + 1 = 11

request 2
jk = jk + 1
jk = 10 + 1 = 12
request 2
jk = jk + 1
jk = 11 + 1 = 12













































Final result

jk = 12





jk = 11



Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Continue reading “Session Locking? Slow Query Log Isinya Query Session?”

Aws Glue Catalog/Crawler/Athena File Csv Kolom Tidak Terbaca Benar

Ketika mengimpor file csv (upload di s3, di index oleh glue crawler, dibaca oleh athena) kolom tidak terbaca benar, misal seperti ini

NamaNomor TelfonKota
HerbertAbdillah0812345678
Budi08222224424Depok

Solusinya adalah mengganti library serialization dari LazySimpleSerDe ke OpenCSVSerde.

https://stackoverflow.com/questions/57498330/specify-a-serde-serialization-lib-with-aws-glue-crawler

Kalau yang sudah terbiasa dengan hadoop mungkin tidak mengalami masalah tersebut, atau jika membaca dokumentasi di aws dengan lengkap pasti akan tau tanpa sulit mencari di google.

https://docs.aws.amazon.com/athena/latest/ug/csv-serde.html