Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Live Streaming dengan Nginx RTMP Module

Di era milenial seperti sekarang ini, segala kegiatan harus dipublish supaya eksis. Gak cukup dengan posting foto dan rekaman video, harus instan real time live show. Para raksasa sosmed berlomba-lomba menyediakan fasilitas tayangan langsung seperti Instagram Stories, Facebook Live, Youtube Live, dan masih banyak yang lainnya.

Karena banyak platform berbeda, tapi tujuannya sama, maka sayapun mencari aplikasi untuk membantu publikasi untuk melakukan tayangan langsung. Pengennya satu kali pasang kamera, langsung live di berbagai sosmed. Cari punya cari, ada beberapa alternatif untuk mengabstraksi tayangan langsung multi platform ini:

Pada artikel kali ini, kita akan membahas setup Nginx RTMP Module dengan Raspberry Pi.

Raspi Resource Usage

Lanjut membaca ...


Implementasi Single Sign On dengan Google

Jaman sekarang eranya integrasi antar aplikasi. Aplikasi A ingin mengakses data di Aplikasi B. Apalagi dengan mewabahnya arsitektur microservice, bahkan sesama aplikasi yang kita buat juga ingin berkomunikasi antar aplikasi.

Dengan sekian banyak aplikasi, tentunya akan sangat mengganggu user kalau dia harus login berkali-kali di tiap aplikasi tersebut. Untuk itu kita harus membuat semacam login server, di mana semua user akan login di sana dan semua aplikasi akan mengecek di sana apakah user tersebut sudah login atau belum.

Biasanya, hal ini kita menggunakan standar protokol OAuth 2.0 dan atau OpenID Connect. Lebih detail tentang protokol ini bisa ditonton di video saya di Youtube.

Dalam Spring Security 4 dan Spring Boot 1, kita mendapatkan fitur untuk membuat Authorization Server, Resource Server, dan Client Application. Akan tetapi, di Spring Security 5, mereka berencana untuk melakukan perombakan besar-besaran. Di Spring Security versi 5.0, para pengembang Spring sudah menyediakan dukungan Client Application yang baru. Ini sudah masuk dalam Spring Boot 2.0.

Dukungan terhadap Resource Server yang baru direncanakan akan launching di Spring Security versi 5.1 dan dibundel dalam Spring Boot 2.1. Pada saat artikel ini ditulis, Spring Security 5.1 dan Spring Boot 2.1 belum dirilis.

Pada artikel kali ini, kita akan mengimplementasikan Client Application (atau Relying Party dalam istilah OpenID Connect) dengan fitur login dengan Google. Kita juga akan membuat tabel di aplikasi kita yang memuat setting permission. Kita akan mapping username dari Google dengan permission yang kita kelola di aplikasi kita sendiri.

Lanjut membaca ...


Deployment Microservice Kere Hore Bagian 6

Pada artikel terdahulu, kita menggunakan Nginx sebagai reverse proxy. Semua request diterima Nginx dalam bentuk terenkripsi (SSL/TLS), didekripsi, kemudian diteruskan ke masing-masing backend.

Sebetulnya, selain Nginx masih banyak alternatif lain yang bisa dipakai sebagai reverse proxy, diantaranya:

Selain reverse proxy biasa, jaman sekarang banyak juga yang menawarkan fitur-fitur lain seperti rate limiting, caching, logging, routing, authentication, dan sebagainya. Beberapa produk yang tersedia diantaranya:

Pada artikel ini, kita akan bahas alternatif tradisional dulu, yaitu HAProxy. Seringkali kita hanya membutuhkan solusi sederhana, ringan, dan cepat. Tidak perlu aksesoris macam-macam.

HAProxy adalah aplikasi yang mengkhususkan diri menjadi reverse proxy. Dia bukan webserver seperti Nginx atau Apache HTTPD. Dengan demikian, ukurannya lebih kecil dan ringan. Dia juga memiliki mode tcp atau Layer 4 buat aplikasi lain yang tidak menggunakan protokol http.

Kali ini, kita hanya akan menggunakan fitur berikut dari HAProxy:

  • Reverse Proxy
  • SSL Termination

Lanjut membaca ...


Deployment Microservice Kere Hore Bagian 5

Pada artikel yang lalu, kita sudah membahas tentang penggunaan Nginx sebagai Front Proxy, memasang aplikasi Java, dan aplikasi Node JS. Kali ini, kita akan instal aplikasi dengan bahasa pemrograman Ruby dan framework Ruby on Rails.

Lanjut membaca ...


Deployment Microservice Kere Hore Bagian 4

Pada artikel yang lalu, kita sudah membahas tentang penggunaan Nginx sebagai Front Proxy, memasang aplikasi Java, dan aplikasi Wordpress berbasis PHP. Kali ini kita akan lanjutkan memasang aplikasi berbasis NodeJS dengan framework ExpressJS.

Lanjut membaca ...