Servis ağı ve Istio nedir?

Hizmet ağı ve Istio, mikro hizmet mimarisi ve Kubernetes alanında birbiriyle yakından ilişkili kavramlardır. Hizmet ağı, dağıtılmış bir uygulama içinde hizmetten hizmete iletişimi yönetmekten sorumlu özel bir altyapı katmanını ifade eder. Genellikle her bir mikro hizmet örneğinin yanında dağıtılan bir dizi hafif, yardımcı proxy örneğinden oluşur. Bu proxy’ler iletişimi yöneterek hizmet keşfi, yük dengeleme, trafik yönetimi, güvenlik politikaları ve gözlemlenebilirlik gibi işlevler sağlar. Öte yandan Istio, Envoy proxy üzerine kurulu ve mikro hizmetleri bağlamak, güvenliğini sağlamak, kontrol etmek ve gözlemlemek için tasarlanmış açık kaynaklı bir hizmet ağı platformudur. Trafik yönlendirme, politika uygulama ve telemetri gibi gelişmiş özellikler sağlamak için Kubernetes ile entegre olarak mikro hizmet dağıtımlarında esnekliği ve görünürlüğü artırır.

Hizmet ağının amacı, dağıtılmış bir uygulama içindeki mikro hizmetler arasındaki iletişimin yönetimini basitleştirmek ve geliştirmektir. Mikro hizmet mimarilerinin karmaşıklığı arttıkça, hizmet ağı teknolojileri hizmet keşfi, yük dengeleme, güvenilirlik, güvenlik ve gözlemlenebilirlik ile ilgili zorlukların giderilmesine yardımcı olur. İletişim kaygılarını bireysel mikro hizmetlerden soyutlayan hizmet ağları, merkezi kontrol ve görünürlük sağlayarak mikro hizmet tabanlı uygulamaların sorunsuz dağıtımını, ölçeklendirilmesini ve izlenmesini kolaylaştırır.

Bir hizmet ağı olan Docker kapsayıcıları, Dockerlaştırılmış mikro hizmetler arasındaki iletişimi yönetme yeteneklerini genişletir. Farklı mikro hizmetleri çalıştıran Docker konteynerleri arasındaki trafiği engellemek ve yönetmek için sepet proxy’lerini kullanarak geleneksel hizmet ağlarına benzer şekilde çalışır. Docker ortamları için tasarlanan hizmet ağı çözümleri, yük dengeleme, devre kesme, karşılıklı TLS şifreleme ve konteynerli dağıtımlar için özel olarak tasarlanmış gözlemlenebilirlik araçları gibi özellikler sağlar. Bu, Docker konteynerleri arasındaki iletişimin, temel altyapı ne olursa olsun güvenilir, emniyetli ve gözlemlenebilir kalmasını sağlar.

Hizmet ağı API’si, bir hizmet ağı platformunun yapılandırma, yönetim ve bileşenleriyle etkileşim için kullanıma sunduğu uygulama programlama arayüzlerini (API’ler) ifade eder. Bu API’ler, geliştiricilerin ve operatörlerin, yönlendirme kurallarını tanımlama, güvenlik politikalarını yapılandırma, trafik ölçümlerini izleme ve hizmet keşfini yönetme gibi hizmet ağı işlevselliğinin çeşitli yönlerini programlı olarak kontrol etmelerine ve otomatikleştirmelerine olanak tanır. Hizmet ağı API’leri, mevcut orkestrasyon araçlarıyla, sürekli entegrasyon/sürekli dağıtım (CI/CD) işlem hatları ve izleme sistemleriyle entegrasyona olanak tanıyarak mikro hizmet ortamlarının yönetiminde operasyonel verimliliği ve esnekliği artırır.

Istio ve giriş arasındaki temel fark, Kubernetes veya mikro hizmet mimarisi içindeki ilgili rollerinde yatmaktadır. Istio, mikro hizmet iletişimi için gelişmiş trafik yönetimi, güvenlik ve gözlemlenebilirlik özellikleri sağlayan kapsamlı bir hizmet ağı platformudur. OSI modelinin 7. Katmanında (uygulama katmanı) çalışır ve Envoy proxy’lerini kullanarak hizmetler arasındaki trafiği yakalar ve yönetir. Buna karşılık Kubernetes’teki giriş, kullanılan giriş denetleyicisine bağlı olarak genellikle Katman 4’te (aktarım katmanı) veya Katman 7’de (uygulama katmanı) bir küme içindeki hizmetlere harici erişimi yöneten bir kaynak ve denetleyicidir. Giriş, Kubernetes hizmetlerine yönelik harici HTTP ve HTTPS trafiğini yönetirken Istio, Kubernetes kümeleri içindeki mikro hizmet dağıtımlarında daha ayrıntılı trafik kontrolü, mTLS güvenliği ve gelişmiş gözlemlenebilirlik özellikleri sağlayarak giriş yeteneklerinin ötesine geçer.