- Mikro hizmetler nedir?
- Mikro hizmetlerin kuruluş için faydaları
- Mikro hizmetler DevOps'u hem mümkün, hem de gerekli kılar
- Temel etkinleştirme teknolojileri ve araçları
- Mikro hizmetler ve bulut hizmetleri
- Ortak kalıplar
- Anti-kalıplar
- Eğitici programlar: Mikro hizmet becerileri oluşturun
- Mikro hizmetler ve IBM Cloud
Mikro hizmetler
Mikro hizmetler
Mikro hizmetler mimarisi, tek bir uygulamanın birçok gevşek olarak bağlanmış ve bağımsız olarak devreye alınabilen daha küçük hizmetlerden oluştuğu bir yaklaşımdır.
Mikro hizmetler nedir?
Mikro hizmetler (ya da mikro hizmetler mimarisi), tek bir uygulamanın birçok gevşek olarak bağlanmış ve bağımsız olarak devreye alınabilen daha küçük bileşenlerden veya hizmetlerden oluştuğu, bulut tabanlı bir mimari yaklaşımdır. Bu hizmetler genellikle
- veritabanını ve veri yönetimi modelini içeren, kendi teknoloji yazılım demetlerine sahiptirler;
- birbirleriyle REST API'leri, olay akışı ve mesaj aracılarının bir araya gelmesiyle birbirleriyle iletişim kurarlar ve
- satır ayırma hizmetlerinin genellikle sınırlandırılmış bağlam olarak adlandırılmasıyla iş yeteneğine göre düzenlenirler.
Mikro hizmetlerle ilgili tartışmanın çoğu mimari tanımlamaları ve özellikleri etrafında dönse de, değerleri, işle ilgili ve örgütsel faydalar aracılığıyla daha yaygın olarak anlaşılabilir:
- Kod daha kolay güncellenebilir - yeni özellikler veya işlevsellik, uygulamanın tamamına dokunmadan eklenebilir
- Ekipler, farklı bileşenler için farklı yazılım demetlerini ve farklı programlama dillerini kullanabilir.
- Bileşenler birbirinden bağımsız olarak ölçeklendirilebilir; tek bir özellik çok fazla yük ile karşı karşıya kalabileceğinden, tüm uygulamaları ölçekleme zorunluluğuyla ilişkili atık ve maliyet azaltılabilir.
Mikro hizmetler, ek olarak sahip olmadıkları özellikler kanalıyla anlaşılabilir. Mikro hizmet mimarisi konusunda en sık yapılan iki karşılaştırma, tek parça mimari ve hizmet odaklı mimari (SOA) şeklindedir.
Mikro hizmetler ile tek parça mimari arasındaki fark, mikro hizmetlerin; geniş, sıkı bir şekilde bağlanmış uygulamalardan oluşan tek parça yaklaşımın aksine, birçok küçük, sıkı olarak bağlanmış hizmetlerden oluşan tek bir uygulamayı ortaya koymasıdır
Mikro hizmetler ile tek parça mimari arasındaki farklar hakkında daha fazla bilgi için bu videoyu izleyin (6:37):
Mikro hizmetler ile Hizmet Odaklı Mimari arasındaki farklar biraz daha az açık olabilir. Mikro hizmetler ve Hizmet Odaklı Mimari arasında, özellikle kurumsal hizmet veriyolu (ESB) rolü çerçevesinde teknik farklılıklar belirlense de, aradaki farkı kapsam kaynaklı bir fark olarak görmek daha kolaydır. Hizmet Odaklı Mimari, bir kuruluştaki tüm web hizmetlerinin birbirleriyle konuşma ve entegre olma şeklini standartlaştırmaya yönelik kurum genelinde bir çabayken, mikro hizmetler mimarisi, uygulamaya özgüdür.
"Hizmet Odaklı Mimari-Mikro Hizmetler Kıyası: Aradaki Fark Ne?" başlıklı gönderide daha fazla ayrıntı bulunabilir.
Mikro hizmetlerin kuruluş için faydaları
Mikro hizmetlerin, yöneticiler ve proje liderleri için en az geliştiriciler arasında olduğu kadar popüler olması muhtemeldir. Bu, mikro hizmetlerin alışılmadık özelliklerinden biridir, çünkü mimari coşku, tipik olarak yazılım geliştirme ekiplerine özgüdür. Bunun nedeni, mikro hizmetlerin, çoğu iş liderinin ekiplerini ve geliştirme süreçlerini yapılandırma ve yönetme şeklini daha iyi yansıtmasıdır.
Bir başka ifadeyle, mikro hizmetler istenen operasyonel modeli daha da kolaylaştıran bir mimari modelidir. 1200'den fazla geliştirici ve BT yöneticisinin katıldığı yakın zamandaki bir IBM anketinde, mikro hizmetler kullanıcılarının %87'si, mikro hizmetlerin benimsenmesinin yapılan masrafa ve çabaya değdiğini kabul ediyor. Aşağıdaki interaktif aracı kullanarak, mikro hizmetlerin avantajlarına ve zorluklarına ilişkin daha fazla perspektif keşfedebilirsiniz:
İşte mikro hizmetlerin kurumsal avantajlarından yalnızca birkaçı.
Bağımsız olarak devreye alınabilir
Mikro hizmetlerin belki de en önemli özelliği; daha küçük ve bağımsız olarak devreye alınabilir oldukları için, hizmetlerin bir kod satırını değiştirmek veya uygulamaya yeni bir özellik eklemek için bir kanun gerektirmeyecek olması.
Mikro hizmetler, küçük değişikliklerin çok fazla vakit almasıyla ilgili temel yılgınlıklara ilişkin olarak kuruluşlara bir çözüm vaat ediyor. Hız ve çevikliği daha da kolaylaştıran bir yaklaşımın değerini görmek veya anlamak için bilgisayar biliminde doktora yapmaya gerek yok.
Ancak hizmetleri bu şekilde tasarlamanın kattığı tek değer, hız değil. Yaygın olarak ortaya çıkan kurumsal modellerden biri, bir iş problemi, hizmet veya ürün çerçevesinde işlevler arası ekiplerin bir araya getirilmesidir. Mikro hizmetler modeli bu eğilime iyi uyum sağlar, çünkü bir kuruluşun bir hizmet veya hizmet koleksiyonu etrafında küçük, işlevler arası ekipler kurmasına ve bu ekiplerin çevik bir şekilde işletilmesine olanak tanır.
Mikro hizmetlerin gevşek bağlaşımı aynı zamanda belirli bir derecede hatalı yalıtım ve uygulamalar genelinde daha iyi bir esneklik oluşturur. Ve hizmetlerin küçük boyutu, net sınırlar ve iletişim kalıplarıyla birleştiğinde, yeni ekip üyelerinin kod tabanını hızlı bir şekilde anlayıp katkıda bulunmalarını kolaylaştırarak, hem hız hem de çalışan morali konusunda net bir fayda sağlar.
İş için doğru araç
Geleneksel n-katmanı mimari kalıplarında, bir uygulama genellikle ortak bir yazılım demetini paylaşırken, geniş bir ilişkisel veritabanı, uygulamanın tamamını destekler. Bu yaklaşımın bariz birkaç sakıncası vardır; bunlardan en önemlisi, belirli unsurlara ilişkin olarak iş için daha net, daha iyi bir araç olsa bile, bir uygulamanın her bileşeninin ortak bir yazılım demetini, veri modelini ve veritabanını paylaşmak zorunda olmasıdır. Bu durum kötü mimariye neden olur ve bu bileşenlerin oluşturulmasına ilişkin daha iyi, daha etkili bir yol olduğunun sürekli olarak farkında olan geliştiriciler için sinir bozucu bir durumdur.
Buna karşın, bir mikro hizmet modelinde bileşenler bağımsız olarak devreye alınır ve bazı REST, olay akışı ve mesaj aracılarının birleşimiyle iletişim kurar; böylece, bu hizmet için optimize edilecek her bir hizmetin yazılım demetinin optimize edilmesi mümkün olur. Teknoloji her zaman değişir ve birden fazla, daha küçük hizmetlerden oluşan bir uygulamayı, ortaya çıkan daha uygun teknolojilerle geliştirmek daha kolay ve daha az maliyetlidir.
Hassas ölçekleme
Mikro hizmetler sayesinde, bireysel hizmetler tek tek devreye alınabilir; ancak bireysel olarak da ölçeklenebilirler. Bunun sonucunda ortaya çıkan avantaj çok açık: Doğru şekilde yapıldığında, mikro hizmetler tek parça uygulamalara kıyasla daha az gereksinime sahiptirler, çünkü tek parça uygulamalarda olduğu gibi uygulamanın tamamı yerine, sadece mikro hizmetlere gereksinim duyan bileşenlerin hassas ölçeklendirilmesine olanak sağlarlar.
Zorluklar da yok değil
Mikro hizmetlerin önemli avantajları, önemli zorlukları da beraberinde getiriyor. Tek parçadan mikro hizmetlere geçiş yapmak, çok daha fazla yönetim karmaşıklığı; çok daha fazla sayıda ekip tarafından oluşturulan, çok daha fazla yerde devreye alınan çok daha fazla hizmet anlamına geliyor. Bir hizmetteki sorunlar, başka hizmetlerdeki sorunların sebebi ya da sonucu olabilir. Log verileri (izleme ve sorun çözme için kullanılır) daha fazla hacme sahiptir ve hizmetler arasında tutarsız olabilir. Yeni sürümler, geriye uyumluluk sorunlarına neden olabilir. Uygulamalar daha fazla ağ bağlantısını bünyelerinde barındırır; bu da daha yüksek gecikme süresi ve bağlanırlık sorunu ihtimali demektir. Bir DevOps yaklaşımı (aşağıda okuyacağınız üzere) bu sorunların çoğuna hitap edebilir, ancak DevOps'un benimsenmesinin kendine has zorlukları vardır.
Yine de, bu zorluklar, benimsemeyenleri mikro hizmetleri benimsemekten ya da benimseyenleri mikro hizmetlere yönelik bağlılıklarını derinleştirmekten alıkoymuyor. Yeni IBM araştırması verileri şu anda kullanıcı olmayanların %56'sının, sonraki iki yıl içinde mikro hizmetleri benimseme olasılığının yüksek ya da çok yüksek olduğunu ve mevcut mikro hizmetler kullanıcılarının %78'inin mikro hizmetlere yatırım yapmış oldukları zaman, para ve çabayı büyük olasılıkla artıracağını ortaya koyuyor (bkz. Şekil 1).
Şekil 1: Mikro hizmetler vazgeçilmez hale geliyor. Önümüzdeki iki yıl içinde, kullanıcı olmayanların %56'sının mikro hizmetleri benimseme olasılığı yüksek, kullanıcıların %78'i mikro hizmetlere olan yatırımlarını artıracak, uygulamaların %59'u ise mikro hizmetlerle oluşturulacak. (Kaynak: 'Microservices in the enterprise 2021: Real benefits, worth the challenges'.)
Mikro hizmetler DevOps'u hem mümkün, hem de gerekli kılar
Mikro hizmetler mimarisi, genellikle DevOps ve sürekli entegrasyon/sürekli teslim (CI/CD) için optimize edilmiş olarak tanımlanır ve sık sık devreye alınabilen küçük hizmetler bağlamında, bunun nedenini anlamak kolaydır.
Ancak mikro hizmetler ve DevOps arasındaki ilişkiye bakmanın başka bir yolu da, mikro hizmet mimarilerinin aslında DevOps'un başarılı olması için gerekli olduğu şeklindedir. Tek parça uygulamalara ilişkin bu yazıda daha önce tartışılan bir dizi sakınca olsa da, birden fazla hareketli parça ve bağımsız teknoloji yazılım demeti ile karmaşık bir dağıtık sistem olmamanın avantajına sahipler. Buna karşılık, mikro hizmetlerle birlikte gelen karmaşıklıktaki, hareketli parçalardaki ve bağımlılıktaki büyük artış göz önünde bulundurulduğunda, mikro hizmetlere dağıtım, izleme ve yaşam döngüsü otomasyonuna yönelik ciddi yatırımlar olmadan yaklaşmak mantıksız olacaktır.
Andrea Crawford, aşağıdaki videoda DevOps'a dair derin bir inceleme sunuyor:
Temel etkinleştirme teknolojileri ve araçları
Bir mikro hizmet mimarisinde neredeyse tüm modern araç veya dil kullanılabilse de, mikro hizmetler konusunda elzem ve tanımlayıcı hale gelmiş bir dizi temel araç mevcut:
Konteynerler, Docker ve Kubernetes
Bir mikro hizmetin temel unsurlarından biri genellikle oldukça, küçük olmasıdır. (Bir şeyin bir mikro hizmet olup olmadığını belirleyen herhangi bir rastgele kod yoktur, ancak adında "mikro" ifadesi geçer.)
Docker 2013 yılında modern konteyner çağını başlattığında, aynı zamanda mikro hizmetlerle oldukça yakından ilişkilendirilecek bir hesaplama modelini de beraberinde getirdi. Bireysel konteynerlerin kendi işletim sistemlerinin ek yükleri olmadığından, geleneksel sanal makinelerden daha küçük ve hafiftirler ve yukarıya ve aşağıya daha hızlı dönebilmeleri, onları mikro hizmet mimarilerinde bulunan daha küçük ve hafif ağırlık hizmetleri için mükemmel bir eşleşme haline getirir.
Hizmetlerin ve konteynerlerin yaygınlaşmasıyla, büyük konteyner gruplarının düzenlenip yönetilmesi, hızla kritik zorluklardan biri haline geldi. Açık kaynaklı bir konteyner orkestrasyonu platformu olan Kubernetes, işini iyi yaptığından en popüler orkestrasyon çözümlerinden biri olarak ortaya çıktı.
"Kubernetes Explained" adlı videoda Sai Vennam, Kubernettes ile ilgili her şey hakkında kapsamlı bir bakış açısı sunuyor:
API geçitleri
Mikro hizmetler genellikle ilk olarak durum bilgisini belirlerken API aracılığıyla iletişim kurar. Müşteriler ve hizmetlerin birbiriyle doğrudan iletişim kurabileceği doğru olsa da, API ağ geçitleri, özellikle de bir uygulamadaki hizmetlerin sayısı zaman içinde büyürken genellikle yararlı aracı katmanlardır. Bir API ağ geçidi, istekleri yönlendirerek, istekleri birden çok hizmete yönlendirerek ve ek güvenlik ve kimlik doğrulaması sağlayarak, istemciler için ters yetkili sunucu görevi görür.
API yönetim platformları dahil olmak üzere API ağ geçitlerini uygulamak için kullanılabilecek birden çok teknoloji vardır; ancak, mikro hizmetler mimarisi, konteynerler ve Kubernetes kullanılarak uygulanıyorsa, ağ geçidi tipik olarak Ingress ya da son zamanlarda Istio kullanılarak uygulanır.
Mesajlaşma ve olay akışı
En iyi uygulama durum bilgisi olmayan hizmetler tasarlamak olsa da, durum bilgisi vardır ve hizmetlerin bunun farkında olması gerekir. Ve bir API çağrısı genellikle belirli bir hizmet için en başta durum bilgisini oluşturmaya dair etkili bir yol olsa da, güncel kalma konusunda çok da etkili bir yol değildir. Sürekli yoklama yapılan, "İstediğimiz noktaya ulaştık mı?" şeklindeki, hizmetleri güncel tutmaya yönelik bir yaklaşım, pratik değildir.
Bunun yerine, durum bilgisi belirleyen API çağrılarını mesajlaşma veya olay akışına bağlamak gerekir; bu şekilde hizmetler durum bilgisindeki değişiklikleri yayımlayabilir ve diğer ilgili taraflar bu değişiklikleri dinleyerek, gerekli düzenlemeleri yapabilir. Bu iş büyük olasılıkla genel amaçlı bir mesaj aracısı için uygundur; ancak, Apache Kafka gibi bir olay akışı platformunun iyi bir uyum gösterebileceği durumlar da söz konusudur. Ve mikro hizmetleri olay odaklı mimari ile birleştirerek, geliştiriciler; gerçek zamanlı olarak oldukça büyük miktarda olayı veya bilgiyi tüketip işleyebilen dağıtık, oldukça ölçeklenebilir, aksaklığa dayanıklı ve genişletilebilen sistemler geliştirebilir.
Sunucusuz
Sunucusuz mimariler, temel bulut ve mikro hizmet kalıplarından bazılarını mantıksal sonuçlarına ulaştırır. Sunucusuz durumlarda yürütme birimi sadece küçük bir hizmet değil, çoğu zaman sadece birkaç satır kod satırından oluşabilecek bir işlevdir. Sunucusuz bir işlevi bir mikro hizmetten ayıran çizgi belirsizdir, ancak işlevlerin genellikle bir mikro hizmetten bile küçük olduğu anlaşılır.
Sunucusuz mimarilerin ve Hizmet-Olarak İşlev (FaaS) platformlarının mikro hizmetlerle yakınlaştığı nokta, her ikisinin de daha küçük devreye alma birimleri oluşturma ve tam olarak talebe göre ölçeklenmeyle ilgilenmeleridir.
Mikro hizmetler ve bulut hizmetleri
Mikro hizmetlerin, yalnızca bulut bilişim ile ilgili olması gerekmez; ancak bu kadar sık bir araya gelmelerinin temelinde, mikro hizmetlerin yeni uygulamalar için popüler bir mimari stil olması ve bulutun yeni uygulamalar için popüler bir barındırma hedefi olması gibi birkaç önemli neden mevcuttur.
Mikro hizmetler mimarisinin başlıca avantajları arasında, bileşenlerin bireysel olarak devreye alınması ve ölçeklendirilmesi ile ilişkili kullanım ve maliyet avantajları yer alıyor. Bu avantajlar, şirket içi altyapı ile bir nebze mevcut olsa da; küçük, bağımsız olarak ölçeklenebilir bileşenlerle isteğe bağlı, kullanım başına ödeme özellikli altyapının birleşiminde gerçek maliyet optimizasyonları bulunabilir.
İkinci ve belki de daha önemli bir konu ise, mikro hizmetlerin bir başka birincil avantajının, her bireysel bileşenin kendi işine en uygun yazılım demetini benimseyebilmesidir. Yazılım demetlerinin yaygınlaşması, siz yönettiğinizde ciddi seviyede karmaşıklığa ve ek yüke yol açabilir; ancak destekleyici yazılım demetini bulut hizmetleri olarak tüketmek, yönetim zorluklarını önemli ölçüde en aza indirebilir. Bir başka deyişle, kendi mikro hizmet altyapınızı yayınlamak imkansız olmasa bile, özellikle başlangıçta tavsiye edilmez.
Ortak kalıplar
Mikro hizmet mimarilerinde, aşağıdakiler dahil olmak üzere yaygın zorluklar ve fırsatlardan bazılarına değinmeye yardımcı olan birçok yaygın ve faydalı tasarım, iletişim ve entegrasyon kalıpları mevcuttur:
- Arka uç için ön uç (BFF) kalıbı: Bu kalıp, kullanıcı deneyimi ile deneyimin çağırdığı kaynaklar arasına bir katman yerleştirir. Örneğin, bir masaüstü bilgisayarda kullanılan bir uygulamanın ekran boyutu, ekranı ve performans limitleri, bir mobil cihazdan farklı olacaktır. BFF kalıbı, geliştiricilerin; tüm arabirimlerle çalışan ancak ön uç performansını olumsuz etkileyebilecek herhangi bir arabirimle çalışan genel bir arka ucu desteklemektense, ilgili arabirim için en iyi seçenekleri kullanarak kullanıcı arabirimi başına bir arka uç türü oluşturup desteklemelerine olanak tanır.
- Varlık ve küme kalıpları: Bir varlık, kimliğine göre ayırt edilen bir nesnedir. Örneğin, bir e-ticaret sitesinde bir Ürün nesnesi; ürün adı, tipi ve fiyatına göre ayırt edilebilir. Küme, tek bir birim olarak değerlendirilmesi gereken ilgili varlıkların toplamıdır. Bu bağlamda, e-ticaret sitesi için bir Sipariş, bir alıcının sipariş verdiği ürünlerin (varlıkların) toplamı (kümesi) olacaktır. Bu kalıplar, verileri anlamlı şekillerde sınıflandırmak için kullanılır.
- Hizmet keşfi kalıpları: Bu yardım uygulamaları ve hizmetleri birbirini bulur. Bir mikro hizmet mimarisinde; ölçekleme, yükseltmeler, hizmet hatası ve hatta hizmet sonlandırma nedeniyle hizmet eşgörünümleri dinamik olarak değişir. Bu kalıplar, bu geçicilikle başa çıkmaya yönelik keşif mekanizmaları sağlar. Yük dengeleme; trafiği yeniden dengelemek için sağlıklı işletim denetimlerini ve hizmet hatalarını tetikleyiciler olarak kullanarak hizmet keşfi kalıplarını kullanabilir.
- Bağdaştırıcı mikro hizmetleri kalıpları: Bağdaştırıcı kalıplarını, başka bir ülkeye seyahat ederken kullandığınız priz bağdaştırıcıları gibi düşünün. Bağdaştırıcı kalıplarının amacı, başka durumlarda uyumsuz olan sınıflar ya da nesneler arasındaki ilişkilerin çevrilmesine yardımcı olmalarıdır. Üçüncü taraf API'lerine dayalı bir uygulamanın, uygulama ve API'lerin iletişim kurabilmesi için bir bağdaştırıcı kalıbı kullanması gerekebilir.
- Sarmaşık uygulama kalıbı: Bu kalıplar, tek parça uygulamaların mikro hizmet uygulamaları şeklinde yeniden düzenlenmesine yardımcı olur. Bu renkli isim, bir asmanın (mikro hizmetler) yavaş yavaş bir ağaca (tek parça bir uygulama) yetişip onu sarmasına atıfta bulunur.
Bu kalıplarla ilgili daha fazla bilgiyi, "Geliştirme kalıplarının mikro hizmetlerle kullanımı (bölüm 4)" adlı içerikten edinebilirsiniz. diğer mikro hizmet kod kalıpları hakkında bilgi edinmek istiyorsanız, IBM Developer bu konuda da birçok bilgi sağlamaktadır.
Anti-kalıplar
Mikro hizmetleri iyi gerçekleştirmeye yönelik birçok kalıp olsa da, herhangi bir geliştirme ekibine hızlı bir şekilde sorun yaratabilecek eşit derecede önemli sayıda kalıp vardır. Bunların bazıları -mikro hizmetler konusunda "yapılmaması gerekenler" olarak yeniden adlandırılırlar- şu şekildedir:
- Mikro hizmetlerin ilk kuralı, mikro hizmetler oluşturmamaktır: Daha doğru bir ifadeyle, mikro hizmetlerle başlamayın. Mikro hizmetler, uygulamalar güncellenip kolayca yönetilemeyecek kadar büyüyüp hantallaştığında, karmaşıklığı yönetmenin bir yoludur. Bir tek parça hizmetin sıkıntısının ve karmaşıklığının yaklaştığını hissettiğinizde, bu uygulamayı daha küçük hizmetler şeklinde nasıl yeniden düzenleyeceğinizi düşünmeniz gerekir. Bu sıkıntıyı hissedene dek, elinizde yeniden düzenlenmesi gereken bir tek parça hizmet yok demektir.
- DevOps ya da bulut hizmetleri olmadan mikro hizmetler yapmayın: Mikro hizmetlerin oluşturulması, dağıtık sistemlerin oluşturulması demektir ve dağıtık sistemler zordur (ve özellikle daha da zorlayan seçimler yaparsanız çok daha zordur). Ortaya çıkan, heterojen altyapınızı desteklemek için a) Düzgün bir devreye alma ve izleme otomasyonu veya b) Yönetilen bulut hizmetleri olmadan mikro hizmetler oluşturmak, birçok gereksiz sorunu beraberinde getirir. Durum bilgisiyle ilgilenmeye zaman ayırabilmek adına, bu sorundan kaçının.
- Çok küçük olan çok fazla mikro hizmet yapmayın: Mikro hizmetlerin "mikro" kısmını abartırsanız, kendinizi mikro hizmet mimarisinin genel kazanımlarını aşan bir ek yük ve karmaşıklığın içinde bulabilirsiniz. Daha büyük hizmetlere yönelmek ve bunları yalnızca, mikro hizmetlerin çözeceği özellikleri geliştirmeye başladıklarında, yani değişiklikleri devreye almak zor ve yavaş hale geldiğinde, ortak bir veri modeli aşırı karmaşık hale geldiğinde ya da hizmetin farklı kısımlarının farklı yük/ölçek gereksinimleri olduğunda, parçalamak daha iyidir.
- Mikro Hizmetleri Hizmet Odaklı Mimariye dönüştürmeyin: Mikro hizmetler ve hizmet odaklı mimari (SOA), en temel seviyede diğer uygulamalar tarafından tüketilebilecek yeniden kullanılabilir bireysel bileşenler oluşturmakla ilgilendiklerinden, genellikle birbiriyle bir araya gelir. Mikro hizmetler ve Hizmet Odaklı Mimari arasındaki fark, mikro hizmet projelerinin genellikle bir uygulamayı daha kolay yönetmesi için yeniden düzenlemesini kapsamaktayken; Hizmet Odaklı Mimari, BT hizmetlerinin kurumsal düzeyde çalışma şeklini değiştirmekle ilgilidir. Bir Hizmet Odaklı Mimari projesine dönüşen bir mikro hizmet projesi büyük olasılıkla kendi ağırlığı altında ezilecektir.
- Netflix gibi olmaya çalışmayın: Netflix, tüm internet trafiğinin üçte birine karşılık gelen bir uygulamayı oluşturup yönettiği sıralarda, mikro hizmet mimarisinin öncülerinden biriydi; bu zamanlar, genel uygulama için gereksiz olan birçok özel kod ve hizmet oluşturmaları gereken, bir nevi fırtınalı zamanlardı. Kaldırabileceğiniz bir hızda, karmaşıklıktan uzak kalarak ve mümkün olduğunca çok kullanıma hazır araç kullanarak başlamanız çok daha iyidir.
Eğitici programlar: Mikro hizmet becerileri oluşturun
Mikro hizmetlerin nasıl kullanılacağı hakkında daha fazla bilgi edinmeye hazırsanız ya da mikro hizmet becerilerinizi geliştirmeniz gerekiyorsa, bu eğitici programlardan birini deneyin:
- Mikro hizmetlere giriş
- Hızlı laboratuvar: Node.js ile yüksek düzeyde ölçeklenebilir web uygulaması mikro hizmetleri oluşturun
- Spring Boot ve Cloudant kullanarak Java mikro hizmetlerine başlayın
- Beş dakika içinde Spring mikro hizmetleri oluşturun, çalıştırın ve devreye alın
- Mikro hizmetler, Hizmet Odaklı Mimari ve API'ler: Dost mu, düşman mı?
Mikro hizmetler ve IBM Cloud
Mikro hizmetler, modern iş hızında yenilikçi geliştirmeye olanak sağlar. Bağımsız mikro hizmetleri bulut ortamlarında devreye alarak bulutun ölçeklenebilirliğinden ve esnekliğinden nasıl yararlanabileceğiniz hakkında bilgi edinin. IBM 'in yardımı ile uygulamalarınızı nasıl modernleştireceğinizi görün.
Bir sonraki adımı atın:
- Geliştirme ekiplerinizin iş yükünü, IBM Cloud yerel geliştirme araçlarının yardımıyla otomatikleştirilmiş yinelemeyi kullanarak azaltın.
- Red Hat OpenShift on IBM Cloud veya IBM Cloud Kubernetes Service ile başlayarak yönetilen Kubernetes hakkında daha fazla bilgi edinin. Ayrıca, sunucusuz bilgi işlem hakkında daha fazla bilgi almak için IBM Cloud Code Engine platformunu inceleyin.
- Mikro hizmetler, teknolojiyle ilgili olduğu kadar ekip süreci ve organizasyonla da ilgilidir. DevOps yaklaşımınızı, IBM DevOps'un da yardımıyla stratejik bir şekilde planlayın.
Hemen bir IBM Cloud hesabıyla ilk adımı atın.
Şirketteki mikro hizmetler, 2021: Gerçek avantajlar, zorluklara değer
Yeni IBM araştırması, mikro hizmetlerin benimsenmesinin avantajlarını ve zorluklarını ortaya koyuyor.
Uygulamalarınızı birlikte çalışabilirlik ve yatırım getirisi için modernleştirin
Var olan uygulamalarınızın değerini geliştirin ve bakım maliyetlerini azaltın.