Bu modülde, node.js uygulamasını birbirine bağlı birkaç hizmete ayıracak ve her hizmetin görüntüsünü bir Amazon Elastic Container Registry (Amazon ECR) deposuna göndereceksiniz. Oluşturmaya Başlayın
Nihai uygulama mimarisi, Amazon Elastic Container Service (Amazon ECS) ve Application Load Balancer (ALB) kullanır.

a. İstemci
İstemci, trafik isteklerini 80 numaralı bağlantı noktası üzerinden gerçekleştirir.
b. Yük Dengeleyici
ALB, dışarıdan gelen trafiği doğru hizmete yönlendirir. ALB, istemci isteğini inceleyip yönlendirme kurallarını kullanarak kurala uyan hedef grubu için isteği bir bulut sunucusuna ve bağlantı noktasına yönlendirir.
c. Hedef Grupları
Her hizmetin, bu hizmet için çalışan her container’a ait bulut sunucularını ve bağlantı noktalarını takip eden bir hedef grubu vardır.
d. Mikro Hizmetler
Amazon ECS, her hizmeti bir EC2 kümesi genelinde bir container’a dağıtır. Her container sadece tek bir özelliği idare eder.
Kilitlenmelerin Yalıtımı
En iyi mühendislik kuruluşları bile üretimde ölümcül kilitlenmelerle karşılaşabilir. Kilitlenmeleri titizlikle ele almak için tüm standart en iyi uygulamaları takip etmenin yanında, bu tür kilitlenmelerin etkisini sınırlandırabilecek bir başka yaklaşım da mikro hizmetler geliştirmektir. İyi mikro hizmet mimarisinin göstergesi, hizmetinizin bir mikro parçasının kilitlenmesi halinde, hizmetinizin sadece o parçasının çalışmasının durmasıdır. Hizmetinizin geri kalan kısmı gerektiği gibi çalışmaya devam edebilir.
Güvenlik Amaçlı Yalıtım
Tek parçadan oluşan bir uygulamanın bir özelliğinde, örneğin uzaktan kod yürütmeyi mümkün kılan güvenlik açığı gibi bir güvenlik ihlali meydana gelirse, bir saldırganın sistemin tüm diğer özelliklerine de erişim kazanmış olabileceğini varsaymanız gerekir. Bu, örneğin avatar yükleme özelliğinizde kullanıcı parolaları içeren veritabanınızın gizliliğinin bozulmasıyla sonuçlanacak bir güvenlik sorunu bulunduğu durumlarda tehlikeli olabilir. Özellikleri Amazon ECS kullanarak mikro hizmetlere ayırmanız, her hizmete kendi AWS Identity and Access Management (IAM) görevini vererek AWS kaynaklarına erişimi güvence altına almanıza olanak tanır. Mikro hizmet en iyi uygulamalarına uyulması halinde, bir saldırgan bir hizmetin gizliliğini bozduğunda sadece o hizmetin kaynaklarına erişim elde eder ve başka hizmetlere zorla girmeden bu hizmetlerin kaynaklarına yatay olarak erişim sağlayamaz.
Bağımsız Ölçeklendirme
Özellikler mikro hizmetlere ayrıldığında, her mikro hizmet sınıfı tarafından kullanılan altyapı miktarı ve bulut sunucusu sayısı yukarı ve aşağı yönde bağımsız olarak ölçeklendirilebilir. Bu sayede, belirli bir özelliğin maliyeti daha kolay ölçülebilir ve öncelikli olarak optimize edilmesi gereken özellikler daha kolay tespit edilebilir. Belirli bir özelliğin kaynak ihtiyaçları ile ilgili sorun yaşaması durumunda, diğer özellikler etkilenmez ve güvenilir performans sürdürülebilir.
Geliştirme Hızı
Mikro hizmetler geliştirme risklerini azaltır ve bu sayede ekipler geliştirme hızlarını artırabilir. Tek parçalı bir uygulamada yeni bir özellik ekleme, potansiyel olarak bu tek parçalı uygulamanın içerdiği diğer tüm özellikleri etkileyebilir. Geliştiricilerin ekledikleri kodların yaratacağı etkiyi dikkatle göz önüne alması ve herhangi bir şeye zarar vermeyeceklerinden emin olmaları gerekir. Diğer taraftan, düzgün bir mikro hizmet mimarisi yeni bir hizmete eklenecek yeni bir özellik için yeni koda sahiptir. Geliştiriciler, açık bir şekilde iki mikro hizmet arasında bağlantı oluşturacak bir kod yazmadıkları sürece, yazdıkları hiçbir kodun mevcut kodu hiçbir şekilde etkileyemeyeceği konusunda rahat olabilir.