Anda di halaman 1dari 12

APLICATION PROGRAMMING INTERFACE

“Makalah API Gateway Microservices”

DISUSUN OLEH:
CICI AMANDA
F 551 19 041
KELAS E

PROGRAM STUDI S1 TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS TADULAKO
2021
KATA PENGANTAR

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.

Palu, 29 April 2021

Penulis

i
DAFTAR ISI

KATA PENGANTAR .............................................................................. i

DAFTAR ISI ............................................................................................ ii

BAB I PENDAHULUAN ......................................................................... 1

1.1 Latar Belakang .............................................................................. 1


1.2 Rumusan Masalah ......................................................................... 2
1.3 Tujuan Penulisan ........................................................................... 2

BAB II PEMBAHASAN .......................................................................... 3

2.1 Api Gateway .................................................................................. 3


2.2 Microservices Architecture ............................................................ 4
2.3 Kelebihan dan Kekurangan Microservices ...................................... 6

BAB III PENUTUP .................................................................................. 8

3.1 Kesimpulan ................................................................................... 8


3.2 Saran ............................................................................................. 8
DAFTAR PUSTAKA .............................................................................. 9

ii
BAB I

PENDAHULUAN

1.1 Latar Belakang


API atau Application Programming Interface adalah sebuah interface yang
dapat menghubungkan aplikasi satu dengan aplikasi lainnya. Jadi, API berperan
sebagai perantara antar berbagai aplikasi berbeda, baik dalam satu platform yang
sama atau lintas platform. Perumpamaan yang bisa digunakan untuk menjelaskan
API adalah seorang pelayan di restoran. Tugas pelayan tersebut adalah
menghubungkan tamu restoran dengan juru masak. Tamu cukup memesan
makanan sesuai daftar menu yang ada dan pelayan memberitahukannya ke juru
masak. Nantinya, pelayan akan kembali ke tamu tadi dengan masakan yang sudah
siap sesuai pesanan. Tidak hanya itu, API juga memungkinkan Anda
mengembangkan sebuah website dengan berbagai fitur yang lebih lengkap. Jika
menggunakan WordPress, Anda bisa melakukan integrasi dengan berbagai
platform menggunakan API. Salah satu contohnya adalah WordPress REST API.
Sebagai contoh, ketika Anda menggunakan MailChimp untuk upaya email
marketing, Anda perlu melakukan integrasi layanan MailChimp di WordPress
Anda dengan bantuan plugin. Kemudian, Anda cukup memasukkan API key yang
dibutuhkan agar layanan tersebut berjalan otomatis di website Anda.
Gateway (Gerbang Jaringan) adalah suatu perangat yang menghubungkan
jaringan komputer yang satu atau lebih jaringan komputer dengan media
komunikasi yang berbeda sehinga informasi pada saat jaringan komputer di alihkan
akan berbeda dengan media jaringan yang berbeda. Di era sekarang ini dimana
internet sudah merajalela, seringkali pengertian dari pada gateway bergeser atau
tidak lagi sama seperti awal pengertian, dan juga banyak orang yang mengaitkan
atau menyamakan gateway ini dengan router yang sebetulnya keduanya memiliki
kegunaan atau pengertian yang sedikit berbeda. Gateway juga dapat di artikan

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

2.1 API Gateway


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. API ini biasanya berbentuk
REST API menggunakan protokol http. Microservice sendiri sebenarnya
berasal dari monolithic yang telah dipecah. Monolithic adalah aplikasi yang
sehari - hari kita kembangkan, dimana semua module terdapat di dalam 1
aplikasi yang sangat besar. Client biasanya hanya mengakses 1 URL REST API
sedangkan microservice memiliki banyak service REST API, untuk mengatasi
masalah ini maka kita gunakan API gateway. Terdapat banyak contoh API
gateway yang ada di pasaran contohnya kong, tyk, API Umbrella dan lain -
lain.
API bertindak sebagai "pintu depan" bagi aplikasi untuk mengakses
data, logika bisnis, atau fungsi dari layanan backend Anda. API Gateway
mendukung beban kerja terkontainer dan tanpa server, serta aplikasi web. API
Gateway menangani semua tugas yang terlibat dalam penerimaan dan
pemrosesan hingga ratusan ribu panggilan API secara bersamaan, termasuk
pengelolaan lalu lintas, dukungan CORS, otorisasi dan kontrol akses,
pembatasan, pemantauan, dan pengelolaan versi API. API Gateway tidak
memiliki biaya minimum atau uang muka. Anda membayar panggilan API
yang Anda terima dan jumlah data yang ditransfer keluar, dan dengan model
harga bertingkat API Gateway, Anda dapat mengurangi biaya saat penggunaan
API diskalakan Anda.

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.

Contoh Arsitektur Microservices

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/

Anda mungkin juga menyukai