Modern Uygulamalar Oluşturmak için En İyi 8 Hizmet Ağı Yöneticisi
Yayınlanan: 2022-05-31Mikro hizmetlerle çalışırken, uygulamalarınız bir sistem olarak birlikte çalışmak için iletişim kurması gereken birçok farklı küçük ölçekli hizmetten oluşur.
Mikro hizmetler, çoğu durumda doğrudan bireysel hizmetler arasında birbirleriyle iletişim kurar, bu da onları verimsiz ve arızaya açık hale getirir, ancak bu tam olarak hizmet ağının yardımcı olabileceği yerdir.

Hizmet ağı nedir?
Hizmet ağı terimi, başlangıçta, bir uygulamanın farklı mikro hizmetleri arasındaki veri alışverişini kontrol etmenin bir yolunu tanımlar. Spesifik olarak, mikro hizmetler arasındaki iletişimi sağlayan yazılımı kullanmakla ilgilidir:
- Uygulama kimliği
- Yük dengeleme
- kimlik doğrulama
- şifreleme
Birbirine bağlı mikro hizmetlerden oluşan bir ağ, proxy'leri aracılığıyla çalışan paralel bağlantılarla oluşturulur. Bu amaçla, ağ bağlantılı bir mikro hizmet ağı, daha yüksek düzeyde bir veri merkezi ağ yönetim sistemine entegre edilmiştir. Böylece, uygulamanın evrimi sırasında kesinti süresine maruz kalmadan iletişimi optimize etmek daha kolaydır. Gerçekte, her uygulama hizmeti, kullanıcı ihtiyaçlarını karşılamak için başka hizmetlere ihtiyaç duyar.
Örneğin, bir online satış uygulaması ile kullanıcı herhangi bir satın alma işleminden önce ilgili ürünün gerçekten mevcut olup olmadığını öğrenecektir. Bunun için veri tabanı ile ilgili hizmet ile ürünün web sayfası arasında iletişim kurulmalıdır. Ardından, ikincisi kullanıcının çevrimiçi alışveriş sepetiyle iletişim kurmalıdır.
Ayrıca bayi, kullanıcıları daha iyi yönlendirmek için uygulama üzerinde bir ürün teklif hizmeti kurabilir. Bu durumda, bu yeni hizmet, teklifleri vermek için sadece bir ürün etiketleri veritabanı ile değil, aynı zamanda ürün sayfası ile önceden iletişim kurması gereken envanter veritabanı ile de değiş tokuş etmelidir. Aslında bir dizi yeniden kullanılabilir ürün.
Modern uygulamalar genellikle bu şekilde, amacı belirli bir iş işlevini gerçekleştirmek olan bir hizmetler ağı olarak kurulur.
Hizmet ağı nasıl çalışır ve avantajları nelerdir?
Bir Service Mesh'in, bir uygulamanın çalışma ortamında başka işlevler oluşturmadığına dikkat edilmelidir. Bir uygulamada oluşturulan Service Mesh, kurumsal bilgi işlem sektöründe tanıdık bir kavram olmaya devam eden bir grup ağ proxy'si biçimindedir.
Muhtemelen bir iş bilgisayarı kullanarak web sayfalarını her ziyaret ettiğinizde proxy kullanırsınız. Mikro hizmetlerin altyapı katmanını temel alan proxy'ler, isteklerin bunlar arasında yönlendirilmesine yardımcı olur. Bu nedenle, "sepet" kelimesi, bir hizmet ağındaki proxy'leri belirtir ve bunun nedeni, yürütmelerinin hizmetlerin içinde değil, yanında yapılmasıdır. Çeşitli hizmetlerin "sepet" vekilleri bir ağ ağı oluşturur.
Ayrıca, bir hizmet ağının yokluğunda, geliştiriciler kendilerini hizmetler arasındaki iletişim stratejisine göre her bir mikro hizmeti kodlamak zorunda bulurlar. Departmanlar arasındaki iletişim mantığı her departmanda gizli olduğundan, geliştiriciler şirket hedeflerine ulaşmak için mücadele eder.
Ayrıca iletişim sorunlarının teşhisi sırasında zorluklar yaşarlar. Son olarak, hizmetler ağı, hizmetler arasındaki iletişimin yönetimiyle ilgili bazı sorunlara çözüm bulmayı mümkün kılar.
Hizmet ağı ile, ihtiyaç duyulan veri ve içgörüler, ağ ağının dış kaynaklı altyapısında kolayca erişilebilir olduğundan bu iletişimi otomatikleştirebilirsiniz. Herhangi bir sorun ve arızanın yerini belirlemeyi ve ortadan kaldırmayı kolaylaştırır. Ayrıca, şirketin BT departmanlarının rahatlamasını ve kendilerini diğer katma değerli görevlere adamasını sağlar.
İletişim soyutlaması nedeniyle, başarısız hizmetler de otomatik olarak atlanabilir ve işleyen uygulama parçalarının veri alışverişini bozmaz. Service mesh sisteminin kolay erişilebilir verileri de kolayca analiz edilebilir ve bu sayede uygulamanın operasyonel olarak iyileştirilmesi ve performans artışı sağlanır.
Servis ağının nasıl çalıştığını inceledik; Şimdi en iyi hizmet ağı yöneticilerinden bazılarına bakalım:
ağ örgüsü

Meshery, farklı hizmet ağı çözümleri çalıştırmanıza izin veren bir ağ hizmeti yöneticisidir. Kubernetes ve Docker'da konuşlandırılabilir. Mastery, Linkerd ve Istio dahil olmak üzere tüm büyük ağ hizmeti çözümleri için kıyaslama yapmak için bir UI ve CLI sağlar. Meshery doğrudan kümeye veya yerel olarak dağıtılabilir.
Amazon Uygulama Ağı
AWS App Mesh, Amazon'un Kubernetes platformu (EKS) için bir ağ ağı hizmetidir. Giriş ve çıkış trafiği için elçi yardımcı proxy aracılığıyla uygulama düzeyinde yönetim sağlar ve AWS X-Ray kullanarak gözlemlenebilirlik ölçümleri sağlamak için devre kesmeyi kullanır. AWS uygulama ağı, Amazon EC2 ve AWS Fargate gibi diğer hizmetlerin yanında da kullanılabilir.

bağlayıcı
Linkerd, mikro hizmetleri yönetmek için Rust tabanlı özel olarak oluşturulmuş bir proxy kullanan açık kaynaklı bir ağ ağı yöneticisidir. Gözlemlenebilirlik ölçümleri sağlamak için önceden yüklenmiş Grafana ile birlikte gelir. Linkerd, diğer açık kaynaklı ağ yöneticilerinden farklı olarak GUI sunar ve yalnızca Prometheus'u desteklemekle kalmaz, aynı zamanda Traefik, Kong ve Gloo gibi giriş denetleyicilerini de destekler. Linkerd ayrıca kümeler arasında otomatik dağıtım yükseltmelerini de destekler.
istio

Istio, mikro hizmetleri yönetmek için Envoy proxy kullanan açık kaynaklı bir hizmet ağıdır. Istio, yük dengeleme, ilke oluşturma, trafik yönlendirme, zaman aşımları, devre kesme, trafik kaydırma ve yeniden denemeler gibi çeşitli özellikler sunar. Istio ayrıca, ek yazılım kurulumu gerektirmeden kaplar veya makineler arasında dağıtılmış izleme işlevselliği sağlar.
Kuma

Kuma, Kong tarafından oluşturulan ve mevcut hizmetlerin çalışmasını Envoy proxy aracılığıyla genişletmek için kullanılan bir hizmet ağıdır. Kuma, farklı mikro hizmetleri destekler ve ağlar için gelişmiş güvenlik ve izleme sağlar. Yönlendirme, mTLS, trafik denetimi ve çeşitli güvenlik özellikleri için önceden paketlenmiş bir dizi ilkeyle birlikte gelir. Kuma ile farklı izole edilmiş ağları tek bir kontrol ve veri düzlemi üzerinden kolayca kontrol edebilirsiniz.
Nginx Ağı

Nginx, Nginx Plus tarafından desteklenen veri düzlemini kullanarak kapsayıcılar arasındaki trafiği şifreleyen Kubernetes için bir hizmet ağıdır. Nginx, hizmetler arasındaki trafiği yönetmek için hız sınırlama ve devre kesiciler kullanır ve hizmet ağı ölçümlerini gözlemlemek için bir Grafana panosu ile birlikte gelir.
konsolos

Consul by HashiCorp, yerleşik bir proxy katmanı sağlayan ve ayrıca Envoy sepet proxy'sini destekleyen bir hizmet ağıdır. Yol tabanlı yönlendirme, trafik kaydırma ve yük dengeleme sunar. Consul, HashiCorp Vault ile entegredir ve ayrıca mTLS'yi de destekler. Gözlenebilirlik ölçümlerini görüntülemek için Prometheus ve Grafana ile entegre edilebilir.
Gloo Mesh

Gloo Mesh, Istio ağının üzerine kurulmuş bir hizmet ağıdır ve Zero Trust güvenlik modelini uygulamanıza izin veren Envoy proxy'sini kullanır. Gloo, çok kiracılı Kubernet'leri, VM'leri ve diğer mikro hizmetleri destekler. Dağıtımı kolaylaştıran hem CI/CD hem de GitOps dostudur.
Son sözler
Hizmet ağı, farklı mikro hizmetler arasındaki iletişim sorununu çözer ve çeşitli güvenlik avantajları sağlar; ancak piyasada bulunan yüzlerce farklı ağ çözümü nedeniyle, gereksinimlerinize en uygun ve yönetimi kolay bir ağ hizmeti seçmek önemli hale gelir.