TUGAS 3 PPL - Software Achitecture

Nama : Muhammad Hafidh Rosyadi

NRP : 5025211013

Kelas : PPL A

Software Achitecture

Dalam pertemuan ini di kelas PPL A, kita diberi tugas untuk mengobservasi atau mencari informasi mengenai sebuah aplikasi dan kemudian mendeskripsikan struktur arsitekturnya. Kita juga perlu menjelaskan fungsi dan tanggung jawab dari masing-masing komponen dalam arsitektur tersebut. Untuk mendapatkan informasi ini, kita bisa merujuk pada berbagai sumber seperti paper ilmiah, jurnal, atau dokumentasi dari aplikasi tersebut.

Referensi : https://elib.unikom.ac.id/files/disk1/801/jbptunikompp-gdl-cahyantose-40046-8-20.10114-a.pdf

 IMPLEMENTASI ARSITEKTUR MICROSERVICES
PADA BACKEND COMRADES 

    Comrades adalah sebuah aplikasi pintar yang berfungsi sebagai platform informasi dan edukasi mengenai HIV/AIDS. Aplikasi ini dirancang untuk memfasilitasi pengidap HIV/AIDS dalam bertukar informasi dan mendapatkan dukungan, serta memungkinkan mereka untuk terhubung tidak hanya dengan sesama pengidap tetapi juga dengan masyarakat umum. Aplikasi Comrades telah mengadopsi arsitektur microservices untuk web services-nya dan akan menggunakan pendekatan Domain Driven Design pada pemecahan service nya.

    Microservices adalah desain arsitektur aplikasi yang memecah aplikasi menjadi service kecil yang terpisah sesuai dengan fungsinya. Setiap service dibagi lebih rinci lagi dari segi fungsionalitasnya agar setiap fungsi dapat bekerja secara independen. 

    Arsitektur dari microservices Comrades digambarkan sebagai berikut:

 


Berikut adalah deskripsi mengenai arsitektur baru yang akan diterapkan pada web services Comrades:

a. API Gateway Menggunakan Ambassador: Ambassador akan digunakan sebagai API gateway. Fungsinya adalah untuk menangani request yang datang dan meneruskannya ke service yang dituju dalam Kubernetes. Ambassador juga dilengkapi dengan load balancer, yang berfungsi membagi request untuk menghindari kelebihan kapasitas.

b. Service dan Pods: Setiap service dalam arsitektur ini mewakili sebuah komponen dari web service. Bergantung pada kebutuhan, setiap service mungkin berisi beberapa pods untuk melayani request dari pengguna secara efisien.

c. Komunikasi Antarservice: Setiap service diizinkan untuk berkomunikasi dengan service lain jika diperlukan. Komunikasi antarservice ini bisa terjadi baik dalam satu node maupun lintas node. Mekanisme komunikasi menggunakan protokol HTTP dengan format data JSON. Untuk memudahkan identifikasi dan komunikasi antarservice, diterapkan mekanisme Service Discovery yang bertugas menemukan dan menyediakan informasi alamat dari service yang tersedia.

d. Database MySQL: Semua service akan terhubung langsung ke database MySQL yang digunakan. Database ini akan menyimpan data yang relevan dengan operasi dan transaksi yang dilakukan oleh aplikasi.

e. Database MongoDB: Sama seperti MySQL, semua service juga akan terhubung langsung ke MongoDB. Database ini digunakan untuk menyimpan data yang memerlukan skema yang lebih fleksibel atau untuk keperluan yang berbeda dari MySQL.

 

Komentar

Postingan populer dari blog ini

QUIZ PBKK A

QUIZ 2 PBKK A

TUGAS 2 PWEB Membuat Portal Berita dan Kumpulan course