Microservice

Microservice mimari, basit tanımıyla, tek büyük bir uygulama (monolithic) geliştirmek yerine küçük parçalar halinde uygulamalar geliştirme üzerine kurulu bir yazılım geliştirme yaklaşımıdır diyebiliriz. Bu küçük servisler farklı programlama dilleriyle geliştirilebildiği gibi farklı veri depolama teknolojileri kullanılarak farklı platformlarda dağıtık bir yapıyla da çalışabilme olanağı sağlamaktadır. Bu noktada farklı dillerde geliştirilip RESTFUL ya da http üzerinden JSON ya da XML ortak diliyle konuşabilmektedirler. 

Yazılım dünyasının yakından tanıdığı Martin Fowler’ın ortaya attığı bu yaklaşım aslında mevcut SOA (Service Oriented Architecture) mimarisinin devamı gibi görünse de monolithic uygulamaların yetersizliğinden kaynaklanan yazılım geliştirme süreçlerinin bir evrimi gibi de düşünülebilir. Nedir monolithic uygulamalar? Günümüzde yaygın olarak uygulama geliştirme süreçlerinde kullandığımız ve Front-end için teknoloji çeşitliliği bulunsa da back-end için tek bir dil ile geliştirilen, bir host üzerinden bütün API’ların sunulduğu yekpare bir uygulama biçiminde düşünülebilir.


Peki microservice mimariye evrimi sağlayan monolithic mimarilerin eksiklikleri nelerdir?

En temel problemlerden biri mevcutta çalışan bir uygulama üzerinde herhangi bir güncelleme ya da bug fix yapılması gerektiğinde tüm uygulama yeniden deploy edilmeli ve bu deployment işlemi esnasında uygulamanın tüm modüllerine erişim engellenmektedir. Gerçek dünyada aktif kullanılan uygulamaların bu tür bir kesintiye uğraması ciddi maliyetler doğurmaktadır. Bu kesinti maliyetlerinin yanında entegrasyon bağımlılıkları diğer tüm süreçlerin de test edilmesini gerektirdiğinden ekstra test maliyetleri de doğurmaktadır.

Buna karşın microservisler ile dağıtık yapıda geliştirilen uygulamalar için sadece aksayan bacaklar güncellenerek tüm sistemin kesintiye uğramasının önüne geçilebilmekte. Böylelikle sadece güncellenen servislerin testi ile hızlıca gerçek dünyaya erişime açılabilmekte, uygulama geliştirme süreçlerinin olmazsa olması sürdürülebilirlik (maintainability) daha da kolaylaşmaktadır. Buna güncel dünyadan verilebilecek en iyi örnek Amazon’un her 11.7 saniyede bir deployment yapıyor olması gösterilebilir.

Yazılım geliştirme süreçlerinde her ne kadar Agile kullanılarak ilerlenebilse de kurumsal dünyada monolithic uygulamalarda süreç ilerledikçe entegrasyon ya da kaynak bağımlılıkları, Scrum süreçlerine evrilmeye neden olmaktadır. Microservice mimaride uygulamalar ne kadar küçük parçalara ayrıştırılabilirse geliştiricilerin de Agile disipliniyle daha küçük takımlar halinde daha bağımsız çalışabilmesi sağlanabilmektedir. Örneğin bazı problemlerin farklı teknolojilerle daha iyi sonuçlar üretiyor olmasının önünde bir engel olan monolithic uygulamalardaki tek dil bağımlılığı yerine her operasyona uygun performanslı diller ile geliştirmeler yapılarak toplam performansın arttırılabildiği gibi geliştirici firmalara istihdam anlamında farklı diller ile geliştirme yapabilecek çalışan çeşitliliği de sağlanabilmektedir.

Monolithic uygulamalarda yatay genişleme load balancer teknolojileriyle sağlanabilse de en nihayetinde donanımsal bağımlılık sınırları vardır. Tüm uygulama bir host üzerinden sunulduğunda sunucu, network ya da donanım üzerinde yaşanabilecek problemler tüm uygulama adımlarına sirayet etmekte, aksayan bir bacak tüm uygulamayı atıl hale getirebilmektedir. Microservice mimari ile geliştirilen dağıtık yapıdaki uygulamalarsa kaynak erişimlerinden, coğrafi erişim farklılıklarına kadar ölçeklenebilirlik (scalability) imkanı sağlayabilmektedir. Bu noktada yaygın olarak sanallaştırma ve bulut teknolojileri kullanılmaktadır.

Microservice mimari üzerine bilinen kapsamlı çalışmalar dünyaca ünlü yayın kuruluşu Netflix tarafından yapılmış olup, yayın ağını oluşturan temeller microservice üzerine kurulmuştur. Netflix Java temelli bir framework olan Spring Framework için Spring Cloud Netflix, service discovery aracı Eureka gibi araçlar geliştirmiş ve kullanıma sunmuştur.

Bunun yanı sıra Uber, Amazon, Ebay, Sound Cloud gibi içerik sunumu yapan global firmalar da Microservice mimari dönüşümlerine başarıyla ayak uydurmuştur.

Özetle microservice yeni bir teknoloji olmayıp, zaman ve bilgiye erişimin küreselleşen dünyadaki değeri düşünüldüğünde geliştirilen uygulamaların etkin biçimde talepleri karşılayabilmesi için evrimleşmiş bir yazılım geliştirme yaklaşımıdır.

Serdar Yusuf Gargılı
BBS Uygulama Geliştirme Uzmanı – IBM

İş Hayatında Sizi Başarıya Taşıyacak 8 Tavsiye

Daha okuldan mezun olmadan önce iş bulma kaygılarımız başlıyor. Eğer ailemizin kurulu bir işi yoksa ya da ailemizle beraber yola devam etmek istemiyorsak,çoğumuz bir şirkette çalışmaya başlıyoruz. Tipik plaza insanı oluyoruz yani. İçimizde bir girişimci ruhu her zaman var ama bunu çoğumuz gerçekleştiremiyor ya da uğraşmak istemiyor. Profesyonel iş hayatımda yıllarca yapmış olduğum gözlemler,sohbetler ve yaşanmışlıklara istinaden sizlere başarıya ulaşmanız için nacizane 8 tavsiyeden bahsedeceğim. Bu bahsettiklerim iş görüşmesinden tutun amirinizle nasıl diyaloglar kuracağınıza kadarı kapsayacak. Hadi şimdi hızlıca başlayalım.

1.Enerjik Olun

enerjik

İş başvurusunda başarıya ulaşmanın en büyük anahtarı enerjik olmak. İş görüşmesi boyunca enerjinizi koruyun, etrafa gülücükler saçın, pozitif görünün. Eğer işi aldıysanız, o enerjinizi kaybetmemeniz gerekiyor. Nasılsa artık çalışıyorum demenin size faydası yok. Bu nedenle her zaman pozitif olmalısınız. Yöneticiler pozitif enerji yayan çalışanları severler.

2.Ayrıntıları Önemseyin

ayrıntı

Eğer dikkatli bir yapınız yoksa bu konuda kendinizi eğitmeniz gerekiyor. Yöneticiler küçük şeylere dikkat eden, ayrıntıları fark eden çalışanlar olsun isterler. Çünkü küçük şeylere dikkat ettiğiniz takdirde çok daha başarılı iş çıkarırsınız. Giriştiğiniz projede hiçbir aksaklık oluşmaz. Aynı şekilde yöneticilerinizle ya da çalıştığınız müşterilerinizle yapacağınız yazışmalarda da ayrıntıları fark etmeniz büyük önem taşıyor. Çok önemli, güzel ya da ilginç bir fikir öne sürecek olabilirsiniz. Ancak bu noktada önemli olan söyleyeceğiniz şeyden ziyade o şeyi nasıl söylediğinizdir.

3.İşleri Zorlaştırmayın

islerizorlastirma

Karşınıza çıkan herhangi bir sorunu yöneticinize gitmeden çözmeye çalışın. Eğer çözemeyeceğiniz bir sorun ise çözüm yolları üretin ve yöneticinize sorunu götürürken bulduğunuz çözüm yollarını da beraberinde götürün. Bu sayede yöneticinizin işlerini kolaylaştırmış olacaksınız. Çözüm odaklı bir çalışan ise yöneticiler için vazgeçilmezdir.

4.Söyleminize Dikkat Edin

soylem

Her zaman görgü kuralları çerçevesinde iletişim kurun. Teşekkürler ve lütfen gibi kelimeleri mutlaka kullanın. Karşınızdaki kişiyi önemsediğinizi hissettirin. Bu sayede iletişim yönünüz de güçlenir ve çalışma arkadaşlarınız sizinle iletişime geçmekten kaçınmazlar.

5.Öğrenmenin Sonu Yok

BXD4DG

Her zaman öğrenmeye açık olmalısınız ve kendinize yeni şeyler katabilmelisiniz. Gelişmelerden asla uzak kalmamanız gerekiyor. Çalışma alanınızla ilgili gelişmeleri yakından takip etmelisiniz. Yeni iş fikirleri üretebilmeniz de oldukça önemli. Öğrenme kapasitenizi geliştirmenin en güzel yolu ise hobi edinmek. Bu sayede ufkunuzun açılmasını sağlayabilirsiniz.

6.Problemleri Kabul Edin

Playing a tough basketball game.

Problemin olmadığı hiçbir alan yok. Bu nedenle problemleri kabul etmeniz gerekiyor. Ancak kabul ettiğiniz zaman o probleme karşı bir çözüm üretebilirsiniz. Asla olmaz diye bir şey düşünmemeniz gerekiyor. Zor iş vardır ancak asla yapılamayacak bir iş yoktur felsefesini benimsemeniz önemli. Eğer zorlanacağınız bir iş geldiyse, önce kendinize süre verin ve o işi değerlendirin. Bir süre sonra nasıl yapmanız gerektiğini bulacaksınız.

7.İş Bağlantıları Oluşturun(Networking)

networking

Sektörünüzde yapılan etkinliklere katılarak,yeni insanlarla tanışın. Bu tanıştığınız insanlarla bir şekilde her zaman iletişim halinde olmayı unutmayın.

8.Radarlarınız Açık Olsun

new-job-exit

Eğer gerçekten şanslı değilseniz bir şirkette kısa zaman içerisinde üst seviyelere gelmeniz kolay değildir. Bunun yerine yeni iş fırsatlarına her zaman açık olun. Sonuçta siz kendinize va ailenize rahat bir hayat yaşatmak için çalışıyorsunuz.

Hakan Özdem

BBS İş Geliştirme Müdürü – Server & Storage

Kaynakça: https://www.hakanozdem.com/is-hayatinda-sizi-basariya-tasiyacak-8-puf-noktasi/

Kısaca BIG DATA Nedir?

Son yılların en popular konularından bir tanesi BIG DATA. Teknoljinin hayatımızın içine birebir girmeye başladığı şu günlerde,BIG DATA aslında hayatımıza internetin ilk günlerinden itibaren girmeye başladı. Bilgisayar üzerinde yaptığımız her işlemde, facebook,twitter yapılan paylaşımlarda,doldurduğumuz müşteri formunda,gezindiğimiz web sayfasında vb.  aslında Veri girişi yaptığımız her yerde BIG DATA yı hiç farkında olmadan biz oluşturduk.

Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it…

Peki oluşturduk ama hala nedir bu BIG DATA diyorsanız; kısacası yukarıda bahsettiğim sosyal medya paylaşımları,gezindiğimiz web siteleri,fotoğraf arşivleri ve daha sayabileceğimiz izimizi bıraktığımız farklı kaynaklarda bulunan verilerin anlamlı ve işlenebilir hale dönüştürülmüş şeklidir.

Yıllar geçtikçe bu yapılandırılmamış verilerin ne kadar önemli olduğunun farkına varan yazılım firmaları bunun üzerine yoğunlaşarak yeni yeni BIG DATA projeleri oluşturmaya başladı.Örneğin Google BIG DATA tarafında klasik yöntemleri kullanmayarak ihtiyacı olan teknolojiyi kendisi geliştirdi. Milyarlarca web sitesini Google File System üzerinde tutuyor, veritabanı olarak Big Table kullanıyor.Bu kadar veriyi işlemek için ise MapReduce kullanıyor. İşin en önemli kısmı ise bu teknolojilerin hepsi düşük maliyetli binlerce bilgisayarın bir araya gelerek oluşturduğu bilgisayar gruplarında çalışıyor.

Daha özet olarak düşünürsek BIG DATA’nın oluşumuna etki eden 4 kavram var.Bunu aklınızda 4V olarak da tutabilirsiniz.

  1. Volume (Veri Büyüklüğü-Hacim): Zaman geçtikçe ve teknoloji hayatımızın içine girdikçe veride çok hızlı bir şekilde büyümeye başladı. Yapılan araştırmalara gore 2020 yılındaki veri büyüklüğü 2005 yılına oranla 300 kat daha büyük olacak.(40 ZettaBytes) Yaklaşık 6 Milyar insan cep telefopnuna sahip olacak ve şirketlerideki verinin büyüklüğü TB’larca artacak. Burada öenmli olan şirketlerin büyüyen veri hacmine nasıl yön vereceklerini kurgulamarı.
  2. Variety(Çeşitlilik): Üretilen verilerin %80 i yapısal değil ve kullandığımız her teknoloji sayesinde veri tipleri farklılaşıyor. Sonuç olarak tüm verilerin aynı platformda analiz edilmesi için aynı formata dönüştürülmes gerekiyor.
  3. Velocity(Hız): Hızlı büyüyen veri sayesinde bu büyümeyi karşılık hem donanım hem de yazılım tarafında aynı oranda hızlı olmak gerekiyor. Şirketlerin bu şekilde büyüyen veri ile başa çıkabilir duruma gelmesi gerekiyor.
  4. Value(Değer): Aslında bu kavram yukarıda saydığım bütün kavramların sonucunda ulaşılıyor. En başta işlenmemiş bir şekilde karşımıza çıkan datanın işlenmiş hale çevrildikten sonar şirketimize artı olarak kattığı değer şeklinde düşünebiliriz.

 BIG DATA nerelerde kullanılır?Kullanım Örnekleri nelerdir? 

Aslında bu sorunun cevabı çok basit. Bu kadar büyük veriyi bir takım araçlarla yönetmeye başladıktan sonra hayal gücünüzü kullanarak ulaşabildiğiniz kadar bilgiye yapılandırılmış bir biçimde kullanabilirsiniz.Ve bunları birer pazarlama aktivitesine,üretim iyileştirme aktivitesine ya da finansal kazanım aktivitelerini dönüştürebilirsiniz. Örneğin son zamanlarda bir araba firmasının bütün otomobillerine yerleştirdiği sensörler sayesinde araç sahiplerinin kullanım istatistiklerini tutarak mevcut modellerinden araç önermeye hatta kullanımı hakkında uyarılar belirtmesine kadar birçok alanda kullanılabilinir.

Son olarak BIG DATA nın çok kısa zamanda hayatımızın her alanında bizlere yön verecek bir araç olduğunu düşünebiliriz.

Hakan ÖZDEM

BBS İş Geliştirme Yöneticisi – Server & Storage

Kaynakça: https://www.hakanozdem.com/kisaca-big-data-nedir/

Nesnelerin İnternetinin (IoT) Perakende Sektörü için Faydaları

Nesnelerin interneti ile ilgili olan diğer bir yazıma bu linkten ulaşabilirsiniz.

Nesnelerin internetinin hayatımıza yavaş yavaş yerleşmesi ile beraber birkaç sektör ilgili cihazları mağazalarına veya şirketlerine yerleştirerek bunu bir fırsata çevireceklerini anladılar. Bununla beraber dünya genelinde perakende sektörünün %70 i önümüzdeki 5 yıl içerisinde bu değişime başlayacaklarını ve buna hazır olduklarını belirtiyorlar.

Perakende sektörü makinaların bütün herşeyi yönetme vizyonunu desteklerken hala bazı konularda uygulamalar onlara da daha pratik çözümler üretiyorlar.

Örneğin bazı uygulamalar envanter işlemlerini iyileştirmelerinde, daha iyi müşteri deneyimleri yaratmada veya enerji maliyetlerinden tasarruf etmelerinde hali hazırda yardımcı oluyorlar.

Bununla beraber perakende sektörü için IoT’yi kullanmalarındaki birkaç nedeni de aşağıda bulabilirsiniz.

Ödeme kasalarının ortadan kaldırılması

Çoğu perakende sektöründeki mağaza daha önceden satış elemanlarına verdiği tabletlerle müşterilerden sipariş toplamaya çalışmış ama birkaç bunda başarılı olsa da çoğu bu yolu istediği noktaya getirememiştir. Fakat amazon yapmış olduğu uygulama ile beraber geçtiğimiz sene Seattle’da ilk ödeme kasalarını koymadığı mağazayı açtığında oyunun kuralı değişmiş oldu. Tabiki gidilecek daha çok yol var fakat bir düşünsenize; basitçe telefonunuzdaki bir uygulama aracılığıyla mağazaya giriş yapın, ihtiyaç duyduğunuz öğeleri seçin ve ayrılın. Kulağa yeterince basit geliyor fakat mağazaki sensörlerden makine öğrenmeye ve yapay zekadan mobil paraya kadar bir dizi ileri teknolojiyi kullanılabilir hale getiriyor.

Daha iyi envanter yönetimi

Müşterilerin her istediğini mağazalarda bulması her firmanın isteyeceği birşey. Müşteri mağazanıza geldiği zaman aradığı ürünü bulamaması bazen sizin o müşteriyi kaybetmenize neden olabilir. Bunun önüne geçmek için iyi bir envanter yönetiminin yapılması şart. Yani hangi mağazada hangi ürün kritik seviyeye düşecek kadar azaldığının bilgisinin alınması ve hemen aksiyona geçilmesi için RFID teknoloji kullanılmaya başlandı bile. IoT bu konuda da perakende sektörünün imdadına yetişiyor diyebiliriz.

Akıllı Mağazaların Açılması

Son zamanların trendlerinden bir taneside akıllı ev modası. Hangi yeni yapılan bir inşaat sektöründeki firmadan ev alırsanız size ev hakkında söyleyeceği ilk şey akıllı ev konseptine uygun bir şekilde yapıldığı olacaktır.Evlerde kullanılan sistemler size enerji tasarrufu vb. Şeyler sağlayarak tasarruf etmenizi sağlayabilir. Bunu perakende sektörü çin yorumlarsak birçok perakendeci, Isıtma,soğutma,iklimlendirm ve havalandırma sistemleri, aydınlatma, güvenlik ve daha pek çok faktörle bütünleşen IoT teknolojisinden hali hazırda yararlanmaktadır. Bir mağazanın ışıkları açılıp kapandığında ince ayar yapabilme veya bir alanın içindeki sıcaklığı ayarlama özelliği, küçük bir konu gibi gözükebilir; ancak bu teknoloji sonunda perakendecilere enerji maliyetlerinde büyük bir tasarruf sağlamaktadır.

Mağaza Ziyaretlerini Özelleştirme

Yine Zebra firmasının araştırmasına göre perakendecilerin% 79’u mağaza deneyimini müşterileri için özelleştirebilir duruma gelecek. Bunu nasıl yapacak derseniz; müşterilerin tam olarak ne zaman ziyarette olduklarını biliyor olacaklar. Yani telefonlarımızdaki konum bildirimi teknolojisi ve cep telefonlarının her yerde bulunması buu mümkün kılar hale getiriyor.

Peki bunun yararı nedir?

Satış ekibiniz, bir müşterinin yakın zamanda yeni bir çift ayakkabı için çevrimiçi göz attığını biliyorsa, o zaman belirli müşteriler kapıdan geçerken, onlara özel(Kişiye özel) ayakkabı önerileri sunabilir. Nesnlerin interneti online ve fiziksel alışveriş deneyimleri arasındaki boşluğu kapatarak perakende sektöründeki firmalar için  her iki platformdaki performansını potansiyel olarak iyileştirmeye yardımcı olur.

Daha iyi Veri Toplama

Daha kapsamlı olarak, IoT çözümleri, perakendecilere, daha önce hiç olmadığı gibi operasyonları hakkında veri toplayabilme olanağı sunuyor. Örneğin, mağazalardaki sensörleri kullanarak, perakendeciler yalnızca belirli bir ürünün ne zaman düşük stok değerlerini bildiklerini değil, belirli bir günde kaç müşterinin mağazaya girdiği ve hatta her müşterinin mağaza içindeki izlediği raf güzergahını öğrenebilir.Bu bilgiler bile mağaza içindeki raf düzeninin değişimine kadar yol açabilir.

Veri toplamak için olan fırsatlar sonsuzdur, ancak IoT teknolojisinden en iyi şekilde yararlanmak isteyen perakendecilerin hangi verilerin en önemli olduğunu belirlemeleri ve bulgularıyla ilgili önlem almaları gerekir.

Kaynakça:
https://www.hakanozdem.com/nesnelerin-internetinin-iot-perakende-sektoru-icin-faydalari/