Mikro Servis
Mikro Servis bir işi yapan, muayyen fonksiyonaliteyi oluşturmaktadır. Ortalama olarak 1000 satırdan azca, minik kod parçacığı olarak değerlendirilmektedir. Geliştirme süreçleri, bağımlılıkları, boyutları olabildiğince küçük olan atomik servisler olan mikro servis, avantajlı fırsatları kullanıcılarına sunmaktadır.
Mikro servisler monolitik mimarinin kifayetsiz kaldığı ve sürekli artan ihtiyaçları karşılayamadığı için meydana gelmiş olup son zamanlarda adından sıkça söz ettirmektedir. Şimdilerde pek çok kurumsal projeler genel olarak Service Oriented Architecture (SOA) doğrultusunda geliştirilmiştir. SOA mimarisinin en kuvvetli yanları yönetilebilirlik (manageability), bakım (maintenance), birlikte çalışabilirlik (interoperability) şeklinde kavramlar olarak karşımıza çıkmaktadır. SOA mimarisinde sürekli artan entegrasyon ihtiyacına cevap vermemektedir. Bu bitmek bilmeyen ihtiyaç ve gereksinimler doğrultusunda ise Monolithic architecture ile tasarlanmış olan SOA’lar, büyük çaplı bir şekilde büyüme göstermektedir. Bu büyümeler ile beraber SOA mimarisinin dezavantajları aşağıdaki gibidir.
Bir komponent üstünde olan değişiklik için, bütün monolith yapının tekrar deploy edilmesi ve restart edilmesi durumunda kalınması, Versiyon yönetiminin gitgide zorlaşması, Birbirlerine olan bağımlılıklarından ötürü, bir komponent için yapılan değişimden öteki komponent’in etkilenebilmesi, Continuous Delivery’nin uygulanmasının zorlaşması gibi maddeleri sayabiliriz. Bu maddelere daha birçok madde eklenebilir.
Mikro Servis Avantajları
Mikro servis yapısı sürekli ve plansız bir biçimde büyüyen monolitik yapıdaki servislerin, bununla beraber getirmiş olduğu karmaşıklığı ve yönetim zorluklarını çözmeye odaklanmaktadır. Kesinlikle SOA’ya alternatif bir model değildir. Servisler farklı dillerde ve değişik framework’lerde geliştirilebilir. Continuous delivery’e imkan sağlar ve hızlı deployment’lar gerçekleştirilebilinir. Her bir servisi birbirinden bağımsız olarak scale edebilme olanağını kullanıcılarına sunmaktadır. Her bir servis birbirinden bağımsız olacağı için, code base’i mütevazi ve maintenance’ı rahat olacaktır. Versiyonlama basit bir şekilde yapılabilecektir. Mikro servisler statelesstir. Herhangi bir nesnenin state bilgisini tutmaz.
Birbirlerinden bağımsız halde seyreden farklı servisler aynı objeleri kullanacaklardır. Bundan dolayı kaçınılmaz bir kod tekrarı gün yüzüne çıkacaktır.
Servisler farklı platform ve ortamlarda çalışabileceklerinden dolayı yönetim ve monitoring maliyeti de istemsizce meydana gelecektir.
Birden çok database ve transaction’ların yönetimi beklenenden daha zor olabilecektir.
Fakat bu maddelerin zaten bir bir çok çözülmüş durumda ve otomasyon araçları ile yönetilebilmektedir. Ek olarak ihtiyaçlar doğrultusunda mikro servis yaklaşımının getirileri göz önüne alınmalıdır. Bu durumda ise bu dezavantajlar görmezden gelinmesi kolay bir hal alacaktır.
Mikro servis, SOA doğrusu Services Oriented Architecture üzerine kurulmuş olan bir mimari olup bu yönde çalışmalar sürdürülmektedir. Uygulamaların birbirleri ile tek bir makine ya da ağ üzerinden birden çok makineye dağıtım sağlanmaktadır. Servislerin dağıtım sistemde iletişimi sağlayabilen bir mimari olarak karşımıza çıkmaktadır.
Mikro Yazılım, Mikro Programı, Mikro Destek ve Mikro Servis gibi daha sayarak maddesini çoğaltabileceğimiz pek çok sayıda hizmetimiz bulunmaktadır. Bu hizmetlerin değerlendirilmesi noktasında son derece temkinli davranmaktayız. Bizleri tercih eden kullanıcılarımıza en iyi şekilde hizmet sunmak için çalışmalarımızın kusursuz bir şekilde seyretmesine özen göstermekteyiz. Eğer siz de mikro servis hizmeti almak istiyorsanız ve bu hizmetin getirisi olan avantajlardan en iyi şekilde faydalanmayı amaçlıyorsanız vakit kaybetmeden firmamız ile iletişim dahilinde olarak çalışmaların hız kesmeden gerçekleşmesine zemin hazırlayabilirsiniz. Bu noktada profesyonellik, kalite ve çalışma prensibinin özgünlüğü son derece büyük önem taşımaktadır. Biz de bu durumun farkında olan bir firmayız.