2.08.2017

Pengenalan Microservices


Pertama kali saya mendengar istilah Microservices adalah ketika berdiskusi tentang bagaimana arsitektur sistem itu seharusnya dibuat. Dan alhamdulillah, beberapa hari dari diskusi itu, muncul kebutuhan diperusahaan tempat saya bekerja untuk mencoba membuat sistem dengan konsep Microservices, dan saya pun diberi kesempatan untuk eksplorasi lebih jauh tentang itu.

Setelah sekian lama tidak menulis diblog, saya pikir ini topik yang bagus untuk ditulis. Karena dengan menulis, apa yang kita pelajari akan lebih mudah diingat.

Baca juga Seberapa Kecil Microservices yang Harus Dibuat?

Microservices


Microservices adalah sebuah service dimana service tersebut difokuskan untuk fungsi tertentu. Kumpulan service-service ini bila saling berkomunikasi dapat menjadi sebuah sistem yang besar.

Dalam implementasinya, secara sederhana kita harus memecah aplikasi yang ingin kita buat secara spesifik/rinci dari sisi fungsionalitasnya. Setiap fungsi harus mampu bekerja secara independent, dan fungsi-fungsi tersebut dapat dibangun menggunakan teknologi yang berbeda-beda sesuai dengan kebutuhan. Sehingga sangat memungkinkan akan terdapat banyak teknologi dalam satu aplikasi besar.

Sebagai contoh, saya akan coba mengambil diagram yang saya dapatkan di situs nginx.com.

Diagram Contoh Aplikasi Taxi Online
Pada diagram tersebut, terlihat jelas bahwa setiap fungsi yang ada pada aplikasi ini dilakukan oleh microservices-nya sendiri. Selain itu, aplikasi Web dapat dibagi menjadi satu set aplikasi web yang sederhana, yaitu aplikasi web untuk Passenger/Penumpang dan Driver/Pengemudi. Hal ini dapat memudahkan dalam mengembangkan 'user experience' aplikasi yang berbeda untuk penumpang dan pengemudi.

Setiap backend difasilitasi oleh REST API dan setiap service dapat saling berkomunikasi melalui REST API-nya masing-masing. Sebagai contoh, misalnya Driver Management menggunakan REST-API-nya Notification untuk mengirimkan daftar pengemudi yang available untuk sebuah perjalanan.


Manfaat Microservices


Arsitektur Microservices memiliki beberapa manfaat, yang pertama adalah Arsitektur Microservices dapat menurunkan tingkat kompleksitas suatu sistem. Dengan membagi-bagi setiap fungsi secara spesifik, kita sebagai pengembang dapat fokus kepada fungsi-fungsi spesifik tersebut, atau dengan kata lain, kita dapat memperkecil scope yang kita kerjakan.

Kedua, developer akan lebih fleksibel dalam menentukan tools yang lebih tepat untuk digunakan oleh suatu microservice.

Ketiga, pembagian tim atau team splitting akan lebih mudah. Satu tim akan fokus terhadap satu microservice, setiap tim tidak berbagi source code dengan tim lain, dan hanya terikat oleh interface yang didefinisikan di dalam service-service tersebut.

Keempat, microservices memungkinkan pembedaan profil satu service dengan service lainnya, terutama yang berhubungan dengan scaling up.

Masih banyak manfaat-manfaat lain yang tidak disebutkan, tetapi kurang lebih itu manfaat utama dari Arsitektur Microservices. Semoga bermanfaat.

Baca juga Seberapa Kecil Microservices yang Harus Dibuat?

Sumber bacaan:
- https://www.nginx.com/blog/introduction-to-microservices/
- https://indosystem.com/blog/microservices-konsep-dan-implementasi/
- http://www.geekyblogger.com/2014/07/tentang-microservices.html

3.29.2015

Kenapa Kita Sebaiknya Tidak Membeli Facebook Like?


Berapa hari yang lalu, saya membeli jasa menambah like sebuah fan page di facebook untuk salah-satu page yang saya kelola, karena saya ingin mencoba dan mencari tahu bagaimana cara mereka menjual like tersebut. Namun setelah saya membelinya, saya sangat menyarankan agar jangan pernah sekali-kali membeli jasa like untuk fan page di facebook. Kenapa?

Karena sistem facebook saat ini sudah sangat canggih. Facebook telah membuat sebuah sistem yang dapat menangkap 'gerak-gerik' mencurigakan dari para fake likers. Berikut yang saya kutip dari facebook:

We write rules and use machine-learning to catch suspicious behaviour. When we catch fraudulent activity, we work to counter and prevent it – including blocking accounts and removing fake likes. learn more...
1 hari setelah saya membeli jasa tersebut, memang sesuai dengan apa yang dijanjikan, fan page kita akan bertambah jumlah like nya. Tetapi esok harinya, saya bingung karena tiba-tiba jumlah like pada fan page saya berkurang drastis, walaupun si penjual itu menggunakan real account (bukan bot). Dan muncul notifikasi seperti ini:



Dan pada akhirnya jumlah likes pada fan page saya kembali ke jumlah semula dan apa yang saya beli menjadi sia-sia.

Kesimpulan

Jadi, sebaiknya kita jangan pernah membeli jasa untuk menambah likes pada fan page kita, karena semua itu akan terdeteksi oleh sistem facebook yang dapat merugikan diri kita sendiri.

Semoga bermanfaat.

3.24.2015

Perbedaan UI dan UX


Sejak bulan januari lalu, saya mulai mencoba belajar tentang desain dan saya sering mendengar kata UI dan UX. Setelah mencari, Saya pun menemukan artikel dari uniteux.com tentang bagaimana memahami perbedaan antara UI dan UX. Lalu apa bedanya?

2.17.2015

Pengalaman Pertama Menang di 99designs.com

99designs.com
Alhamdulillah, tadi sore saya mendapatkan email bahwa saya menjadi salah satu pemenang kontes di 99designs. Rasanya menang pertama kali tuh,.. ah susah dijelaskan. Walaupun hadiah yang saya dapatkan tergolong kecil (bila dibandingkan dengan kontes-kontes lain), tapi saya cukup merasa senang karena selain ini pertama kali saya juga karena dalam kompetisi ini saya bersaing dengan banyak sekali desainer-desainer handal yang berasal di berbagai negara. Sekali lagi, Alhamdulillah.

2.14.2015

Bagaimana Cara Membuat Heart Shape Dengan CSS3?


Tidak sengaja saya menemukan sebuah artikel yang membahas tentang pembuatan bentuk hati (heart shape) dengan menggunakan CSS3. Setelah dibaca, saya sadar bahwa banyak hal yang bisa dilakukan dengan CSS terutama CSS3, dan pada artikel ini, kita akan membuat heart shape dengan menggunakan fitur pseudo-element pada CSS3. (Baca tentang pseudocode-element disini.).

Posted in 

1.24.2015

Pengalaman Kuliah di MongoDB University


Belajar tentang database MongoDB di MongoDB University yang saya alami selama tiga minggu (total 7 minggu + final exam)  ini, sangat menarik. Materi setiap minggunya sangat jelas, dan singkat. Dan pada beberapa materi terdapat kuis yang kita bisa menjawabnya langsung disitu. Keren! Memang cocok untuk orang yang baru belajar mongodb.

1.16.2015

Bagaimana Cara Menghitung Kontras Warna Dengan Javascript?


Sering kita temukan beberapa web/aplikasi yang memperbolehkan penggunanya merubah tampilan profil seperti image cover, background color, dan lain sebagainya. Namun masalahnya, bagaimana cara menentukan warna teks pada web/aplikasi tersebut agar menyesuaikan dengan warna latar belakangnya?