Tag: GoogleCloudPlatform

Google Cloud Platform adalah layanan cloud yang disediakan oleh Google. Google Cloud Platform menyediakan layanan infrastructure as a service, platform as a service dan serverless sama seperti layanan cloud pesaing seperti AWS dari Amazon dan Azure dari Microsoft.

Belajar Melihat Arsitektur Software

Pada suatu hari, saat berkunjung ke dokter umum, saya sudah mendapatkan resep obat hanya dalam beberapa menit. Bukankah setiap pasien adalah unik? Sang dokter tidak memeriksa apa aktifitas saya selama beberapa hari terakhir, mengetahui apa saja yang saya konsumsi, termasuk menanyakan alergi, dan sebagainya. Namun, bila sang dokter melakukan hal ini untuk seluruh pasiennya, saya tidak akan pernah mendapatkan antrian konsultasi. Sepertinya dokter tersebut punya preset resep tertentu berdasarkan tipe pasien dan penyakit yang sedang populer. Begitu juga saya tidak begitu berbeda: disaat saya harus merancang aplikasi dari nol, saya sudah punya beberapa “setelan” standar. Pada artikel ini, saya akan membahas dua arsitektur di benak saya: Kubernetes native dan cloud native. Dua arsitektur ini saling bertolak belakang sehingga mudah untuk melihat perbedaanya. Saya juga telah menyediakan contoh implementasi Kubernetes native dapat dilihat di GitHub latihan-k8s dan contoh implementasi cloud native di GitHub latihan-cloud-native.

Menerapkan Event Sourcing Di BigQuery

Event sourcing adalah sebuah pola dimana aplikasi menyimpan setiap perubahan yang dilakukan terhadap sebuah entitas (biasanya dalam bentuk event). Sebagai contoh, aplikasi bisa saja memiliki event seperti PelangganBaruDaftar, DataPelangganBerubah, dan PelangganDihapus. Setiap kali terjadi aksi di aplikasi, event tersebut akan tersimpan di dalam event store. Pola event sourcing seperti ini biasanya dipadukan bersama event driven design dan CQRS.

Menggunakan Array Di Google BigQuery

Salah satu cara untuk mendapatkan hasil query lebih cepat di BigQuery adalah dengan melakukan denormalisasi dengan menggunakan tipe data ARRAY. Sebagai contoh, saya akan membuat sebuah tabel baru bernama faktur dengan struktur seperti berikut ini:

Memakai Google BigQuery Untuk Laporan Inventory FIFO

Menghitung data untuk laporan inventory berbasis FIFO sebenarnya tidak kompleks. Saya hanya perlu mengetahui jumlah item yang tersisa, lalu mencari transaksi pembelian dan retur terbaru hingga mencapai nilai jumlah item tersisa. Sama sekali tidak perlu menghitung penjualan dan transaksi lainnya dari awal. Sebagai contoh, karena pada awalnya saya menggunakan Firestore, saya bisa membuat sebuah function seperti berikut ini untuk mendapatkan pembelian dan retur hingga jumlah item tersisa:

Mengatasi Publish Yang Lambat Di GooglePub/Sub Node.js

Google Pub/Sub adalah layanan messaging atau apa yang sering dikenal sebagai message queue seperti Apache ActiveMQ, Apache Kafka, dan sebagainya. Salah satu perbedaan utamanya adalah Google Pub/Sub merupakan bagian dari Google Cloud Platform dan memiliki peran penting dalam komunikasi layanan Google Cloud Platform lainnya. Saya sering menggunakannya sebagai trigger untuk Cloud Firestore dan juga komunikasi asynchronous dari satu service ke service lainnya pada aplikasi yang menerapkan arsitektur microservices.