• Member of Masyarakat Bioinformatika dan Biodiversitas Indonesia • Google Developer Groups Medan • Open source enthusiast and Communities Fellow • Tech Background: Backend stuff, IaaS & PaaS Cloud, DevOps, more at https://fikihfirmansyah.my.id
dalam pengembangan perangkat lunak. • Arsitektur monolitik mulai dihadapkan pada keterbatasan dalam mengakomodasi kebutuhan aplikasi yang semakin kompleks dan skalabilitas yang dinamis. • Microservice muncul sebagai alternatif yang menjanjikan dalam mengatasi tantangan tersebut, dengan menawarkan pendekatan yang terdistribusi dan modular. Tujuan • Memperkenalkan konsep dan prinsip dasar dari arsitektur microservice. • Membandingkan arsitektur microservice dengan pendekatan monolitik untuk memahami perbedaan, kelebihan, dan kekurangannya. • Menyoroti tantangan dan solusi dalam mengadopsi arsitektur microservice, serta praktik terbaik yang dapat membantu kesuksesan implementasi. • Melakukan analisis studi kasus implementasi microservice untuk memperkuat pemahaman peserta.
suatu aplikasi yang terdiri atas sejumlah unit layanan/service dan saling terhubung. Di setiap unit layanan pada aplikasi ini menjalankan fungsi yang berbeda, namun mendukung satu dengan lainnya. Microservices memiliki interface dan juga operasi yang sudah terdefinisi dengan baik.
perangkat lunak di mana seluruh aplikasi dibangun sebagai satu entitas tunggal. • Aplikasi monolitik terdiri dari komponen-komponen yang saling terhubung dan tergantung satu sama lain, seringkali dengan kode yang besar dan kompleks. Pendahuluan
kecil. • Tidak memerlukan kompleksitas tambahan dalam manajemen, pemantauan, dan orkestrasi. • Performa yang lebih baik untuk aplikasi dengan skala kecil hingga menengah. Pendahuluan
segala perubahan harus dilakukan pada satu kode sumber. • Tidak fleksibel dalam mengadopsi teknologi baru karena semua komponen terkait satu sama lain. • Rentan terhadap kegagalan sistem karena satu kesalahan dapat mempengaruhi keseluruhan aplikasi. Pendahuluan
dapat diperbesar secara independen. • Pembaruan dan pengembangan yang lebih cepat karena setiap layanan dapat dikembangkan, diuji, dan di deploy secara terpisah. • Fleksibilitas dalam pemilihan teknologi karena setiap layanan dapat menggunakan teknologi yang paling sesuai dengan kebutuhan spesifiknya. Pendahuluan
layanan-layanan yang terpisah. • Memerlukan infrastruktur yang lebih canggih untuk otomatisasi, penyusunan ulang, dan orkestrasi layanan. • Memerlukan kerja sama dan koordinasi yang baik antara tim pengembangan untuk memastikan integrasi yang lancar antara layanan-layanan yang berbeda. Pendahuluan
menawarkan manfaat seperti skalabilitas, pembaruan cepat, dan fleksibilitas teknologi Sementara juga memunculkan tantangan seperti kompleksitas manajemen dan konsistensi data yang perlu diatasi dengan solusi dan praktik terbaik. end