Kubernetes üzerinde Microservice Mimarisi Tasarlamak için Bilmeniz Gerekenler


Kubernetes, Hyper-V ve VMWare gibi geleneksel sanallaştırma mimarilerinden daha iyi olduğu için tercih ediliyor. Mikroservis mimarilerinde Kubernetes ve OpenShift gibi container platformları kullanılıyor.

Kubernetes Cluster’ında bilmeniz gereken nesnelerden bazıları şunlar:

  1. Pod’lar
  2. Service’ler
  3. Deployment’lar

.NET Core uygulamanızı Docker ile compose edip Kubernetes clusterınıza pod olarak yüklüyorsunuz. Service ve Deployment ile expose ederek dış dünyaya açıyorsunuz.

Veritabanı ve diğer hizmetleri de Kubernetes pod ve servisi olarak uygulamalarınızın hizmetine sunuyorsunuz.

Kubernetes clusterınızdaki podlarda çalışan uygulamalarınızın birbiriyle iletişimi için Kafka kullanabilirsiniz.

Load Balancer ve Proxy hizmeti olarak NGINX yaygın olarak tercih ediliyor.

Network güvenliği için service mesh olarak Istio kullanabilirsiniz.

Sistemin konfigürasyonu zaman alıyor ve yayınlama süreçleri de basit sistemlere göre daha uzun sürüyor. Bu nedenle Continues Integration ve Continues Deployment (CI/CD) için Jenkins ya da Puppet gibi bir servise daha ihtiyacınız olacak.

Mikroservis mimarilerinde iletişim için Restful servisler yerine daha hızlı olduğu için Grpc ve Grpc-Web tercih ediliyor.

Veritabanı olarak MongoDB ve Cassandra gibi No-SQL veritabanları yatay büyümeyi destekledikleri için Kubernetes’e daha uygun.

Burada adı geçen yazılımların alternatifleri de var. Ben yüksek performans için kullanılanlardan bahsettim. Siz de kıyaslama yaparak ihtiyacınıza uygun alternatifi tercih edebilirsiniz. Bu günlerde yazılımcıların Devops süreçlerinden biraz anlıyor olması lazım.

Mutlu kodlamalar 🙂

Reklam

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s