4 Şubat 2022 Cuma

Bir Optimize Spark Engine, Azure Databricks

IDC'ye göre 2010 yılında dünya çapında üretilen veri miktarı 2 Zetabytes olarak ölçülmüş. 2022 yılında 79.5 Zetabytes, 2025 yılında ise 175 Zetabytes olacağı tahmin ediliyor.

Zetabyte devasa boyutlarda veri miktarını ifade ediyor. Buraya gelene kadar Terabyte, Petabyte ve Exabyte birimlerini geçiyoruz. 1000 Exabytes = 1 Zetabyte yapıyor yapıyor. Bir üniversitenin bu veri miktarını şöyle tarif ettiğini okumuştum: "Dünyadaki tüm plajlarda bulunan kum taneleri kadar bilgi". Sonrasında Yottabytes geliyor. O da şöyle tarif edilmiş: "7 bin insan bedenindeki toplam atom sayısı kadar bilgi". 

Üniversitede iken ödevleri 1.44 mb olan disketlerde teslim ediyorduk. Yine de baya bir boşluk kalıyordu. Şimdilerde disketi sadece kaydet butonlarında bir ikon olarak görüyoruz. Gerçekten zaman çok hızlı geçiyor, değişim her an gerçekleşiyor ve artık teknoloji hayallerimizi zorluyor.

Son zamanlardaki teknolojik gelişmeler ağırlıklı olarak bulut bilişim, yapay zeka, izleme ve güvenlik üzerine. Veri insanın damarlarında akan kan gibi teknolojinin her noktasına can veriyor.

Verinin önemini, katma değerini ve rekabette nasıl bir avantaj sağlayabileceğini hemen hemen herkes bilir. Her ölçekteki şirket hatta birey ne kadar veri okur/yazar ise o kadar kendin emin adımlar atabilir. Ne olup bitti, hatta gelecekte neler olabileceği hakkında bir fikre sahip olabilir.

Dünyadaki bu veri miktarının büyük bölümünün (yaklaşık %80) cihazlar tarafından üretileceği tahmin ediliyor. Bu veriler elbette şirketler ve bireyler hakkında olacak. 

Verinin önemini bilen herkes hızla veri depoluyor. Bu durum artık tek bir bilgisayar ile yönetilemeyecek kadar büyük verinin işlenmesini gerektirir hale geldi. Hizmet sunduğumuz firmaların bir kısmı tek bir bilgisayarın veri işleme kapasitesini zorlayacak noktalarda ve yeni çözümler arıyor. Bir kısmı ise bu konuda artık radikal adımlar atmaya başladı ve çoktan nimetlerinden faydalanabildiği bir noktaya geldi bile.

Eğer tek bir bilgisayar ile işleyemeyecek kadar büyük, farklı formatlarda ve hızlı (saniyede milyarlarca satır) veri ile çalışıyorsanız ki buna Big Data diyoruz; bu durumda karşımıza ilk çıkan çözüm yazılım ve donanım bakımından özel olarak optimize edilmiş MPP mimarisine sahip appliancelar oluyor. MPP mimarisi işlemcileri dağıtık mimariye benzer bir mantıkta paralel çalıştırıp son derece hızlı veri işleyebilse de şimdilerde bir çok firmanın hemencecik ulaşabildiği sınırlara sahip. 

Sonraki adımda karşımıza NoSQL ve NewSQL veritabanları çıkıyor. Bu veritabanları hakkında konuşulacak çok şey var. Bazı önemli noktalara daha önceki makalelerde değindiğimiz için burada çok durmayıp hedefime odaklanacağım. Farklı tiplerde veri tutma konusunda özelleşmiş, bazıları InMemory çalışabilen ve genelde yatay ölçeklendirmeye müsait bu veritabanları veri depolamak ve işlemek için bir noktaya kadar yaralara merhem olsa da ihtiyaçların çok çeşitli olması artık bizi bir sonraki adıma geçmeye zorlayacaktır.

Bir sonraki adımda ise Hadoop ve Spark ekosistemleri ile karşılaşıyoruz. Yatay ölçeklendirmeye uygun bu ekosistemler içerisinde bir çok çözümü bir arada bulabiliyoruz. Spark daha az yeteneğe sahip olsa da InMemory çalışabilmesi ve MapReduce mantığındaki iyileştirmeler Hadoop'a göre 100 kat daha hızlı veri işlemesini sağlıyor. Hadoop'tan sonra çıkması ve yeteneklerinin kısıtlı olmasına rağmen bir çok firma tarafından ilk Big Data ekosistemi olarak devreye alınıyor.

Spark üzerinde Spark SQL, Spark Streaming, GraphX, Spark ML bileşenlerini görüyoruz. Bu bileşenlere biraz daha yakından bakalım.

Spark Core: RDD, DataFrame, DataSet yapıları ile çalışma imkanı verir. Python, R, Scala, Java, SQL, ve dağıtıma bağlı olarak .NET dillerini destekler.
Spark SQL: SQL dili ve/ya diğer diller yardımıyla yapısal olan veya yapısal olmayan verilerle çalışma ve istenirse bir tür veri ambarı inşa etme imkanı verir.
Spark Streaming: Saniyede milyarlarca işlem üreten veri kaynaklarından gelen verileri micro batchler halinde yani küçük tablolarlar diyebileceğimiz bir biçimde yakalama ve işleme imkanı verir. Son versiyonda Spark SQL bileşeni altında karşımıza çıkan Structured Streaming özelliği sonsuz tablo halinde akan veriyi işleme imkanı veriyor ve işleri biraz daha kolaylaştırıyor. Spark Streaming ile ilişkisel veritabanlarının ulaşamayacağı bir veri işleme kapasitesi sunuyoruz.
Spark ML/MLLib: Bu bileşen Makine Öğrenimi konusunda çözümler sunar. Spark tasarımı neticesinde iteratif konularda inanılmaz hızlar sunuyor. Hadoop'un bir Makine Öğrenimi bileşeni olan Apache Mahout'a göre 9 kat daha hızlı.
GraphX: Graph mantığında veri depolayan bir tür NoSQL veritabanıdır.

Spark ile yapabildiklerimizden bazıları şöyle:
  • Yığın halindeki verileri işleyebiliriz. (Batch Processing)
  • Yapısal verileri depolayıp analiz edebiliriz. (Structured Data Analysis)
  • Makine Öğrenimi çalışmaları yürütebiliriz. (Machine Learning Analysis)
  • Gerçek zamanlı akan veri analizi yapabiliriz. (Real-Tme Streaming Data Analysis)
Spark ortamına kavuşmanın bazı yöntemleri şöyle:
  • Apache sitesinden ücretsiz indirmek ve yerel kaynaklara kurmak (Windows, Linux vs. deskteler)
  • Hortonworks, Cloudera gibi firmaların dağıtımlarını kurmak
  • Büyün bunları Azure üzerindeki sanal makinelerde yapmak
  • Azure HDInsight ile hazır imageları aktif etmek ve kullanıcı dostu ara yüzlerle çalışmak
  • Azure Synapse üzerinde Spark Pool ile çalışmak.
  • Azure Databricks ile çalışmak.
Her yöntemin kendine göre avanta ve dezavantajları var. Bu yazımızda özelilkle Azure Databricks üzerinde durmak istiyorum.

Databricks firması Spark gelişimine en çok katkıda bulunan bir firmadır. Kendisi açık kaynak Spark Engineını optimize etti ve hem kendi hem de farklı bulut sağlayıcıları üzerinden bu optimize Spark Engineı kullanıma sundu.

Azure üzerinde Azure Databricks ifadesiyle bulup aktif edebileceğiniz bu hizmet Azure hizmetleri ile son derece uyumlu çalışıyor. Güvenlik için Azure Active Directory, Diskler için Azure Data Lake Storage Gen 2 kullanıyor. IoT Hub, Event Hub, Azure Data Factory, Azure Machine Learning, Cosmos DB, Power BI, Azure DevOps ve daha bir çok hizmet ile kolayca haberleşebiliyor. 

Azure Databricksi portal.azure.com üzerinden aratıp kolayca bulabilirsiniz. Tüm Spark çalışmalarınız Workspace olarark isimlendirilen bir ortamda toplanıyor. Dolayısıyla hizmeti aktif etmek için bölgeyi, Workspace adını ve fiyatlandırma katmanını vermek yeterli olur. 

Fiyatlandırma katmanında Premium seçmenin bazı güvenlik adımlarında kolaylık sağlıyor. Dilerseniz Premium katmanını 14 gün ücretsiz deneyebilirsiniz.


Hizmeti oluşturduktan sonra kendi sayfasında "Overview" bölümden "Launch Workspace" butonu ile çalışma ortamına geçebilirsiniz.

Çalışma ortamını Data Science & Data Engineer, Machine Learning ve SQL seçimleri yaparak hedefinize uygun görünüme kavuşturabilirsiniz. 


Öncelikle Compute bölümünden Cluster oluşturmanız gerekli. Spark versiyonu ve cluster yapısını oluşturduktan sonra Data bölümünden ara yüzle tablo oluşturabilir, Workspace bölümünden Notebook açarak tercih ettiğiniz bir dilde çalışmaya başlayabilir, tetiklediğiniz işlemleri Jobs bölümünden takip edebilirsiniz.

Databricks notebook, diğer notebooklara göre daha kullanışlı ve stabildir. Farklı dillere kolayca geçiş yapmak, dashboardlar oluşturabilmek ve yenilenmelerini zamanlayabilmek gibi seçenekler var. Kod yazarken yardımcı olan intellisence özelliği de tatmin edici.



Azure Databricks'in optimize bir Spark engine olması, notebook'un kullanışlılığı ve Azure'un diğer hizmetleri ile entegre çalışabilmesi yerel kaynaklara yatırım yapmak istemeyip Spark ile çalışmak isteyenler için ideal bir çözüm olarak karşımıza çıkıyor. Büyük Veri işlemek için kullanışlı ve güçlü ortam.

Bir yazı ile Azure Databricks'in tüm özelliklerine değinmek mümkün değil. Bu yazımızda tam bir kullanımdan daha ziyade hizmet üzerinden kuş bakışı geçtik. Yapılabilecek çok fazla şey var. Mesela şu video ile akan veri analizi için Databricks ve IoT Hub kullanımına bir göz atabilirsiniz.










3 Şubat 2022 Perşembe

Yetenekli Orkestra Şefiniz Azure Data Factory

Azure üzerinde, farklı bulut sağlayıcıları üzerinde ve yerel ortamlarda onlarca teknoloji ve veri kaynağı mevcut. Bu farklı dünyalara ait teknolojilerin aynı amaç için bir arada ve doğru sırada çalışması, verilerin tam zamanında ve doğru şekilde işlenmesi, bütün bu sürecin akıcı bir şekilde daha fazla kişinin iş birliği ile geliştirebilmesi ve kolayca yönetilebilmesi her geçen gün çok daha kritik hale geliyor.

Bu mevcut kritik ihtiyaca çözüm olarak çıkan ve geldiğimiz noktada yetenekli bir orkestra şefine dönüşen Azure Data Factory ürünü ile hem yerel hem de bulut teknolojileri bir arada kullanabilir, veri kopyalayabilir, ETL işlemlerini yapabilir, SSIS paketlerini çalıştırabilir, Azure üzerindeki bir çok hizmeti tetikleyerek tam da amacınıza uygun veri odaklı iş akışları oluşturabilirsiniz. 

Üstelik bu başarılı veri entegrasyonu ürünü tüm çalışmaları json halinde tutuyor ve Github, Azure DevOps ile entegre hale getirilebiliyor. Böylece geliştiriciler arasında iş birliği, kodların versiyonlanması ve sürekli geliştirme (CI/CD) mümkün hale geliyor.

Bir çok Azure hizmetinde olduğu gibi tüm çalışmalarla ilgili detaylı loglara ulaşmak ve aktif çalışmaları izlemek mümkün.

Azure Data Factory 100'den fazla kaynağa bağlantı imkanı sunuyor. Bu kaynaklardan veri kopyalama ve bağlantıları tetikleyerek doğru sırada çalışmalarını sağlamak temel yeteneğidir diyebiliriz. İlk çıktığında daha çok ELT yapmak mümkün iken zamanla çeşitli bileşenlerin dahil olması ile ETL yapmak da mümkün hale geldi.

Hadoop, Databricks, SQL Database ile kompleks ETL işlemlerini kodlar yardımıyla yapabileceğimiz gibi SSIS paketleriyle veya Data Flow ve yeni dahil olan Power Query bileşenleriyle ara yüz kullanarak da yapabiliriz. Bu ara yüzlerde belli noktalarda küçük expressionlar yazmak mümkün.

Azure DF üzerine veri odaklı iş akışlar oluşturabilmek için aşağıdaki bileşenleri kullanıyoruz:

Pipelines: Activityleri bir arada tutar. SSIS paketlerine benzetebiliriz. Birbirinden izole veya parametreler ile haberleşen iş akışları oluşturabiliriz.

Activities: Pipeline içerisine ekleyebileceğimiz bir işlem adımıdır. Veri kopyalayabilir, veri işleyebilir, karar yapıları ve döngüler tanımlayabilir, diğer Azure hizmetlerinin çalışmasını tetikleyebilirsiniz. Activityleri Succeeded, Failed, Skipped, Completed gibi sonuçlara göre farklı şekillerde bağlayarak güçlü iş akışları oluşturabilirsiniz.

Datasets: Kopyalama ve veri işleme Activitilerinde girdi ve çıktı olarak kullanılacak veri yapılarını tutar.

Linked Services: Harici bir kaynağa yapılan bağlantı bilgilerini tutar. Harici kaynaklar depolama hizmetleri olabileceği gibi, işlem gücü sunan hizmetler de olabilir.

Data Flows: Arka planda yatay ölçeklendirilmiş bir Spark gücü kullanarak hiç kod yazmadan fakat bazı expressionlar yazma özgürlüğü vererek veri dönüştürme imkanı sunar.

Power Query: Power BI'dan aşina olduğumuz Power Query penceresini ve M dilini kullanarak veri dönüştürme imkanı sunuyor. Şu aralar M dili yeteneklerini tümüyle desteklemese de zamanla daha iyi olacağını ve popüler hale geleceğini düşünüyorum.

Integration Runtimes: Farklı ağ ortamlarında çeşitli veri entegrasyon yeteneklerine kavuşmak için gereklidir. Eğer Azure teknolojiler arasında veri taşıyacaksak Azure IR, bulut ile yere arasında veri taşıyacaksak Self-hosted IR, var olan SSIS paketlerini çalıştırmak için Azure-SSIS IR kullanmamız gerekli.

Parametreler: Sadece okunabilirdir. Pipeline içinde veya glolal olarak oluşturulabilir. Bir takım ayarlar parametre olarak key-value şeklinde depolanabilir ve pipeline içerisinde çalışma esnasında kullanılabilir. Mesela bir Databricks hizmeti üzerinde çalıştıracağımız Notebooklara çalışma sırasında üretilen bazı değerleri gönderebiliriz.

Triggers: Pipelineların çalışmasını tetiklemek için kullanılır. Pipelineları anında tetikleyebildiğimiz gibi belli bir zamanda ve zaman aralığında tetiklemek de mümkün.

Azure Data Factory portal.azure.com üzerinden kolayca oluşturulabilir. Temel olarak bir isim vermek kaynakların bulunacağı bölgeyi, ve versiyonu seçmek (v2 tavsiye edilir) yeterli olur. Sonraki "Git Configuration" penceresinde bulunan "Configure Git Later" seçeneğini işaretleyip hizmetin oluşmasını tetikleyebilirsiniz.



Hizmet oluştuktan sonra "Overview" pencersinden "Open Azure Data Factory Studio" linki ile geliştirme ortamını açabilirsiniz. Author bölümünden geliştirmelere başlayabilir, Monitor bölümünden çalışmaları izleyebilir, Manage bölümünden IR ve hizmet bağlantılarını, parametreleri, git konfigürasyonu, güvenlik ayarlarını yapabilirsiniz.


Eğer yerel ve bulut teknolojilerin bir arada olduğu veri entegrasyon süreci içerisindeyseniz, CI/CD yaklaşımlarının desteklendiği hem ara yüz hem de kodlarla çalışma imkan veren bir geliştirme ortamı arıyorsanız, üstelik bunlar için alt yapı yatırımı yapmak istemiyorsanız Azure Data Factory tam aradığınız çözüm demektir. 

2 Şubat 2022 Çarşamba

Azure Cognitive Services ile Yapay Zekaya (AI) Değil İşinize Odaklanın

Microsoft yıllardır veri bilimi konusunda ar-ge faaliyetleri yürütüyor ve bu faaliyetler neticesinde ortaya çıkan çeşitli ürün, araç, teknik ve teknolojileri kullanıcılarına sunuyor.

Microsoft'un Makine Öğrenimi (ML) ve Yapay Zeka (AI) alanlarında hem yerel hem de bulut çözümleri mevcut. Özellikle bulut çözümleri oldukça yetenekli ve geniş kullanıcı/geliştirici kitlesine hitap edecek nitelikte.

Bu yazımızda Microsoft'un Cognitive Services olarak isimlendirdiği yapay zeka servislerine odaklanalım istiyorum.

Öncelikle bazı terimlerde hem fikir olalım isterim:

Yapay Zeka (AI - Artificial Intelligence) ile kastımız; bir insanın yapabildiği bazı işleri kendi başına yapabilen otomatize bir mekanizmadır. Bazen temel bazı matematiksel formüller ile bazen de Makine Öğrenimi (ML), Derin Öğrenme (DL) çalışmaları neticesinde bu mekanizmaları elde edebiliriz. 

Makine Öğreniminde (ML - Machine Learning) ile kastımız; bir kısmı 1950'lerden beri kullanılan bazı algoritmalar ile veri yığınlarını işlemek ve yığınlar içerisinde bir desen, bir eğilim elde etmek, sonuç itibari ile bu desen ve eğilimleri matematiksel olarak ifade etme konusunda çalışmalar yürütmektir.

Derin Öğrenme (DL - Deep Leaarning) ile kastımız; ML çalışmalarının bir alt dalı diyebileceğimiz özellikle neural network algoritmalarına odaklandığımız, insan gibi anlayan ve üreten yapay zekalar elde etmeyi amaçladığımız özel bir çalışma alanıdır.

Microsoft'un Cognitive Services çatısı altında topladığı Azure hizmetleri, büyük veri kümeleri ve güçlü algoritmalar ile çalışılarak elde edilen, çoğu hazır bir kısmı ise özelleştirmeye açık olan ve günümüz ihtiyaçlarına nokta atışı cevaplar üreten önemli yapay zeka hizmetleridir.

Cognitive Services çatısı altında Speech, Language, Vision, Decision kategorilerine ayrılmış 15 hizmet ve bunların altında da bir çok alt yetenek yer almakta.

Bu hizmetleri Azure portal üzerinden tek tek aktif edip ayrı endpoint bilgileri ile kullanabildiğimiz gibi sadece Cognitive Services hizmetini aktif edip bir çok kritik hizmet için tek bir endpoint bilgisi ve yönetim noktası oluşturabiliriz.

Yapay Zeka hizmetlerinin her birine erişim için REST API mevcut. Ek olarak Python, C#, Java, NodeJS, JavaScript, Java, GO gibi diller için bazı SDK'lar da yayınlanmış durumda. Servisleri oluşturduktan sonra overview sayfalarındaki basit yönlendirmeleri takip ederek hızlıca kullanmaya başlayabilirsiniz.

Ayrıca bazı hizmetler için Container imageları indirebilir Azure veya yerel kaynaklarınızı daha fazla iş yükünü karşılayabilmek için kullanabilirsiniz. Docker, Azure Container Instance, Azure Kubernetes Service vs.

Hadi gelin Cognitive Services çatısı altında geçen hizmetlere bir göz atalım:

Speech

Bu kategorideki hizmetler konuşmaya odaklanıyor.

Language

Bu kategorideki hizmetler dile özgü çalışmaları içerir. Duyguları, niyeti önemli nesneleri tanıma ve çeviriye odaklanır.

  • Entity Recognition: Kişi, tarih, mekan, anahtar ifadeler ve duygu tespiti yapar. ML çalışma sürecine girmeye gerek kalmadan kolayca eğitilip özelleştirilebilir.
  • Sentiment Analysis: Metindeki duyguyu (pozitif-negatif) anlamayı sağlar.
  • Question Answering: Özellikle chat bot yaparken lazım olan önemli bir hizmet. Öncelikle soru-cevap veya benzer mantıkta başlık-açıklama biçiminde verilerle bir knowledgebase oluşturuyoruz. Hizmetin eğitimi tamamlandıktan sonra herhangi bir soru cümlesi girildiğinde bu metin knowledgebasedeki başlık veya sorulara benzetiliyor ve ilgili cevap yine knowledgebaseden veriliyor. Knowledgebasee alternatif sorular girerek daha anlayışlı bir hizmet ortaya çıkarabiliyoruz.
  • Conversational Language Understanding: LUIS hizmetinin bir yeni neslidir. Bu hizmet de özellikle chat yapımında kullandığımız önemli bir yapay zeka hizmetidir. Kurulan cümlelerdeki anahtar nesneleri ve niyetleri ortaya çıkarır. Daha önce tanımladığımız niyetler ve nesneler için ne yapacağımız konusu artık bize kalır.
  • Translator: 100'den fazla dil arasında çeviri yapma imkanı verir. Dilerseniz belli bir konuda daha iyi çeviri için eğitebilirsiniz.
Vision

Bu kategorideki hizmetler resim ve video içeriklerini analiz eder ve nesneleri tanır. Ayrıca insan yüzü ve duyguları hakkında bilgi verir.
Decision

Bu kategorideki hizmetler kişiselleştirme, içerik yönetimi ve potansiyel problemleri ön görmeye odaklanıyor.

Bu hizmetlerin alt yetenekleri de mevcut. Yani burada özetlediğimden çok daha fazlasını yapabilirsiniz.

Şimdi bir hizmet üzerinden bu hizmetlere nasıl kullanabileceğimizi görelim.

Örneğimizde Cognitive Services oluşturup bu çatı altındaki Translator hizmetinine REST API çağrısı oluşturacağım. Bu aslında neredeyse her dilde ve her platformda söz konusu hizmetlerle çalışabileceğimiz anlamına geliyor.

Bu örnekteki amacımız girilen metnin hangi dile ait olduğunu Translator hizmeti ile tespit etmek.

Öncelikle Azure Portal üzerinden (portal.azure.com) Cognitive Services hizmetini oluşturuyorum. Hizmeti oluşturma sayfasında bu hizmete özel olarak hizmetin oluşacağı bölgeyi, hizmetin ismini ve fiyatlandırma seçeneğini belirtmeniz yeterli.



Cognitive Services hizmeti oluştuktan sonra hizmetin sayfasına geçersek soldaki menuden "Keys and Endpoint" ile açılan sayfada post talebini oluşturabilmek için gerekli olan bilgilere ulaşabiliriz.

Bu bilgileri kullanarak Python ile bir çağrı oluşturacağız. Yapacaklarımızı özetleyelim: 
  • request kütüphanesi ile post talebi oluşturacağız.
  • post talebi oluştururken 'header'da key ve içerik tipini json olarak belirtiyoruz. Hizmet url'ini bir kaç farklı şekilde elde belirtebilirsiniz. Bunun için dokumantasyonu incelemek faydalı olacaktır. Amacımıza uygun çağrıyı üretebilmek için body kısmında ise aşağıdaki gibi bir json metin hazırlamamız gerekecek. 
    • "{'documents': [{'id': 0, 'text': 'Merhaba Dünyalı?'}]}"
  • Post isteğimizi gönderip dönen cevabı dict nesnesi olarak elde edelim.
İsteğin özüne odaklanırsak aşağıdaki gibi bir kod yardımıyla hizmeti kullanabilirsiniz.


#istek oluşturabileceğim kütüphaneyi çalışma ortamına alıyorum.
import requests

#-----------
#istek için header, url, body gerekli.
location = "eastus"
key_endpoint="383a-------bee---ds--123"

service_url = f"https://{location}.api.cognitive.microsoft.com/text/analytics/v3.0/languages"

header = {
            "Content-Type":"application/json",
            "Ocp-Apim-Subscription-Key":key_endpoint
}

#-----------
#Hangi dilden olduğunu merak ettiğimiz metin.
text = "Merhaba Dünyalı?"

#body json formatında olmalı. Dokumantasyonda istendiği şekilde bir body hazırlamalıyız.
body_dict = {"documents":[{"id":0 , "text":text}]}
str(body_dict) #dokumantasyonda böyle isteniyor. "{'documents': [{'id': 0, 'text': 'Merhaba Dünyalı?'}]}"
#-----------

#İstek gönderilsin ve cevabı alalım
istek = requests.post(service_url, headers=header, data=str(body_dict).encode("utf-8"))
dict_istek = istek.json() #dict  

#-----------
dict_istek.get("documents")[0]["detectedLanguage"]["name"] #Turkish

#-----------
#status_code ve raise_for_status ile statusa göre işlem yapılabilir.
#istek.status_code #isteğin durum kodlarını alabiliriz. Mesela 200 ise her şey yolunda demektir.
#istek.raise_for_status() #hata varsa raise hata gibi ortaya çıkarır.


Bu yetenekli yapay zeka servisleri ile çalışmak oldukça kolay. Üstelik bir kısmını özelleştirerek tam da ihtiyacınıza uygun şekilde çalışmasını sağlayabilirsiniz. 

Bu hizmetler sayesinde uygulamalarınızı, cihazlarınızı akıllandırabilir, yapay zekayı amaç haline getirmek yerine araç olarak kullanır, ürünlerinizin işlevselliğine odaklanabilirsiniz.

29 Eylül 2021 Çarşamba

2021-2022 Dönemiyle Birlikte Art Arda 6 Defa Data Platform Alanında En Değerli Profesyonel (MVP) Ödülü!

Dünya çapında oldukça kıymet gören MVP (Most Valuable Professional) ödülü Microsoft tarafından her yıl yeniden değerlendirme sonucunda alanında uzman, aktif ve gönüllü paylaşımlarla çevresine katma değer üreten sayılı profesyonele sunulmaktadır.

Ülkemizde de farklı branşlarda MVP ödülüne layık görülen bir birinden değerli profesyonel dostlarımız mevcutlar ve etrafına ilham vermeye, ışık saçmaya devam etmektedirler.

Bendeniz 6 yıldır üst üste "Data Platform" branşında bu ödüle layık görülmekteyim. Yerli ve yabancı kurumsal firmalara götürdüğümüz hizmetlerle gelişen saha tecrübelerimi, kitabi bilgileri ve merakımı cezbeden en güncel teknik ve teknolojik kazanımlarımı kendini geliştirmek isteyenlerle paylaşmayı üzerime bir borç biliyorum. Bu paylaşımlardan bir çok kişinin istifade ettiğini görmek, bilmek ve özellikle geri dönüşlerini dinlemek beni mutlu ediyor.




Bu seneki aktivitelerimizde hem çok daha fazla teknolojiye hem de daha fazla tip etkinliğe yer verdik; Veritabanı Sorgulama, Veritabanı Yönetimi, Kurumsal İş Zekası, Self-Service BI, Bulut Bilişim, Büyük Veri, Makine Öğrenimi gibi başlıklarda bir çok paylaşımda bulunduk. Makaleler, videolar, web seminerleri, toplantılar, sizlerden gelen onlarca soru için verdiğimiz cevaplar, 250 arkadaşımız için yetiştirme ve mentörlük programları, kurumsal ve startup firmalara özel mentörlük çalışmaları gibi daha bir çok tipten etkinlik gerçekleştirdik.

Bu aktivitelerin bir kısmına mvp profilimden erişebilirsiniz:

Abdullah KİSE (microsoft.com)

Eğer sizlerde Data Platform branşıyla ilgiliyseniz online platformlar üzerinden bağlantıda kalalım. 

Güzellikler paylaştıkça artar!

29 Ağustos 2021 Pazar

Hangi Bölümü Seçmeliyim? Nasıl Daha İyi Bir Geleceğe Sahip Olabilirim? Yükselen Teknolojiler Neler?

Uzmanı olduğum yazılım ve veri teknolojileri ilişkili konularda kurumsal firmalara sunduğumuz danışmanlık, eğitim, yönetilen hizmetler, dış kaynak hizmetleri ve bütün bu hizmetlerin takibi gündemimi bir hayli dolduruyor. Paralelde göz ardı edemeyeceğim resmi işlemler, anlaşmalar, satış ve pazarlama faaliyetleri, ürün geliştirme ve tescil işlemleri derken aklımdaki paylaşımların büyük bir bölümünü ertelemek zorunda kalıyorum. Açıkçası buna ek olarak zihnimdeki bir takım sıralamalar yüzünden de teknik konular dışında fütüristtik paylaşımlar yapamıyorum. Bugün bu konuda yazılı bir adım atmak, bir hazırlık yapmadan aklımdakileri doğrudan paylaşmak istedim.

Üniversite tercihleriyle ilgili haberler, üniversite reklamları ve akrabalarımdan sınava girenlerin heyecanla sordukları sorular, yıllardır yurt içinde ve yurt dışında sahada olan, benim zamanımın en gözde mesleklerine sahip dostlarımla yaptığım sohbetler, bir kesimin gündemimde olan fakat çok az kişinin farkında olduğu bir kaç noktaya kısa da olsa dikkat çekmem gerektiğini uzun zamandır kulağıma fısıldıyor.

Şu aralar; Veri Mühendisliği konusunda hazırladığımız yeni bir müfredatın senaryolarını olgunlaştırmakla uğraşırken, küçük bir ara verip bu yazıya başlamaktan kendimi alamadım.

Hangi bölümü seçmeliyim?

14 yıldan fazladır kurumsal firmalarla çalışıyorum. Türkiye'nin ilk 500 şirketi arasında hizmet sunmadığım bir firma kalmamıştır. Bununla birlikte yurt dışındaki firmalara da onlarca kalem hizmet götürdük. Yerli yabancı bir çok üniversite ve bölümde okumuş, görev almış veya eğitim vermiş bir çok öğrenci, akademisyen, profesyonel ile tanışma ve çalışma fırsatı buldum. Sahada pratiği ile önde olan profesyonellerden, akademik çalışmalarıyla yüksek saygınlığa kavuşmuş akademisyenlere kadar geniş bir yelpazede değerli dostlara sahibim.

Bu sorunun cevabını net olarak verebileceğimi sanırdım. Fakat bu soru karşısında zihnimin ne kadar boş olduğuna şahit olmak beni çok şaşırttı. Sanki bu soruyu hiç sormamış veya bu soruyla daha önce hiç karşılaşmamış gibi olduğumu fark ettim.

Bu arafta kalma hissinin kaynağına indiğimde şunu görüyorum; Üniversitedeki bölümler büyük oranda eskimiş görünüyor, eskiden mezun olanların büyük bölümü okuduğu alanın dışında veya o okurken ortalıkta olmayan yep yeni alanlarda geçimini sağlar hale gelmiş durumda. Gelecek ise çok daha farklı mesleklere gebe. 

Bir araştırmaya göre 2030 yılında üstlenilecek mesleklerin %85'i henüz ortaya çıkmadı bile.

Bilgisayar, telefon ve internet insanlık tarihindeki en büyük devrimlerdendi. Sessizce oldu. Çağ açıp çağ kapatmadı. Şimdilerde bu değişimin hızına yetişmek ve isim vermek bile mümkün değil. Bilginin hem güç olduğu hem de bu kadar kolay ulaşılabilir olduğu bir çağdayken kaos içinde bir düzen bulmaya çalışmak, akıl sağlığını korumak ve insan kalmak arzu ettiklerimizin başını çekiyor. 

Değişim sessizce ama çok hızlı gerçekleşiyor.

İstanbul'un göbeğinde kesintisiz internet erişimi alamıyorken dünyanın her yerini saran, gece bir kaçını yavaşça kayan yıldızlar gibi çıplak gözle görebileceğiniz 72 bin adet Starlink uydusu 300-500 km tepemizde sürekli gezecek şekilde konumlandırıldı ve aktif edildi, hem internet hem de bir takım askeri faaliyetler için kullanılmak üzere. Acaba ülkeler internetin kontrolünü tamamen yitirdiklerinin farkındalar mı? Bunun bile ne kadar büyük bir değişimi getirebileceğini ön görebiliyor musunuz? 

Ne kadar sığ sulardayız. Burnumuzun dibindeki madenler hakkında yılların mevzusunu başa sarıp dururken bu arada birileri diğer gezegenlerden maden çıkarmanın hesaplarını yapabiliyor. Yıllarca birikim yapıp hala daha kredi çekmeden orta sekment bir araba alamazken, birileri arabaları çağırınca kendiliğinden gelen sıradan, kullan bırak eşyasına çevirmenin bir yolunu bulmuş, sistemini kuruyor.

Peki ya insan bedeniyle ilişkili çalışmalar? Hibrit insan modelleri. Ölümsüzlük sevdasıyla yapılan hem zihni hem bedeni faaliyetler. Neuralink projesi ve gelişmeler herkesin malumu. DNA, RNA, mRNA konusundaki bilgi seviyemiz ve merak duygumuz, tüm paradigmaları değiştirebilecek bir noktaya sürükledi bizi. "Deveyi yardan uçuran bir tutam ottur." diye bir atasözü geliyor bu noktada aklıma. Arzum ve duam geldiğimiz noktanın insanlığa faydalı bir başlangıç olması yönünde. 

Dünyanın ne kadar küçük ve herkesin ne kadar ortak yönü olduğunu virüs ve afetler sebebiyle son bir kaç yılda daha fazla fark eder olduk. Bu istenen veya kendiliğinden gerçekleşen bir şey olabilir. Nasıl olduğu önemli değil. Ancak bunun sonucu olarak tek bir dünya topluluğuna evirildiğimizi görmek zor olmayacaktır. Bu durum en azından bir süre tüm insanların bir merkezin etrafında toplanmasını ve yüksek bir refaha erişmesini sağlar. Ancak kanımca eninde sonunda büyük bir yıkımla da son bulur.

Daha bir çok başlıkta günlerce konuşabiliriz. Bu sessiz ve hızlı değişimin farkında olmayan çok büyük kalabalıkların olduğunu görüyorum. Eskiden eğitimlerde dillendirdiğimiz gelecek dünya tasvirlerinin ve arka planda yürüyen işlerin ya içindeyiz ya da artık başımıza gelecekleri beklemekteyiz.

Bu aralar gündemde de diye değinmek isterim; hala okulların açılmasını bekleyen aileler ve gençler var. Onlara şunu söylemek istiyorum; Okullar zaten eskisi gibi olmamalı. Olamaz. Tüm dünyada kaşif yetiştirmek yerine, belli kurallar çerçevesinde yaşamını idame ettirmek, araba, ev ya da makam gibi bir havuç peşinde iyi koşabilen tutsak zihinleri yetiştirmek isteyen arzunun bir eseri olan bu eski okul sistemi böyle devam edemez. Herkesin iyiliği için böyle devam etmemeli.

Mesela herkes üniversite okumamalı. Üniversite okuyan herkes mezun olduğunda öylece bir iş sahibi olacağını düşünmemeli. İhtiyaçlar doğrultusunda hareket edilmeli. Herkes ilim, bilim, irfan peşinde koşmalı. Bunlara ulaşılabilecek tek nokta üniversite değildir. Bugün bilgi her yerde, herkesin ulaşımına açık vaziyettedir. Üniversite okuma sebebiniz işsiz kalmamak, para kazanmak ise hemen söyleyeyim aslında bugün üniversite okuyan birçok kişi okumayan fakat konusunda uzman olan ara eleman veya usta diye nitelendirilen kişilerden daha az kazanıyor.

Öğrencilik yapmış ve kısa da olsa öğretmenlik yapmış bir kişi olarak söylüyorum. Yeterince saygı göremeyen bezmiş öğretmenlerin sınıfa gelip iki çizik atıp gitmesi ya da slayt açıp onlarca satırlık sunumları okuyup geçmeleri artık sürdürülemez.

Öğretmen mentor olmalı. Keşfetmeyi, derinden anlamayı, bağ kurmayı, özetle her şeyin tabiatını anlamayı öğretmeli. Yetmediği yerde sevk edebilmeli. Her şeyi bilmemeli. samimi olmalı. Öğrencileri geleceğe hazırladığı insanlar olarak görmeli. Onlarla gelecekten gelmişler gibi iletişim kurmalı. Ona göre hazırlamalı. Onların birer emanet olduğunun, yaşlandığında karşılaşacağı ortamı hazırladığının farkında olmalı. Öğrencinin kendi yeteneklerini keşfetmesine kafa yormalı. Bir balığı ağaca tırmanmaya zorlamamalı. Bir aslana derin denizlere dalmayı öğretmekle uğraşıp onu çaresiz bırakmamalı.

Öğrenci saygılı olmalı, talep kâr bir talebe olmalı. Bilgiye teslim olmalı, hayran olmalı hatta aşık olmalı. İşin özüne vakıf olmak için dertlenmeli. Bilgiyi hayatıyla ilişkilendirmeli, destek istemeli. Aramalı.

Bu mental seviyeye ulaştığımızda içinde bulunduğumuz dünyanın nimetlerinden daha iyi faydalanabiliriz. Artık yeni bir yöne doğru hızla evirilen dünyada herkesin iş yapış şekli değişiyor. Hazır olduğumuzda bunu daha rahat göreceğiz. Resmen tembellik ediyoruz. Mesela bahsi geçen konuda yapay zeka destekli sistemler kişisel öğrenim hızını öğrenip bilgiyi gerektiği yerde gerektiği kadar verebilir durumda. Neden bu tarz sistemlerden yaygın şekilde faydalanmayalım?

Bilginin sonuna kadar ulaşılabilir olduğu böyle bir dünyada öğrenciler, öğretmenlerinden, çocuklar ebeveynlerinden daha fazla şey duyar, bilir oldular. Bu herkes için karmaşık bir durum. Ancak ilim ve irfan için hala tecrübeye, duyguya, insan olmaya ihtiyaç var. Bugün insan bu boşluğu doldurmaya odaklanmalıdır. 

Hemen bu noktada "Bir baba çocuğuna güzel ahlâktan daha üstün bir miras bırakamaz." hadisi şerifi ve Neşati'nin şu sözleri geldi aklıma "Gezdim Halep’i Şam’ı eyledim ilmi talep, Meğer ilim gerideymiş, illâ edeb illâ edeb".

Henüz daha bu mental seviyeye ulaşamadığımız için imkanı olan herkesin tabi ki üniversite okumasını tavsiye ederim. Ancak bu imkana kavuşamayanlar hayatta derin bir azaba duçar olacaklarını düşünmesinler. Benim inancıma göre Allah rızka kefildir. Sadece kendin için değil ailen ve çevren için de iyi olanın peşinde ol yeter. Gerisi gelir.

Üniversite okuyacak arkadaşların yetenekleri ve şartları uyuyorsa temel bilimlere ve temelinde matematik olan alanlara yoğunlaşmalarını tavsiye ederim. Ne kadar yüksek matematik görür bunun özüne ne kadar vakıf olurlarsa geleceğin yükselen teknolojilerinde o kadar söz sahibi olurlar. Önümüzdeki yıllarda göreceğiz ki doktorluk bile bugünkünden çok farklı şekilde olacak. 

Gelecek çok şaşırtıcı ve heyecan verici görünüyor. Daha neler var neler? İşte yükselen teknolojiler:

  1. Blockchain: Geleceğin toprağı niteliğinde.
  2. Kuantum Bilişimi: Kuantum bilişimi hakkındaki çalışmalar henüz daha iptidai seviyede fakat herkesin erişimine açık hale getirildi.
  3. Yapay Zeka, Makine Öğrenimi: Tüm iş yapış şeklimizi değiştirecek potansiyele sahip.
  4. 3D yazıcılar: Bu konuda ilerleme devam edecek. Aklınıza bir takım yapıların bu şekilde inşa edileceği de gelmeli, geniş düşünmelisiniz.
  5. Malzeme Bilimi: Daha hafif daha dayanıklı malzemelere ihtiyaç var. Elimizdeki eşyanın tabiatını zorlar noktaya geldik.
  6. Nanoteknoloji: Türkiye'nin de üretebildiği grafeni incelemenizi tavsiye ederim.
  7. Robotics: Tanımlı problemleri insandan daha hızlı ve daha az hatayla çözebilmek artık mümkün.
  8. Nesnelerin İnterneti: İnternet, sensor, aktuvatorler ve mikro işlemciler ile gerçek dünyayı etkilerini yorumlamak ve akıllı tepkiler oluşturmak mümkün.
  9. Sanal Gerçeklik: Bazen ilgi azalsa da bu konuda yapılabilecekler şaşırtıcı. 5G ile daha fazla tercih edileceğini düşünüyorum
  10. Sinir Bilim: Elon Musk ar-ge faaliyetleri ile bu konuya olan ilgiyi canlandırdı. Tabi ki yıllardır üzerinde çalışılan bir alan. Artık meyvelerini yeme zamanı
  11. Bio Teknoloji / Tıp: İlaçlar ve hastalıkların tespitiyle ilgili ciddi gelişmeler olacağa benziyor.
  12. Otonom araçlar: İnsansız araçlar, taşımacılık vs. şimdiden haberlerini duyuyoruz. Onlara yaygın şekilde güvenmemize az kaldı.
  13. Enerji Depolama: Çok ciddi bir problem haline gelmiş durumda. Yeni tip depolama teknikleri veya atom enerjisi gerekli. Önümüzdeki en büyük kısıtlardan biri diyebiliriz.
  14. Bulut Bilişim: Şimdiden dünyayı saran onlarca veri merkezi ile milyarlarca cihaz aktif şekilde hizmet veriyor. Kullandıkça öde avantajı ve yeni yetenekleri ile herkesi cezbediyor.
Hepimizin hayatında ciddi değişiklere sebep olan bir salgın süreci içerisindeyiz. İnsanın radikal değişikliklere açık olduğu zamanlar en zor anları yaşadığı zamanlardır. Bu zor zamanlar suni de olabilir gerçek de. Bunu önümüzdeki yıllarda anlayacağız. Ama görmezden gelemeyeceğimiz bir şey var ki o da; insan oğlu olarak edindiğimiz birikimler ve elimizdeki araçlar bizi ya bugüne kadar hiç ulaşamadığımız bir refah seviyesine yükseltecek ya da onlarca yıl kurtulamayacağımız prangalarla tutsak edecek.

Özgür olmak ve özgür kalmak için ilim ve irfanın peşinde olmalı, değişeme açık ve insan kalmalıyız.