Mikro Servislerin Ortaya Çıkışı

Mikro servis mimarisi değişimlere hızlı cevap verir. Geliştirilen uygulamalar yayında olmalarına rağmen yeni taleplerin ortaya çıkması kaçınılmazdır. Ortaya çıkan özelliklerin uygulamalara özellik olarak eklenmesi gerekir. Mikro servisler işte bu sırada devreye girer ve yeni müşteri taleplerinin hayata geçmesi için imkan sunar. Aksi halde hızlı gelişen sistemlerde geliştirilen uygulamalar rekabet sağlayamaz ve pazar paylarını kaybedebilirler. Mikro servis uygulamaları küçük parçalara böldüğü için ihtiyaç ve taleplere göre ilgili parçaların güncellenmesi sağlanır ve herhangi başka bir parçaya etkisi bulunmaz. Uygulama güvenliği sağlanmış olur. Sistemde bulunan herhangi bir parça çalışmaz ise tüm sistem etkilenmez sadece o parçayı kullanan bölüm etkilenir. Burada herhangi bir API de geniş bir güncelleme yapılsa dahi diğer API'ler etkilenmeyeceğinden uygulama bölümleri arasında herhangi bir sorun ortaya çıkmayacaktır. Mikro servislerin manüel olarak test edilmesi oldukça zordur. Otomatik testler ile test edilirler. Bu testler için otomatik olarak çalışan araçlar bulunmaktadır. Mikro servis mimarisinde geliştirilen uygulamalarda farklı sunucularda yada buluta yüklenmesi önemli ihtiyaçlardan bir tanesidir. Aynı anda birden fazla API nin çalışması gerekir. Bu işlemleri yapmak için hazır araçlar bulunmaktadır. Mikro servis mimarisi ile fiziksel bir makineye ihtiyaç duymadan sanal makineleri barındıran bir bulut sisteminde yönetilebilir. Mikro servisler yönetilir ve izlenir. Herhangi bir API'nin teknolojisi değiştirilmesi sistemin diğer bölümleri etkilemez. Mikro servis mimarisi asenkron olarak çalışmaya uygundur. Bazen yapılan işlemler için bir kaç API'nin çalışması gerekebilir. Asenkron çalışma yöntemi ile API'lerinin çalışması sağlanır. Asenkron ile çalışan API'ler diğer API'lerin çalışmasını ve tamamlanmasını beklemek zorunda kalmaz ve performans konusunda iyileştirme sağlanır. Mikro servis mimarisinde geliştirme süreçleri daha kısadır. Çünkü API'ler ayrılmış ve her kod sadece kendi işini yapacak şekilde küçük parçalara bölünmüştür. Geliştirme ekiplerinin farklı API'ler üzerinde çalışmalarını kolaylaştırır. Sonuç olarak geliştirme ekibi odaklandıkları kod parçasında geliştirme yaptıklarından daha az risk taşır ve endişeleri minimuma iner. Yapılan geliştirmeler birbirlerine uyumlu olduğu sürece ortaya çıkacak olan riskler neredeyse yok denecek kadar az olur. Mikro servis mimarisinde geliştiriciler tüm sistemi etkilemeden sadece değişiklik yapılan API'leri geliştirebilirler, değiştirebilir ve güncelleyebilirler. Ortaya daha hızlı ve güvenilir geliştirme süreçleri çıkar. Daha hızlı ve sık güncelleme yapılabilmesine olanak sunar. Hızlı geliştirme ve güncellemeler uygulama pazarında rekabet avantajı sağlar. Her bir mikro servisin kendisine ait bir veritabanı ve güvenliği vardır. Verilerin güvenliğini artırır ve dağıtılmasına olanak sunar. Ölçekleme konusunda sadece ilgili API'nin ölçeklenmesini hatta API içerisinde bulunan metotlarında ölçeklenmesine imkan verir. Her API'nin geliştirilme süreci farklı olabilir. Birbirlerinden bağımsız olan bu API'lerin geliştirilmesi için farklı ekipler dahi oluşturulabilinir. Yani her ekibin bir API sorumluluğu olur ve her ekip sadece sorumlu olduğu API üzerine odaklanır. Geliştirici ekiplerinin yetkili oldukları API'lerde sahiplik duyguları artar ve daha fazla performans sunmalarına yardımcı olur.