Pada modul ini, Anda akan memecah aplikasi node.js ke dalam beberapa layanan yang saling terkoneksi dan mendorong citra tiap layanan ke repositori Amazon Elastic Container Registry (Amazon ECR). Mulai Membangun
Arsitektur aplikasi akhir menggunakan Amazon Elastic Container Service (Amazon ECS) dan Application Load Balancer (ALB).

a. Klien
Klien membuat permintaan lalu lintas melalui port 80.
b. Penyeimbang Muatan
ALB merutekan lalu lintas eksternal ke layanan yang tepat. ALB menginspeksi permintaan klien dan menggunakan aturan perutean untuk mengarahkan permintaan ke instans serta port agar grup target dapat mencocokkan aturan.
c. Grup Target
Tiap layanan memiliki grup target yang melacak instans dan port tiap kontainer yang berjalan untuk layanan tersebut.
d. Layanan mikro
Amazon ECS menerapkan tiap layanan ke dalam kontainer di seluruh klaster EC2. Tiap kontainer hanya menangani satu fitur.
Isolasi Crash
Bahkan organisasi rekayasa terbaik dapat dan memiliki crash fatal dalam produksi. Selain mengikuti seluruh praktik terbaik standar untuk menangani crash dengan baik, satu pendekatan yang dapat membatasi dampak crash tersebut adalah dengan membangun layanan mikro. Arsitektur layanan mikro dianggap baik jika satu bagian mikro layanan Anda crash, maka hanya bagian layanan tersebut yang tidak berfungsi. Layanan lainnya milik Anda dapat terus bekerja dengan baik.
Isolasi untuk Keamanan
Pada aplikasi monolit, jika ada pelanggaran keamanan pada satu fitur aplikasi, misalnya kerentanan yang memungkinkan eksekusi kode jarak jauh, maka Anda pasti menganggap bahwa penyerang juga telah memiliki akses ke semua fitur lain pada sistem. Hal ini dapat berbahaya jika, misalnya, fitur unggah avatar Anda memiliki masalah keamanan yang akhirnya dapat membahayakan database Anda dengan kata sandi pengguna. Memisahkan fitur ke dalam beberapa layanan mikro menggunakan Amazon ECS dapat membantu Anda mengamankan akses ke sumber daya AWS dengan memberikan peran AWS Identity and Access Management (IAM) kepada masing-masing layanan. Ketika praktik terbaik layanan mikro diikuti, maka hasilnya ketika penyerang membahayakan satu layanan, mereka hanya memperoleh akses ke sumber daya layanan tersebut, dan tidak dapat mengakses sumber daya lain secara horizontal dari layanan lain tanpa menerobos ke layanan tersebut juga.
Penskalaan Mandiri
Ketika fitur dipecah ke dalam beberapa layanan, maka jumlah infrastruktur dan jumlah instans yang digunakan oleh masing-masing kelas layanan mikro dapat diskalakan ke atas dan ke bawah secara mandiri. Hal ini memudahkan pengukuran biaya fitur tertentu dan mengidentifikasi fitur yang mungkin perlu dioptimalkan terlebih dahulu. Jika satu fitur tertentu memiliki masalah dengan kebutuhan sumber dayanya, fitur lain tidak akan terpengaruh dan kinerja yang andal tetap dapat dipertahankan.
Laju Pengembangan
Layanan mikro mengurangi risiko dalam pengembangan, sehingga tim dapat membangun dengan lebih cepat. Dalam monolit, menambahkan fitur baru secara potensial dapat berdampak pada fitur lain yang terkandung dalam monolit tersebut. Pengembang harus mempertimbangkan dengan cermat dampak dari kode apa pun yang mereka tambahkan, dan memastikan bahwa mereka tidak merusak apa pun. Di sisi lain, arsitektur layanan mikro yang layak memiliki kode baru untuk fitur baru yang akan dimasukkan ke layanan baru. Pengembang dapat merasa yakin bahwa kode apa pun yang mereka tulis sama sekali tidak akan berdampak pada kode yang ada, kecuali secara eksplisit mereka menuliskan koneksi di antara dua layanan mikro.