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.

Intro Docker

Beberapa tahun terakhir ini, terjadi perubahan yang cukup signifikan dalam hal deployment aplikasi. Untuk menjalankan aplikasi yang serius, sebelumnya kita perlu membeli server dulu, melakukan instalasi sistem operasi dan kelengkapan software lainnya, menginstal aplikasi yang kita buat, kemudian melakukan tuning dan hardening. Setelah itu, kita harus menyewa tempat di perusahaan penyedia internet dan menitipkan server kita tadi di sana. Kegiatan tersebut relatif merepotkan. Belum lagi urusan yang menyertainya seperti pemeliharaan hardware, update software, backup, dan lainnya.

Di jaman sekarang, banyak perusahaan yang menyediakan layanan cloud. Mereka menangani segala urusan repot tadi, sehingga kita cukup memikirkan pembuatan dan pemeliharaan aplikasi kita sendiri. Tidak perlu lagi pusing memikirkan urusan hardware dan software lain yang dibutuhkan.

Salah satu teknologi yang sedang hot di tahun 2015-2016 ini adalah Docker. Dalam artikel ini, kita akan bahas:

  • Apa itu Docker?
  • Bagaimana menjalankan aplikasi Java dalam Docker?
  • Bagaimana menjalankan proses build dalam Docker?

Lanjut membaca ...


Memahami Mapping Relasi di Hibernate

Salah satu permasalahan yang sulit dipahami pada saat belajar Hibernate adalah mapping relasi. Oleh karena itu, pada artikel kali ini, kita akan membahas berbagai konsep relasi database, bagaimana cara mappingnya, dan apa konsekuensinya.

Lanjut membaca ...


Setup Continuous Delivery

Pada artikel sebelumnya, kita telah melakukan deployment ke cloud provider Openshift dan Heroku dari komputer lokal kita. Sekarang, kita akan mengotomasi proses deployment ini dengan Travis, sehingga apabila build berjalan sukses, aplikasi akan otomatis dideploy ke server dan bisa diakses seluruh umat manusia.

Lanjut membaca ...


Setup Deployment ke PaaS

Pada artikel sebelumnya, kita telah mengotomasi proses build dari aplikasi kita. Langkah selanjutnya adalah mendeploy aplikasi kita tersebut ke server yang bisa diakses orang banyak, supaya bisa dilakukan testing oleh manusia.

Ada banyak provider server yang bisa digunakan, ada yang berbayar dan ada yang gratisan. Di antara yang gratisan adalah Openshift dan Heroku. Openshift menyediakan tiga aplikasi yang dapat diinstal tanpa bayar. Sedangkan Heroku membatasi aplikasi gratisnya hanya bisa jalan 18 jam sehari.

Paket gratis ini cukup memadai untuk keperluan testing. Sedangkan nanti bila aplikasi kita sudah digunakan di production, kita bisa menggunakan paket berbayar atau sewa server sendiri baik VPS maupun colocation.

Kedua provider ini mendukung deployment menggunakan git push, jadi kita tidak perlu upload file jar atau war berukuran besar. Cukup push saja source code, nanti dia akan melakukan build dan deployment.

Mari kita mulai …

Lanjut membaca ...


Setup Continuous Integration

Pada artikel sebelumnya, kita telah membuat struktur project lengkap dari database sampai ke web. Project tersebut juga telah dilengkapi dengan automated test dan sampel data.

Akan tetapi, di artikel terdahulu tersebut, kita harus menjalankan semua test tersebut melalui command line. Dengan demikian, bila ada programmer yang malas membuat automated test dan menjalankannya, kita tidak bisa mendeteksinya.

Untuk itu, kita akan mengkonfigurasi continuous integration, yaitu suatu scheduler yang memantau repository Git kita, dan menjalankan proses build pada waktu ada update di repository. Dengan demikian, apabila terjadi error, semua anggota tim bisa langsung mendapatkan notifikasi.

Ada beberapa tools untuk menjalankan proses ini. Pada jaman dahulu saya pernah juga menulis artikel tentang penggunaan CruiseControl dan Luntbuild. Tapi itu artikel jadul sekali, yang populer pada jaman sekarang adalah Travis dan Jenkins

Lanjut membaca ...