Sesi Q&A tentang Microservices bersama Alan Adi Prasetyo

Memasuki era digital, bisnis dituntut untuk dapat mengembangkan aplikasi secara cepat mengikuti kebutuhan bisnis dan kebutuhan konsumen yang terus berubah. Mengadopsi arsitektur microservices bisa menjadi solusi untuk mempercepat pengembangan aplikasi. Untuk membantu para end-user memahami microservices, i3 mengadakan sesi Q&A mengenai microservices bersama salah satu konsultannya, Alan Adi Prasetyo pada 21 Juni lalu.

Q: Apa itu microservices?

A: Microservices adalah salah satu arsitektur yang dapat dipilih bisnis saat mengembangkan aplikasi. Arsitektur microservices akan membagi aplikasi menjadi komponen dan servis yang lebih kecil. Sebagai contoh, aplikasi ojek online yang menganut arsitektur microservices akan membagi aplikasinya menjadi lima komponen/servis, yaitu manajemen pengemudi, manajemen penumpang, manajemen perjalanan, manajemen pembayaran dan billing. Dengan arsitektur microservices, bisnis dapat lebih cepat membangun dan meng-update aplikasi karena setiap komponen memiliki code base yang berbeda.

Q: Berbicara tentang microservices, istilah docker/container pasti sering juga disebut. Apakah ada perbedaan antara keduanya?

A: Docker dan microservices itu sebenarnya saling berhubungan. Seperti yang sudah saya katakan, microservices merujuk pada arsitektur pengembangan aplikasi yang dibagi berdasarkan fungsinya, sedangkan container merupakan platform/tool yang dapat digunakan untuk men-deploy, mengembangkan, dan mengatur aplikasi microservices. Salah satu platform yang dapat dipilih ialah Red Hat OpenShift Container Platform.

Q: Apa itu Red Hat OpenShift Container Platform?

A: Red Hat OpenShift Container Platform adalah platform bagi para developer dan IT operations untuk membangun, mengembangkan, dan mengatur aplikasi di hybrid cloud maupun infrastruktur multi-cloud. Dengan menggunakan satu platform yang sama, pengembangan aplikasi dapat dipercepat dengan biaya yang rendah. Adapun fitur-fitur yang dimiliki Red Hat OpenShift Container Platform adalah sebagai berikut:

  • Self Service Platform
    Tim developer dapat dengan cepat dan mudah membuat aplikasi menggunakan tool yang sering mereka gunakan sesuai dengan demand yang ada, sedangkan tim operations dapat mengoperasikan dan mengontrol aplikasi yang telah dibuat.
  • Berbasis Container
    OpenShift menyediakan platform berbasis container (Docker) untuk men-deploy dan menjalankan aplikasi microservices.
  • Mendukung berbagai bahasa pemrograman
    Tim developer mampu menjalankan berbagai aplikasi dengan banyak bahasa pemrograman, framework dan database pada platform yang sama sehingga memudahkan mereka untuk untuk memanfaatkan ekosistem berbasis container.
  • Otomatisasi
    OpenShift mengotomatiskan pembangunan aplikasi, deployment, scaling, dan health management.
  • Multiple Interaction Model (User Interface)
    Tim developer dapat membuat dan mengelola aplikasi dengan tools yang beraneka ragam seperti command line tools, multi device web console, atau lingkungan pengembangan Eclipse yang dapat terintegrasi dengan JBoss Developer Studio.

Q: Apakah memungkinkan untuk memigrasikan aplikasi monolith ke arsitektur microservices menggunakan OpenShift? Bagaimana dengan databasenya?

A: Sebenarnya tidak dianjurkan untuk melakukan hal tersebut karena itu sama halnya dengan memindahkan aplikasi monolith ke container, lingkungan yang tidak ideal bagi aplikasi monolith. Alangkah lebih baik apabila bisnis menulis ulang kode (rewriting code) terlebih dahulu dan mengubah arsitektur aplikasi secara berkala. Namun, perlu diingat bahwa melakukan hal tersebut adalah proses yang kompleks dan memerlukan waktu lama. Maka dari itu, bekerja sama dengan iT expert atau service provider seperti i3 bisa menjadi pilihan.

Sementara untuk databasenya, disarankan untuk tetap diletakkan di virtual machine, hanya aplikasinya saja yang terletak di OpenShift karena kinerja database akan jauh lebih tinggi di virtual machine dibandingkan OpenShift yang berbasis container.

Q: Apakah Enterprise Service Bus (ESB) dan microservices memiliki konsep ataupun fungsi yang sama, yaitu untuk mengorkestrasi aplikasi dan layanan yang ada?

A: Tentunya, ESB dan microservices adalah dua konsep yang berbeda. Microservices adalah satu tipe arsitektur aplikasi, sementara ESB adalah tool middleware yang digunakan untuk menjembatani komunikasi antara aplikasi. Salah satu contoh dari ESB ialah Apache Camel.

Memang benar, pengembangan aplikasi dapat dipercepat dengan mengadopsi arsitektur microservices. Namun, perlu diingat bahwa dalam mengadopsi microservices terdapat beberapa hal yang perlu diperhatikan, mulai dari aplikasi apa saja yang bisa dimigrasi hingga teknologi container. Bisnis perlu memahami konsep-konsep microservices serta perbedaannya dengan ESB agar tidak terjadi penggunaan yang salah. Dengan memilih i3 sebagai mitra TI Anda, Anda dapat mengadopsi microservices dengan mudah. Karyawan TI kami yang berpengalaman akan membantu dan membimbing Anda dalam mengadopsi microservices.

Tentang i3

PT. Inovasi Informatika Indonesia (i3) dikenal sebagai perusahaan penyedia solusi dan layanan TI yang berfokus pada Open Source, Security, Big Data dan Cloud bagi bisnis. i3 menyediakan layanan TI yang komprehensif, meliputi konsultasi, migrasi dan implementasi, pelatihan, troubleshooting, dan managed services. Untuk informasi lebih lanjut perihal layanan dan solusi yang ditawarkan, Anda dapat menghubungi kami melalui info@i-3.co.id.