DISUSUN OLEH:
CICI AMANDA
F 551 19 041
KELAS E
Dengan memanjatkan Puji dan Syukur kepada Tuhan Yang Maha Esa atas segala
rahmat dan hidayah-Nya yang telah dilimpahkan kepada penulis, akhirnya tugas
makalah ini dapat selesai tepat pada waktunya.
Makalah ini pada dasarnya membentuk kita untuk dapat mengerti dan
memahami tentang API Gateway Microservices
Penulis juga sangat menyadari bahwa makalah ini sangat jauh dari sempurna.
Oleh karena itu, saran dan kritik yang membangun sangat kami butuhkan, agar makalah
selanjutnya dapat lebih baik dan bermanfaat untuk kita semua.
Penulis
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
1
sebagai komputer yang daapat menghubungkan 2 buah jaringan atau lebih karena
memiliki minimal 2 buah network interface. Untuk dapat menghubungkan 2 buah
jaringan yang berbeda protokol nya, gateway harus mengkonversi setiap protocol
yang berbeda pada setaip jaringan komputer sehingga dapat di hubungkan satu
sama lain. Gateway yang berbeda protocol tidak bisa di sambungkan karen protocol
nya yang berbeda, maka secara otomatis pada saat mengirim informasi dari
komputer satu dengan komputer lainnya tidak dapat di akses, maka dari itu protocol
nya harus di konversi kan agar dapat lancar mengakses suatu informasi dengan
mudah.
Microservices adalah sebuah pendekatan untuk mengembangkan aplikasi
dengan rangkaian service-service yang kecil, dimana setiap service berjalan pada
prosesnya sendiri-sendiri. 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.
1.2 Rumusan Masalah
1. Apa pengertian Api Gateway ?
2. Apa yang dimaksud Microservices Architecture ?
3. Apa saja kelebihan dan kekurangan dari Microservices ?
1.3 Tujuan Penulisan
Tujuan penulisan makalah ini ditunjukan sebagai sarana pembelajaran mata kuliah
Application Programming Interface dan sebagai tugas yang harus dikerjakan.
2
BAB II
PEMBAHASAN
3
2.2 Microservices Architecture
Microservices berarti membagi aplikasi menjadi layanan yang lebih
kecil dan saling terhubung tidak seperti aplikasi monolitik. Setiap microservice
merupakan aplikasi kecil yang memiliki arsitektur heksagonal sendiri yang
terdiri dari logika beserta berbagai adapternya (bahasa pemrograman, dll). Pola
arsitektur Microservice secara signifikan mempengaruhi hubungan antara
aplikasi dan database. Alih-alih berbagi skema database tunggal dengan
services lainnya, masing-masing services memiliki skema database tersendiri.
Di satu sisi, pendekatan ini bertentangan dengan gagasan model data enterprise-
wide. Selain itu, sering kali menghasilkan duplikasi beberapa data. Namun,
memiliki skema database per service sangat penting jika ingin mendapatkan
keuntungan dari layanan microservice. Masing-masing service memiliki
database sendiri. Selain itu, services dapat menggunakan jenis database dan
bahasa pemrograman yang paling sesuai dengan kebutuhannya.
Jadi intinya microservice yaitu membagi service ke bagian yang lebih kecil
dimana service — service tersebut saling berhungan satu sama lain.Selain itu,
4
dalam setiap services yang dibuat bisa menggunakan teknologi yang berbebeda.
Sedangkan untuk implementasi ke web, android, iOS dll tidak bisa secara
langsung. Dimana kita harus membuat terlebih dahulu yang namanya API
Gateway. API Gateway memiliki tugas seperti load balancing, caching, access
controll , API metering, dan monitoring.
Akhir-akhir ini cloud microservice memecah strategi SOA (Service
Oriented Architecture) lebih jauh menjadi kumpulan service fungsional yang
lebih granular. Koleksi microservices ini digabungkan ke dalam microservice
besar, memberikan kemampuan yang lebih untuk melakukan fungsi self-
healing dengan cepat di layanan keseluruhan atau aplikasi inducer di dalam
suatu aplikasi yang besar. Sebuah microservice mencoba untuk menangani satu
masalah, seperti pencarian data, fungsi logging, atau fungsi layanan web.
Pendekatan ini meningkatkan fleksibilitas — misalnya, memperbarui program
satu fungsi tanpa harus melakukan reinstallation atau bahkan men-deploy ulang
ke Architecture microservice lainnya. Titik-titik kegagalan menjadi
independen dan terisolasi satu sama lainnya, sehingga
menciptakan Architecture aplikasi yang lebih stabil secara keseluruhan.
Microservices digunakan secara bersamaan dengan Docker Container.
Container adalah perantara yang sangat tepat untuk mendeploy Microservices.
Container dapat diluncurkan dalam hitungan detik, sehingga dapat diterapkan
kembali dengan cepat setelah kegagalan atau migrasi, dan dapat di scale-up
dengan cepat untuk memenuhi permintaan. Container bahkan lebih efisien
daripada VM, memungkinkan kode (dan code library yang diperlukan) untuk
diterapkan pada sistem Linux apa pun (atau OS apa pun yang mendukung
kontainer Docker). Karena Container adalah bawaan Linux, perangkat keras
komoditas dapat diterapkan ke berbagai microservices di datacenter, private
cloud, atau multicloud hybrid.
5
Karakteristik Microservices
1) Aplikasi scalable, secure dan reliable
2) Setiap layanan memiliki infrastruktur sendiri
3) Karena setiap layanan memiliki infrastuktur sendiri, bias dengan mudah
membuat aplikasi tanpa memikirkan hubungan atau ketergantungan module
dengan layanan yang lain
4) Ada kemungkinan komunikasi antarmodule mengalami kegagalan. Untuk
itu pengguna harus selalu mempersiapkan cara handlenya.
5) Proses update aplikasi hanya melingkupi layanan yang terkait
6) Codenya berbasis layanan
7) Proses scalingnya bias menggunakan beberapa metode, scaling up dan
scaling side.
2.3 Kelebihan dan Kekurangan Microservices
1) Kelebihan microservices
Berdasarkan pengertian dan karakteristik yang sudah dijelaskan
sebelumnya, dapat diketahui kelebihan dari microservices adalah sebagai
berikut:
aplikasi lebih aman dan sesuai dengan perkembangan
setiap service berdiri sendiri dan lebih mudah dimonitor
maintenance yang lebih mudah
tidak ada hambatan dalam menggunakan teknologi baru
pengembangan dapat dilakukan dari tiap service-nya tanpa
mengganggu fitur utama
2) Kekurangan microservices
Selain memiliki banyak kelebihan, tentu microservices juga memiliki
beberapa kekurangan, di antaranya adalah:
Ketika satu entity pada database berubah maka setiap entity yang sama
di setiap database service harus diubah
Untuk beberapa kasus , sulit untuk menerapkan perubahan services,
maka dari itu diperlukan perancangan yang matang.
6
Deployment yang kompleks, perlu konfigurasi untuk menjalankan
setiap services karena memiliki runtime yang berbeda, tidak seperti
aplikasi monolitik yang memiliki sistem tinggal upload , deploy dan
beres.
Perlu automation yang tinggi dalam melakukan deployment.
7
BAB III
PENUTUP
3.1 Kesimpulan
API Gateway merupakan gerbang dari beberapa API, bertugas sebagai
management API, merge beberapa API, authentication API dan lain - lain.
Berbicara mengenai API gateway maka tidak terlepas dengan pembahasan
microservice. Microservice itu sendiri sebenarnya adalah kumpulan dari beberapa
service atau kumpulan dari beberapa API.
Microservices berarti membagi aplikasi menjadi layanan yang lebih kecil dan
saling terhubung tidak seperti aplikasi monolitik. Setiap microservice merupakan
aplikasi kecil yang memiliki arsitektur heksagonal sendiri yang terdiri dari logika
beserta berbagai adapternya (bahasa pemrograman, dll). Pola arsitektur
Microservice secara signifikan mempengaruhi hubungan antara aplikasi dan
database.
3.2 Saran
Penulis tentunya masih menyadari jika makalah diatas masih terdapat banyak
kesalahan dan jauh dari kesempurnaan. Penulis akan memperbaiki makalah
tersebut dengan berpedoman pada banyak sumber serta kritik yang membangun
dari para pembaca.
8
DAFTAR PUSTAKA
https://www.niagahoster.co.id/blog/api-adalah/
https://idcloudhost.com/mengenal-apa-itu-gateway-gerbang-jaringan/
https://rizkimufrizal.github.io/belajar-api-gateway/
https://aws.amazon.com/id/api-gateway/
https://medium.com/codelabs-unikom/microservices-apaan-tuh-b9f5d56e8848
https://datacommcloud.co.id/microservices-adalah-perbedaan-monolithic-
architecture/