
Konuklar: Hatice Özdemir, Azer Demir, Halil İbrahim Şimşek
39. bölümümüzde konuğumuz Data Engineering ekibi oldu. Ekip yapısını, projelerini, teknoloji stack seçimlerini ve çok daha fazlasını konuştuk!
Transkript
Selam ekip, ben Product Center ekibinden Erdem.
Ben Fulfillment Order Master Data ekibinden Fırat.
Teknoloji ekiplerini tanıdığımız ve süreçler, teknolojiler gibi konuları konuştuğumuz Selam Ekip Podcast serisinin 39.
bölümünde Data Engineering ekibiyle birlikteyiz.
Ekibi tanıyıp, ekip yapısı, kullanılan teknolojiler, pratikler gibi konuları konuşacağız.
Evet, hoş geldiniz arkadaşlar. Hoş geldiniz arkadaşlar.
Kısaca kendinizi tanıtabilir misiniz bize?
Selam herkese, ben Hazar Demiş.
4 senedir Trendyol'un Data Engineering ekibinde yer alıyorum.
Bundan önce Software Engineering tarafında ve backend alanında çalışmalar yürüttüm.
Son olarak da 4 senedir Trendyol'un Data Engineering ekibinde arkadaşlarımla birlikte ürünlerimiz üzerine elimizden geldiğince güzel işler çıkarmaya çalışıyoruz.
Şimdi sözü Halil'e bırakayım.
Selamlar Halil ben de.
Ben de yaklaşık 2,5 senedir Trendyol'dayım.
Daha öncesinde yine farklı firmaların, data engineering ekiplerinde çalışma fırsatı buldum.
10 seneye aşkın bir iş tecrübem var.
Onun dışında ağırlıklı olarak e-commerce domaininde çalıştım.
Ama bir dönem startupta çalıştığım bir dönem de oldu.
İşte danışmanlık şirketinde FMC'ci vesaire böyle farklı sektörlerde çalışma imkanı buldum.
2,5 senedir de trend yoldayım dediğim gibi.
Benim deneyimim de bu şekilde.
Ben de Hatice'ye vereyim sözü.
Herkese merhabalar, ben Hatice Özdemir.
Yaklaşık 7 senelik kariyerimin yine 1 Kasım'da 6.
senesi doğmak üzere Trenbiyoda Data Engineer olarak çalışıyorum.
Bu kadar başından beri ekibin içinde olmak bana fırsatı sundu.
Ekibin ilk oluşmasından büyümesine, her türlü aşamasını gözlemleme fırsatı sundu.
Bugün de zaten ekibi tanıtıyor, anlatıyor, olacağız.
6 yıldır tren yolumsun, 6 yıldır çalışıyorsun.
Tren yola mı yeni geldin? Kaçırdım orayı bir dakika.
7 yıldır çalışıyorum.
Tren yolu 6 yılım olmak üzere.
1 Kasım'da tam 6 yılı dolduracağım.
Ve şey, geldiğinde direkt Atanjinik ekibindeydin değil mi?
Aynen. Kuruluşunu gördün yani böyle.
Ya ki o zamanlar hatta da tencilerin ekibi var mıydı diye sorarsan.
Hani onu merak ettim.
Ekip kası nedir var diye soracaktım.
Yani şöyle, ben ilk geldikten bir sene boyunca Data Engineering ekibi fiziki olarak çok da yoktu.
Çok POS yaşamasındaydı.
Data Science ekibi yeni kurulmuştu.
O dönemler Data Veros ekibiyle çalışıyorlardı.
Oradaki bazı teknik engeller nedeniyle küçük bir Data Mart'la ve POS yaşamasıyla başladık.
Oradan ekip kurulumuna, aktif çalışmasına kadar geldik diyebilirim.
Ama geldim de evet, ilk bir sene...
İki data engineer'dık sadece ve hani böyle fiziki olarak ekip var mıydı yok muydu orası birazcık soru işareti.
Çok iyi, çok iyi. Bence de şimdi şey konusunda heyecanlandım ben de uzun zamandır aslında.
Burada olan ve bu iş içinde olan kişilerden güzel bilgiler alacağız gibi duruyor.
Tekrardan hoş geldiniz. Şimdi ben aslında şeyi merak ediyorum.
Data engineer dediğimiz zaman nasıl görevler üstlenmesini bekliyoruz?
Bu kişinin bulunduğu organizasyona nasıl katkılar sağlıyor?
Çalışma şekli nedir? Birazcık bunlardan bahsedebilirseniz çok sevinirim.
Tabii ki orada ben sözü alayım.
Biraz aslında tarihinden de işimi bahsetmek güzel olabilir.
Data dünyasındaki temel olarak en eski kullanılan teoriler ve pratikler şeye dayanıyor.
70-80'lerde ortaya çıkmış Data Warehouse'un tarafındaki teorilere ve pratiklere dayanıyor.
O dönemde ilk sanırım sahipli olan Data Warehouse'lar, sahipli yazılım olarak Data Warehouse'lar ortaya çıkıyor.
80'ler 90'lar bu şekilde geçiyor.
Sonrasında 2000'li yıllarda yeni farklı challenge'lar ortaya çıkıyor.
Bu challenge'ları aslında yaşayanlar direkt bizim alanımızın en büyükleri.
Onlar da yani Google o dönemin hala da öyle olmakla birlikte o dönemde yaşadığı challenge'larla yazdıkları çeşitli şeyler var, paper'lar var.
Bu paper'lardan en önemli iki tanesi GFS ve MapReduce paper'ları.
Paper'ların yazılmasından sonra ki onlar bu paper'ları yazdıklarında zaten kendi canlı sistemlerinde çeşitli uygulamalar yapıyorlar bunlara dair.
Bu paper'lar yazıldıktan sonra 2006'da Hadoop'un temelleri atılıyor.
Hadoop'la birlikte Big Data dönemi başlıyor.
Big Data döneminin aslında başlamasındaki önemli etkenlerden biri de o dönemki sahipliği yazılımı olan Data Warehouse'ların.
Büyük miktarda veri işlemek konusunda, scale konusunda zorlanmaları.
Şu anda hala Data Warehouse'lar var.
Cloud Data Warehouse zor olarak geçiyorlar ve çok yetenekliler.
BigQuery, bunların başında geliyor.
BigQuery ya da Snowflake. O dönemki durumlar insanları big data sistemleri kurmaya yönlendiriyor.
Datayı, büyük veriyi Hadoop cluster'larında işlemeye yönlendiriyor.
Bu dönemin başlamasından sonra, 2010'ların başında da büyük şirketler, Facebook, Airbnb gibi şirketler...
kendi içlerindeki bu tarz bir data sistemlerinde data işleyen insanları data engineer rolü altında tanımlamaya başlıyorlar.
Onu söyleyebiliriz. Buradan şey geçersek, data engineering nedir'den bahsetmeye geçersek, şunu söyleyebiliriz.
Veri analizi ve makine öğrenmesi gibi alanları yüksek kalitede veriyle desteklemek için geliştirme, implementasyon ve bakıma dair, sistemlerin bakımına dair araçları, altyapıları kuran
Bir disiplin aslında Data Engineering.
Aslında burada bir nebze söylemiş olduk.
Şunu da söyleyebiliriz.
Data Engineer'lar ürün ekiplerindeki Software Engineer'larla yani ürün ekiplerindekinden kastım.
Burada aslında tam Trendyol'daki gibi içinde Backend Engineer, içinde Frontend Engineer'ın test pozisyonda arkadaşlarımızın olduğu Transactional bir sistemi yöneten.
ekipler diyebiliriz.
Data engineer'lar bu anlamda ürün ekiplerindeki software engineer'larla, data analistlerle ve data scientistler gibi rollerle yakın çalışırlar.
Amaçları da organizasyonlara veriyle karar verirken oluşturulan raporlara, dashboardlara ya da makine öğrenmesi sistemlerine en iyi kalitede veriyi sağlamaktır diyebiliriz.
Burada şunu ekleyebilirim.
Son yıllarda data engineer'ların yaptığı bu BI, Analytics ya da ML gibi alanlara hizmet etmenin dışında hayatımızda artık bir de şey var.
Direkt production'a kaliteli veriyi, analitik ürünler oluşturup o veriyi beslemek gibi bir şey de var.
Use case de var hayatımızda.
Son olarak onu söylemiş olayım.
Böyle aklıma gelenler bahsedebileceklerim bu şekilde.
Çok iyi abi. Teşekkür ettik.
Bu arada ben data engineering ile ilgili şey görmüştüm.
Bir ilan görmüştüm bir keresinde.
Uzun uzun çok güzel bir şey yazmışlardı böyle hangi şirkette hatırlamıyorum İngilizce bir şeydi.
İşte Data Engineering işte bir şirketteki gizli bir kahramandır.
İşte Data Science'a falan öne gösterirler.
Arkada ise işte süper kahramanlar vardır ama önde gözükmezler.
İşte sen de onlardan biri olmak ister misin gibisinden böyle.
Aşırı böyle gaza getirici bir ilan şeyi vardı.
Aklıma o geldi sen bundan bahsederken Data Science'a ve işte diğer ekiplere biz veri sağlıyoruz.
O arka plandaki kişiler biziz gibisinden.
Çok bağlantılı geldi. Güzeldi bu.
Çok pardon.
Sözümü kesiyorum. Tam da dediğim gibi şey olarak görülürler.
Yani arada bir rol gibi application developer ya da software engine developerlarla data scientist ve data analystler arasında bir rol ve şey scale etmesi çok önemli olan aslında
bir organizasyondaki data engine ekibinin scale etmesi önemli olan bir durumdan da bahsediyoruz tabii.
Bu tarz örnekler çok verilir haklısın.
Peki abi burada şimdi Data Engineering diye bir ekibimiz var.
Peki buradaki ekip yapısı mesela Software Developer açısından biraz bakınca hep böyle şey olmuş.
Şu kadar developer var. Şu domainlerde çalışıyor.
Şunları yapıyor gibi. Mesela bilgilerin bakış açısından söylüyorum.
Data Engineering tarafındaki ekip yapısı tam olarak nasıl oluyor?
Mesela hangi domainlerle, takımlarla beraber çalışıyorsunuz?
Ya da mesela Data Science ve burada Machine Learning diye anladım.
Direkt buradaki ekiplerle beraber ortak bir ekip mi var?
Yoksa buradaki hani bu topoloji nasıl ilerliyor?
Nasıl çalışıyorsunuz? Burada biraz ekip yapılarından bahsedebiliriz.
Data engineering olarak temelde 4 tane ekibimiz var ama temelde 2 türlü ekibimiz var diyebiliriz.
Bir ekip türümüz direkt şirket içindeki bir domainle birlikte çalışıp onların data engineering ihtiyaçlarında orada onların ürünlerine hizmet edecek desteği sağlayan ekipler.
Bir türümüz de...
Direkt product ekibi gibi çalışma yapımız da var.
Orada da ekip içinde farklı roller, cross-functional ekiplerimiz var.
Data engineer, front-end engineer.
Aynı zamanda software development test pozisyonda da arkadaşlarımız var.
Ama orada 3 tane role saydım ama 4 tane aslında disiplin.
Bir de back-end engineering de var.
Böyle bir iki farklı tipte...
takımımız var diyebiliriz.
Ben şeyden bu dört takımdan birinden bahsedeyim.
Discovery Tribe'ımız var.
Discovery Tribe'ımızla çok yakın çalışan Discovery diye bir ekibimiz var.
Bu ekibimiz Discovery ekibi altındaki birlikte çalıştığımız, yakın çalıştığımız arkadaşlarımızla onların Data Engineering tarafındaki projelerine yönelik çalışıyorlar.
Yani böyle çok aklıma direkt birkaç tane örnek geliyor.
Onları söyleyebilirim. Sitede en çok satanlar bölümü var.
Yakınlarda oranın yenilenmesi üzerine çalıştık biz Product Offering ekibimizle.
Yine keza search ekibimizle çalışmalar yürütüyoruz.
Bu search kutusunda yer alan popüler aramaların data sağlayıcısı bizim Discovery ekibimiz.
Bunun gibi birçok çeşitli şeyimiz var yürüttüğümüz.
Biz bunlara product diyoruz çünkü proje gibi bizim için şey değil.
Hani yaptık bitti gibi değil.
Maintain etmeye devam ediyoruz.
Bunların ayakta olması, bunların kalitesi, monitoringi önemli bizler için.
Ama şey aslında tabii bir yandan bir proje gibi başlayıp bir product olarak bizim hayatımızda yer almaya devam ediyor.
Discovery bu şekilde. Diğer ekiplerimiz içinde Hatice sözü sana istersen önce devredeyim.
Tabii ki de. Ya ben şu anda iki takım ile çalışıyorum.
Bunlardan bir tanesi Sales Center Business Advisor, diğer de Seller Dynamic Tech.
Ya isimler çok seller ve evet doğru tamamen seller üzerine çalışıyoruz.
Ve yine hani seller datasını üreten product takımlarıyla çok yakın çalışıyoruz.
Business Advisor'dan bahsetmem gerekirse aslında biliyorsunuz bir satıcı panelimiz var.
Business Advisor buradaki her türlü raporlamadan sorumlu.
Sellerlere, satış, görüntülenme, favorilenme, ürünlerine gelen yorumlar gibi birçok metri, canlı dashboardlardan ya da günlük saatlik raporlarımız var.
Onlar üzerinden sağlıyoruz.
Bunun yanı sıra mesela partnerde kampanya tanımlama, storunda yaptığı değişiklikler.
tanımladıkları seller'ların kuponlar gibi aksiyonlar var.
Bu aksiyonlardan ne gibi getirileri oldu, satışlarına ne kadar etkisi oldu, ne kadar newcomer kazandılar gibi başarı metriklerini de aslında paylaşıyoruz.
Yine işte mesela Data Science ekibimizin yaptığı seller score hesaplaması var.
Onunla ilgili bilgileri paylaşıyoruz.
Bu mimaride yine Bizans Analytics, Data Science gibi ekiplerle çalışarak Data sağlamanın yanında aynı zamanda ürünlerini nasıl görünüp kılabilecekleri, nasıl satışlarını
arttırabilecekleri gibi aslında insightler sağlıyoruz.
Seller Dynamic tarafında ise aslında Triangulo Seller'le ilgili tüm datasını Metric Radio üzerinden vermeye hedefliyoruz.
Bundan birazcık bahsedeyim, örnekleyerek bahsedeyim önce.
Mesela işte ben kampanya ekibiyim.
İşte bana aylık cirosu 40.000'den büyük olan seller'lar lazım bir işlemimde kullanmak için.
Biz burada metrikleri veriyoruz.
Örneğin işte seller'ın cirosu olsun, segmenti olsun, satıcı puanı olsun, ilk satışı ne zaman, o aktif mi değil mi?
Birçok metrik veriyoruz.
Burayı dinamik tutup ekiplerin gelip and or gibi operatörlerle güncelleme sıklığını, işte datanın derinliğini seçerek kendileri rule'lar, tag'ler oluşturmasını bekliyoruz.
Bu tag'lerdeki değişiklikleri de işte Kafka üzerinden besleme olsun, direkt API'li almak isteyenlere o şekilde vermek olsun.
Görünür kılık datayı sorveciyoruz diyebilirim.
Azen bahsetmişti yani bu iki takımda da aslında bir UI kısmımız var.
Bu nedenle... Yine de ekipte bizim bu iki ekibimizde de front-end developer'lar var.
Data engineer'lar hem data processing kısmından hem back-end API'lerin geliştirme kısmından sorumlu.
Yine ekipte product owner'ımız zaten var.
Onun dışında developer'ın test pozisyonunda çalışan arkadaşlar da ürünlerimizin kalitesini aktif olarak kontrol ediyorlar diyebilirim ekipler hakkında.
Ben de bahsedeyim bizim tarafta.
Bizim ekibin ismi Data Engineering Growth ekibi.
İsminden de anlaşılacağı üzere Growth Domain'indeki bizim ekibe hit eden işlerden sorumluyuz.
Onun dışında bizim ekibin asıl sorumluluğu Clickstream platformu.
Bu Clickstream verisi dediğimiz bir kavram var.
Bu kavramı biraz açacak olursak şöyle.
Trendyol platformunda yaptığı bütün hareketlere aslında şey diyebiliriz, clickstream verisi diye özetleyebiliriz.
Yani bir kullanıcı nereye tıklamış, neler aratmış, hangi sayfalarda gezinmiş gibi hareketler.
Bütün bu hareketlerin loguna da biz clickstream verisi diyoruz.
Bizim asıl görevimiz de bu platformun geliştirilmesi, datanın işlenmesi, servis edilmesi gibi sorumluluklarımız var.
Onun dışında yine ismimizden de anlaşılacağı üzere growth domaininden data engineering ile ilgili olan işleri de yine bizim ekip yapıyor.
Örneğin analitik ekiplerinin third party tool'lar ile bir entegrasyon yapması gerekiyorsa bunları biz yapıyoruz.
Veya bu clickstream verisi çok büyük bir veri olduğu için işlemekte zor oluyor.
Diğer ekiplerin bu veri üzerinde bazı böyle aggregation işlemleri gibi ihtiyaçları olduğunda bunlar için de yardımcı oluyoruz.
Onun dışında dolap ekibi ile yakın çalışıyoruz.
Dolap ile geliştirdiğimiz 8-9 tane uygulamamız var diyebiliriz.
Onun dışında başka ne sayabilirim?
Streaming işleri var yaptığımız.
Bundan bahsedebilirim.
Bayağı da uygulama varmış ya. Evet evet abi.
Örneğin mesela Trendyol'da işte anlık olarak kaç tane kullanıcı var şu an uygulama üzerinde ya da site üzerinde anlık kaç kullanıcı var gibi böyle case'ler var.
Yani streaming case'leri var.
Bunları da böyle hesaplıyoruz.
Yani bizim tarafı da böyle özetleyebilirim.
Yani aslında bütün ekiplerimiz için baktığımızda bayağı işte challenging işler var.
Bayağı da eğlenceli işler.
Öyle. Sürekli farklı projeler olması da güzel bu arada.
Tek düzeyde olmaz ya daha iyi gibi.
Aynen. Yani üzerinde böyle çalıştığımız data büyük olduğu için çok farklı projeler çıkabiliyor.
Böyle her ekip o datayı farklı bir şekilde anlamlandırmak istiyor.
O yüzden böyle bayağı bir proje çıkıyor diyebilirim yani bizim taraf için.
Bu arada ben biraz önce şeyi eklemeyi unuttum Discovery'den bahsederken.
Discovery ekibimizdeki bir farklılık da diğer Data Engineering ekiplerinde uygulamadığımız.
Discovery Tribe'ı altında Recommendation diye bir ekibimiz var.
O Tribe, Recommendation ekip de şu anda cross-functional bir ekip kimliğinde.
Bizim Discovery ekibimizden olan iki arkadaşımızı oraya Recommendation ekibine dedikettik.
Bir seneye yaklaştı sanırım.
Orada real-time Recommendation sistemleri üzerine çalışmalar yürütüyorlar.
Data Scientist arkadaşlarımızın modellemeleri.
Bizim Data Engineering tarafında yüksek throughputta veriyi hızlı bir şekilde akıtarak.
backend sistemlerine şey yapmamız.
Bu şekilde bir çalışma biçimimiz var üçlü olarak backend engineer arkadaşlarımızla birlikte.
Ondan da bahsetmiş olalım.
Çok iyi abi teşekkür ettik.
Peki burada yani data engineering kısmında hani developer deyince genelde şey diyorsun ben Java kullanıyorum işte Spring ya da .NET çalıyor C Sharp vesaire.
Şimdi data engineering kısmı daha farklı bir alan gibi oluyor ya burada mesela nasıl bir mimariniz var ya da tech stackinizde mesela hangi tool'ları kullanıyorsunuz?
Orada kısaca şeyden bahsedebiliriz.
Biz bir data lake kullanıyoruz.
Data lake kısaca değinmek gerekirse bu da big data dünyasının hareketiyle birlikte ortaya çıkmış bir kavram.
Structured, semi-structured ya da unstructured olan bütün datanın depolandığı merkezi bir data depolama alanı gibi bir şey aslında data lake.
Data lake mimarimiz var.
Biz cloud'da çalışıyoruz.
Temelde operasyonel datayı önce kendimize almamız gerekiyor.
Ürün ekiplerinin maintain ettiği.
Transactional data'yı kendi sistemlerimize alıyoruz.
Burada data ingestion dediğimiz bir kavram var ve burada Kafka Connect ya da Flume gibi, Apache Flume gibi araçları kullanıyoruz kendi sistemimize alırken.
Operasyonel datayı. Sonrasında datayı işlenip sorgulanabilir hale getirmemiz gerekiyor.
Sorgulanabilirden kastım biz datayı sıkıştırılmış JSON'lar olarak alıyoruz.
Ama analitik sistemlerde bu şekilde transakşinal sistemlerde tutulduğu gibi tutmamamız gerekiyor datayı.
Bunları columnar dediğimiz file formatlarını kullanarak parke, orc gibi dosya formatları var.
Bunları kullanarak sorgulanabilir hale getirmemiz gerekiyor.
Bu şekilde işlemler yürütüyoruz.
Birkaç tane de şeyimiz var, pratiğimiz var.
Batch processing yapıyoruz.
Batch processing yaparken çeşitli workflow scheduler dediğimiz airflow gibi uygulamalarımızı planlıyoruz.
Saatlik, günlük çalışmalarını sağlıyoruz.
Yani aslında bulk olarak veriyi işlemiş oluruz.
Saatte bir, günde bir, beş dakikada bir, on dakikada bir.
Bu sıklık değişebiliyor ihtiyacı göre.
İhtiyacı göre aynen. Aynen öyle.
Stream processing yapıyoruz.
Stream processing yaparken tamamıyla anlık...
akan veriyi, veri üzerinde transformasyon yapıyoruz.
Bu şeyleri yaparken de kullandığımız araçlar da şöyle.
Batch Processing yaparken Apache Spark kullanıyoruz.
Stream Processing yaparken büyük çoğunlukla Apache Link kullanıyoruz.
Zamanında kullandığımız bazı başka stream processing araçları da vardı ama Flink kazandı bizim için aslında öyle diyebiliriz.
Dil olarak da ekip Scala ile geliştirmelerini çoğunlukla yapıyor.
Bir tek farklılık Growth ekibimiz APA'yı Go ile yazdığı, Fiberframe mevkiiyle yazdığı şekilde maintain etmeye devam ediyor.
Böyle bunları söyleyebilirim.
Hatice senin Business Advisor'a dair eklemelerin varsa belki onlulardan da bahsedebiliriz.
Aynen, çok kısa şeyden bahsedebilirim.
Backend'de mikro servis yapısındayız.
Akka içli tipi kullanıyoruz Scala ile birlikte.
Tabii şey hani... Biz de direkt raporları sor etmemiz gerektiği için normalde sık kullanılan database'lerden farklı tool'lara yönelmemiz, teknolojilere yönelmemiz gerekebiliyor.
Burada örnek vermem gerekirse mesela Apache Duri'it kullanıyoruz.
Apache Duri'it nedir? İşte Time Series Analytics bir database'dir.
Biz de nerede katkısı oluyor dersek Duri'it daha datayı incest ederken verilen spekler doğrultusunda aggregate ederek yazıyor.
Bu da biz özellikle streaming tarafta çok büyük bir hız sağlıyor.
Yine filtreleme işte. işlemleri, sorganlığında ilgi etmeler vesaire çok daha hızlı dönüyor.
Frontend tarafında işte şeyimiz var, web ve mobil uygulamalarımız var.
Bunlara hizmet eden bir BFF'imiz var.
Yine test tarafında da zaten Trendyol'da kullanılan pratikler, Aris üzerinden load test, performans testleri koşuyoruz.
Test otomasyonlarımız var, kontrakt testlerimiz var.
Bunlardan da bahsetmiş olayım ben.
Burada şeyi sorabilir miyim? Mesela data engineering tarafında şey oluyor mu?
Mesela belirli tool'lar var. Sallıyorum 5 tane.
Her projede zaten onlar her projeye uygun olduğu için direkt onlar mı kullanılıyor yoksa projeden projeye teknolojiler değişebiliyor mu?
Mesela iki farklı ekiptesiniz ya şu anda.
Biri Seller Growth kısmında örneğin.
Diğeri işte diyorum Clixin'den bahsediyor vesaire.
Aynı tool'lar hani One Fit Size All neydi o?
One bir şey vardı.
Hepsine uyuyor mu yani o teknolojiler yoksa mecburen yine...
Teknolojiler projeden projeye çok fazla değişebiliyor mu?
Ben cevaplayayım bunu. Yani değişiyor diyebilirim.
Yani her burada az önce bahsettiğimiz projelerin her birinin aslında unique pipeline'ı var.
Yani her birinin yine işte işleme tipine göre, streaming batch olmasına göre olsun, işte nereye bırakacağımız sync noktası neresi, işte bu bir Cassandra mı, bir Droid mi, bir Kafka'ya mı bırakıyoruz?
Yani hepsi için aslında ayrı bir arkitektür çalışılıyor işin.
ihtiyacına göre.
Ama bazı şeylerde daha oturmuş durumda.
Mesela işte şey konusunda backjaplarda spark kullanıyoruz.
Yapay spark kullanıyoruz.
Ya da işte ingestion adımında işte CDC konnektörleri üstüne flümla data lake alma gibi ortak pratikler var.
Ama en nihayetinde asıl İşin job kısmına geçtiğimizde, data processing kısmına geçtiğimizde her uygulamanın unique mimarisi olabiliyor.
O da tabii ki de şeyi bayağı tool diye alfazesinde bayağı genişletiyor diyebilirim.
Teşekkürler açıklamalarınız için.
Bayağı şey aydınlatıcı oldu benim için de.
Ben şey kısmını birazcık da merak ediyorum.
Şimdi hani bizim bildiğimiz bir software devre life cycle var.
Sizin tarafta bu süreç nasıl oluyor?
Yani işleri canlı ortama nasıl çıkıyorsunuz?
Özellikle bu kısmı merak ediyorum.
Ekibin yazılım geliştirme pratikleriyle arası nasıl?
Hani ecail uyguluyor musunuz mesela?
Biraz da bunlara değinebilirsek çok iyi olur.
Olur. Bu kısımdan ben bahsedebilirim.
Sondan başlayayım. Evet, agile uyguluyoruz.
Aslında scrum framework'ünü kullanıyoruz biz de.
İki haftalık sprintler koşuyoruz.
Canlıya çıkmayla ilgili GitLab kullanıyoruz.
Yani software engineering pratiklerini çokça uyguluyoruz.
GitLab kullanıyoruz. Geliştirmeleri yaparken git flow modeliyle ilerliyoruz.
İşte bir tane master branch'imiz var.
Onun dışında her işçi kendi iş numarasıyla ayrı bir branch ile açılıyor.
Daha sonra merge request'lerle ilerletiyoruz.
Ekipten en az iki kişi o ilgili işi review ettikten sonra işin sahibi iş review'den geçtikten sonra merge ediyor.
Daha sonraki süreçte de yine GitLab CI ile...
işte kodun build edilmesi, testlerin koşulması, işte deployment adımları vesaire otomatize bir şekilde oluyor sırayla.
Yani onun dışında şey söyleyebilirim.
Data engineering ekipleriyiz ama bir backend ekibi gibi veya bir mobil ekip gibi bu ekiplerin uyguladığı pratikleri uyguladığımızı rahatlıkla söyleyebilirim.
Çok fazla hazır tool veya çözümlerle ilerlemiyoruz.
Kendi kodumuzu geliştiriyoruz.
Yani bunu şey anlamında söylemiyorum.
Biri iyidir veya biri kötüdür anlamında söylemiyorum.
Bizim tercih ettiğimiz yöntem kendi geliştirmelerimizi yapmak, işte her geliştirme için testlerimizi yazmak, işte clean code prensiplerine uymak, bolca review yapmak.
Bu pratiklerin tamamını uyguluyoruz aslında.
Ya şey bu arada agile demişken belki işte şey ya zaten standart agile metodolojinin ritüellerini ekipte uyguluyoruz.
İşte bunlar daily'ler olsun, groomingler, kick-off planlama hatta işte sprint review bile bir sonraki sprint planlamasının öncesinde yapıyoruz.
Belki tek var ki şey olabilir genelde tren yolda sprintler bir hafta.
sprintler koşuluyor.
Biz de iki hafta birazcık daha hani belki şey pipeline geliştirmenin bir tık daha uzun sürmesinden kaynaklı iki haftanın bize daha uygun olduğuna karar verdik.
Bir tek hani ondan bahsedebilirim.
Bir de genellikle Scrum kullanıyoruz ama nadiren kanban kullandığımız case'ler de oluyor.
Orada da işte tamamen şeyle ilgili o ürünle ilgili ya da işte o product'larla ilgili ne sıklıkla bize backlog'unuza item düşüyor geldiğinde ne kadar önce eklendirmemiz gerekiyor ona göre karar veriyoruz
genel olarak diyebilirim.
Çok iyi. Peki burada direkt mesela atıyorum.
geldiği gibi projeler kolay oluyor mu yoksa Allah'ım nereden bu işe düştük biz gibi böyle challenge'lar da oluyor mu?
Mesela bir data engineering'in challenge kısmında ne tarz sorunlarla karşılaşıyorsunuz?
Ya da challenge'larla diyeyim. Ya da böyle yaratıcı çözümler oluyor mu?
Hani kendi yönetmeniz. Çünkü mesela az önce Halil şeyden bahsetmişti.
Kendimiz tool'u kendimiz yazıyoruz ya sonra da belli ki hazır tool ihtiyacı karşılamamış da mecburen bir şey yazılmış.
Oradaki o challenge'lar tam olarak neler oluyor?
Madem topu bana attın abi tekrar ben başlayabilirim.
Ya aslında şey BF dönemleri biliyorsunuz e-commerce'de şey en büyük challenge'ların olduğu dönem.
Yani BF dönemleri bizim için büyük böyle challenge'lar yaşadığımız dönem diye bahsedebilirim.
Çünkü hani normal trafiğin neredeyse 10 katına falan çıktığımız dönemler oluyor.
Oldu yani böyle kampanya dönemleri oldu.
Bir de yani Trendyol'un trafiği zaten yüksek.
Türkiye'de mesela işte Google'ı, YouTube'u falan çıkardığımızda belki de trafiği en yüksek birkaç siteden bir tanesi.
Trendyol'un trafiği yüksek. Bizim bu clickstream tarafının trafiği de yani Trendyol içerisindeki trafiği en yüksek olan servislerden biri diyebilirim hani rahatlıkla.
Kullanıcıların uygulama üzerinde yaptığı bütün hareketleri logluyoruz.
Hatta kullanıcının yaptığı bir hareket bazen bizim tarafa birden fazla request olarak da gelebiliyor.
Yani örneğin kullanıcı bir search result sayfasında bir scroll işlemi yapıyor böyle aşağı doğru.
arka tarafa bu böyle 10 istek 20 istek şeklinde gelebiliyor böyle.
20 tane scroll yaptığı gibi mi oluyor?
20 kere aşağı gittiği gibi. Ya şöyle abi kullanıcı bir scroll yapıyor bizim arkaya böyle 20 tane impression eventi geliyor.
Yani kullanıcı şu ürünleri gördü falan filan gibi bize böyle bir anda o kullanıcıdan 20 istek 30 istek gelebiliyor.
Böyle olunca haliyle hani trafik çok yüksek.
Mesela BF dönemlerinde işte anlık olarak Kafka'ya bıraktığımız mesaj sayısında şeyi gördük böyle.
1.7 milyon, 1.8 milyon mesaj sayısını gördük.
Şeyden bahsediyorum. Yani anlık RPS'den bahsediyorum.
Bunu mesela RPM olarak düşünürsek yaklaşık böyle 100 milyon request falan ediyor.
Bayağı sağlam bir rakam yani.
Bu trafiği karşılayabilmek için bayağı bir sistemleri şey yapıyoruz.
Önden scale ediyoruz BF dönemlerinde.
Scale up işlemi yapıyoruz.
Ama bazen bunun da yetmeyeceği durumlar olabilir.
Kreditten dolayı şey de yapıyoruz hani Kubernetes tarafındaki deploymentlarda HPA da aktif oluyor bir yandan.
İşte pod autoscaler vesaire hani öngördüğümüzden daha fazla bir trafik gelmesi durumunda uygulamaların kendi başına daha da fazla scale olabilmesi için.
Sürekli monitör ediyoruz.
İşte New Relic, Grafana, Datadog falan böyle bayağı çokça kullandığımız şeyler, ürünler.
Onun dışında cloud servislerindeki monitoring çözümlerini de kullanıyoruz.
Öyle yani challenge olarak bundan bahsedebilirim aslında.
Ya burada belki şeyi de eklemek iyi olabilir bu arada.
Biz hani 4-5 farklı takımız ama aslında ortak bir tane data platformu kullanıyoruz.
Yani işte data source'larımızın toplandığı yer vesaire hep aynı.
Projenin son kısımlarında genelde mimari değişikliklere gidiyor.
Aynı platformu kullanmanın da zaman zaman yarattığı problemler olabiliyor.
İşte benim bir tane işim, Halil'in başka bir tane işini bağlayabiliyorum.
Benim burada yaptığım bir hata Halil'i feylettirebiliyor gibisinden.
Bu noktada da aslında şeyi korumak çok önemli bizim için.
Tüm data engineer'ların aynı noktada olmasını sağlamak ve data platformla ilgili bir şey yapıyorsak bunun ortak kararlarla yapılabiliyor olması çok önemli.
Ondan aslında ekipler birbiriyle aşırı yakın çalışıyor.
Bu standartta bu şeyleri korumak için de aslında bu change'i açmak için de bir standartlaşma toplantıları yapıyoruz.
Bu işte definition of done'ımızdan tutun.
Dökümanları nasıl tutacağımızdan, istimlendirmeleri nasıl yapacağımıza kadar düşünebilirsiniz.
Workgroup dediğimiz kavramlar var mesela.
O an aktif bir tane hot topic'imiz var.
Yeni bir ürün çıktı, onun piyasasını yapmamız gerekiyor.
Ya da application security alanında ne yapmak istiyoruz data engineer olarak?
Bunu kararlaştırmamız gerekiyor.
Workgroup konseptinde şey yapıyoruz, biz her ekipten bir temsilci, iki temsilci katılıyor.
İş işte dedike olarak sprintten çıkıp sadece ona mı bakmaları gerekiyor?
Ona karar veriyoruz. Sonra bu work gruplar aslında temsilcileriyle birlikte hayatlarına devam ediyor.
Böylece her ekibin ortak ihtiyaçlarını anlamış oluyoruz.
Hem unique ihtiyaçlarını anlamış oluyoruz.
Buna göre aksiyonlar çıkarıyoruz.
Hem de her yaptığımız değişikliği herkes biliyor oluyor.
Ki bunu da arttırmak için iki haftada bir yaptığımız knowledge and experience sharing session'larımız var.
Ayda bir yaptığımız town hall'umuz var.
İşte knowledge and experience sharing'te hem work grup çıktılarını paylaşıyoruz.
Mesela işte siz bir tane makale okudunuz.
Bunun ekibe katkı sağlayacağını düşünüyorsunuz.
Gelip bunun işte sunumunu yapabiliyorsunuz.
Ya da işte bir tane Spark'ta çok bir yerde çok zorlanmıştınız.
Onu şu şekilde çözdünüz.
Bu gerçekten bütün ekibe katkı sağlıyor diyebilirim.
Hani o ortaklaşmayı, o challenge'i bu şekilde açıyoruz.
Çünkü dört farklı ekip olup aynı platformdan çalışmanın bazı zorlukları oluyor.
Çok mantıklı. Hani ekipler bu kadar birbirine aynı ekipte ya da farklı projelerde olsanız da ortak bir alan olduğu için hani standartlar belirlenmesi mantıklı değil.
Ki bu da bir challenge bence.
Hani çünkü o standartları oyulmadı.
Yanlışlıkla biri diğerini patlattı vesaire ne bileyim işini engelledi.
İşte planlamalar yapılıyorsa planlamayı etkileyebiliyor vesaire istemeden belki de.
O yüzden sanırım böyle dökümanlar vesaire de ilerliyor musunuz bilmiyorum ama belli ki o standartlar belirlendiyse bir şeyler alınmış.
Ortak kararlarım diyeyim. Aynen evet.
Birçok açıdan ortaklaştık.
Zaten şey data dünyası da çok değişken olduğu için sürekli farklı tool'ları da takip etmemiz gerekiyor.
Ondan bu ortak çalışma bizim için çok önemli.
Peki örnek vermiştim. Ben mesela bir şey yaptım.
Halil'i mesela patlattım.
Sallıyorum. Bunun gibi. Böyle bir anınız falan bir şey var mı?
Yani incident olduğunu mesela data engineering'de incident olunca ne bileyim mesela atıyorum ödeme de incident oluyor.
Ödeme alınmıyor. Çok düz bir.
İlk akla gelebilecek bir şey mesela.
Data engineering'de mesela incident'ta yaşadığınız bir şeyler olmuyor da etkisi olan bir yer etkilediğiniz müşteri olur, client olur, içerideki müşteri olur, ekip olur vs.
Ya şöyle söyleyeyim ben 6 senedir trandiyodayım yani.
Kesin bir şey vardır Hatice yani sende yani.
Olmasının imkanı yok gibi duruyor.
Böyle hani koparmak istiyorum bunları.
Böyle birçok konu var.
Ya böyle... Küçüklü büyüklü.
Çok fazla şey var. Birkaç tane örnek.
Diğer bir bölüm çekiyormuşuz böyle.
O parçada konuşabiliriz yani bir gün.
Şey falan oldu mesela.
Böyle bir biz mesela daha önce de şeyimiz vardı.
Bir tane işte mimari kullanıyorduk.
Bir süredir patlatıyordu. Bizi değiştirdik.
Böyle değiştirmek için çok uğraştık falan.
Sonra şey giriyoruz.
Event dönemine giriyoruz. İşte çok heyecanlıyız.
İşte bu sefer her şey yoluna gidecek falan modundayız.
Şeye girdik. Black Friday başladı.
Delphi'yi scale ediyoruz.
Not Balancer'da seçtiğimiz makine tipi Alibaba Cloud'da bitti Frankfurt'ta.
Bu 4 sene... Bayağı bildiğin makine bitti yani.
Sonra böyle biz patır patır bütün load balansır kullanım uygulamaları kapatmaya başladık böyle.
Hani Delphi'ye etkilenmesin.
Delphi gerçekten kritik.
Üstünden çok fazla iş çıkıyor ama işte bizim senin raporları falan böyle fiil olmaya başladı falan.
Öyle mesela bir tane anımız var.
İşte son Black Friday'de yine şeyiz böyle.
Bütün consumer uygulamalarına, kendi projelerimize, API'lere şey yapmışız hani.
Keyletmişiz. Böyle çok şey bekliyoruz.
Hani her şey yolunda gidecek falan.
Ya gece kalktım da ekip ne yapıyor, ne ediyor falan gibisinden.
Şeyimiz var böyle. Hani işte nöbetçi şunları şunları takip etsin gibisinden.
Kafka'ya bakıyorum. İşte Consumer'dan herhangi bir problem var mı falan ona bakıyorum.
Çok basic, yıllardır kullandığımız bir tane flow'un uygulamasını scale etmemişiz.
Görürsen bütün işler çalışıyor, bütün uygulamalar akıyor.
Her şey takırımda. Data platformu aldığımızda, ne kadardı hatırlamıyorum.
Hazırsanız hatırlıyor musun? Bilmiyorum ama milyonlarca lag var.
İnanılmazdı ya o gün. Şey falan diye düşündük.
Bu herhalde hatadır, böyle bir şey olmamıştır diye.
UI'de bir sıkıntı var, yanlış sayı gösteriyor falan.
Şeye düşmüşüz en son.
Baya 3-4 saatlik bir şey vardı ya.
En azından gerideydik.
Böyle 2'ye 3'e kadar ayaktaydık o gün.
Abi insanın dediği budur.
Şey çok güzel ama hani yok ya bu gerçek değildir falan.
Hani kabul edemiyorsun ya böyle bir ilk başta yok ya o kadar da değildir falan böyle.
Aynen çünkü şey böyle zaten hafif böyle uyku sersemiyim.
Bakıyorum böyle sayıları parçalamaya çalışıyorum.
Milyon mu milyar mı falan böyle.
Matematikte yetmiyor bir süre sonra.
Kaç bir ilgili var burada?
Valla incident gerçekten oluyor ya.
Çok hani bazen bizden kaynaklı bazen değil.
Yani insanın sonuçta mutlaka bir şey oluyor.
Incident'ımız yok diyorlarsa birisi yalan söylüyordur.
Aynen. Ben buna kesinlikle katılıyorum ya.
Ama her biride bir kazanım oluyor.
Bir sefer yaptığımız hatay diğerinde düşmüyor düzen azından.
Süper ya. Çok güzel bir hikaye oldu.
Teşekkür ederim. Aynen. Incident'lar gerçekten benim bu podcast serisinde en beğendiğim nokta oluyor.
Değil mi? Benim de. En çok şeyi de o konuşmalar sırasında öğreniyoruz.
Benim merak ettiğim farklı bir konu daha var.
Bunun soruyu da katılan ekiplere soruyoruz.
İki farklı açıdan bakmak istiyorum.
Birincisi takım olarak. ekip içerisindeki bilgiyi dağıtmak için yaptığınız çalışmalar oluyor mu?
Mesela bazı ekipler lunch and lunch sessions yapıyoruz diyor.
Bazıları işte belli aralıklarla ekipteki eski arkadaşlar işte uzun süredir o domenide çalışan arkadaşlar aktarım toplantıları yapıyor gibi diyor.
Bu tarz şeyler yapıyor musunuz?
İlk sorun bu. İkincisi de bireysel olarak kendimizi geliştirebileceğimiz zamanlar yaratmaya çalışıyoruz biz ekip olarak mesela.
Bu tarz şeyler var mı sizin tarafta?
Bunları merak ediyorum. Ben cevaplayayım abi.
Şöyle biraz önce Hatice de bahsetti aslında.
Bizim hem küçük ekiplerimizde yani kendi ekiplerimiz içerisinde hem de bütün böyle data engineering ekipleri olarak haftalık ve iki haftada bir yaptığımız şeyler var.
Knowledge and Experience Sharing diye böyle sessionlarımız var.
Bu sessionlarda şey yapıyoruz böyle işte bir work group çalışması yaptıysak bunun sonuçlarından çıktılarından bahsediyoruz.
İşte bir POC yaptıysa bir ekip.
Bunlardan bahsediyor. Onun dışında veya bir kişi kişisel olarak yeni bir şeyler denemiştir, yeni bir teknoloji denemiştir veya bir makale okunmuştur, ekiple paylaşmak istiyordur.
Onları şey yapıyoruz. Bu sesyonlarda yine birlikte konuşuyoruz.
Yani ekip olarak böyle bu şekilde şey yapıyoruz.
Daha önceden takip ettiğimiz bir pratiğimiz vardı.
Onu son zamanlarda yapamıyoruz.
Böyle data engineering alanında bir kitap belirliyorduk ve her hafta o kitabın bir chapter'ını okuyorduk.
Birlikte böyle sonra üzerine tartışıyorduk.
Onu bir süredir yapamıyoruz.
Belki o sessionlara da geri dönsek aslında güzel olabilirmiş gibi böyle bir sesli düşündüm şimdi.
Geçmişe bir özlem böyle. Ne güzel dinlerdi falan diye böyle.
Aynen güzel oluyordu ya.
Herkes bir chapter alıyordu.
15-20 sayfa önden çalışıyordu.
Sonra ekipçe böyle o kısımları okuyup şey yapıyorduk, üzerine tartışıyorduk falan.
Çok güzel ya. Bunu yapan bir ekip vardı.
Hangi ekipti unuttum? Hani şey kitap, chapter, chapter.
Birbirlerinin kitap günleri yapıyorlarmış saatleri.
Yani haftada bir saatinde mesela. Bir kitabın chapter'ından bahsediyorlarmış.
Aynen. Biz de tam aynı pratiği uyguluyorduk aslında.
Böyle birkaç kitap bitirdik.
Daha sonra böyle bir şey yaptık, ara verdik.
O ara biraz da uzun oldu tabii ama şey yapabiliriz.
Belki yeniden devam ettirebiliriz.
Onun dışında kişisel gelişim de çok önemli abi.
Sorduğun sorunun ikinci kısmı.
Çünkü çok basit bir mantık var.
Yani hani kişi gelişmedikçe ekip...
gelişmiyor yani ve ekipler gelişmezse de uzun vadede şirketin gelişmesinde problemler çıkabiliyor.
O yüzden kişisel gelişim her şeyin başladığı yer gibi.
Trendol'un kültüründe de olan bir şey bu.
Her gün daha iyi olmak için çabalamak vs.
Bununla alakalı bir tane kültür maddemiz var.
Kişisel olarak böyle zaman ayırmaya çalışıyoruz.
Yani çok yoğun olmadığımız dönemlerde ben mesela kişisel olarak haftada böyle yarım gün falan kendimi ayırıp hani yeni teknolojiler neler varmış bir bakayım işte okumadığım blog yazıları varsa onları okuyayım
gibi böyle kendim zaman ayırmaya çalışıyorum.
Onun dışında LD ekibimizin Learning and Development ekibimizin eğitimleri oluyor veya biz bir eğitim talep ettiğimizde bu da hani trend yolda.
Çok olumlu karşılanan bir durum.
Bir kişi veya bir ekip yeni bir şey öğrenmek istediğinde ve bir eğitim talep ettiğinde bu online olabilir ya da in-class eğitim olabilir.
Bu çok her zaman desteklenen bir durum.
Başka neyden bahsedebilirim?
Belki daha önce bahseden ekipler olmuştur.
Kişisel eğitim bütçemiz var.
Ondan bahsedebilirim.
Hani kişisel gelişim için herkesin harcayabileceği bir senelik bütçesi oluyor.
Bu bütçeyi kullanarak da işte eğitimler satın alabiliyoruz veya...
İşte almak istediğimiz bir sertifika varsa katılmak istediğimiz bir sertifika programı onun için kullanabiliyoruz.
Ya da işte almak istediğimiz böyle teknik kitaplar varsa onları alabiliyoruz.
Öyle hani kişisel gelişim bayağı trend yolda desteklenen bir durum aslında.
Çok iyi abi ya. Yani dediğin gibi zaten bizim bu IT alanında özellikle bir yerde zaten sabit kalınca geride kalıyorsun gibi bir şey oluyor ya.
Hemen şey de oluyor. Acaba ne kaybettim?
Ne geride kaldı? Vesaire gibi.
Böyle psikolojik olarak. Ben de bazen oluyor şey yapıyorum.
Ulan ya çok geride kaldım falan.
Bir şeyleri kaçırıyorum falan gibi.
Böyle bunu ismeyi de unuttum.
Bir şey vardı ya. FOMO abi.
FOMO aynen aynen FOMO. Bir şeyler oluyor hani anladın mı?
İstersen ya da şey oluyor. Geride kaldığını hissedebiliyorsun.
Çünkü çok hızlı ilerliyor bazen her şey.
Aynen. Bir şeyler kaçırıyor muyum acaba?
Ama o durum çok ilerlemesin abi.
Yok aynen tabii ki. Buna böyle bilincinde olmak gerekiyor.
Yoksa şey oluyorsun böyle.
Onun da ileri seviyesi de var çünkü.
Gerçekten hani sürekli aklımda gelen geride mi kalıyorum vesaire.
O yüzden de dikkat etmek gerekiyor.
Anksiyete ilaçlarına doğru götürür yani.
Tabii tabii. Peki burada şu an hep bir data engineering'den bahsettik.
Burada mesela benim aklıma gelen şey şu.
Örneğin ben de üniversitede falan bakıyordum böyle işte bu Data Engineering kısımlarını, Big Data kısımlarını vs.
Bakıyordum, öğrendim, öğrendim sonra şey dedim.
Ben ne yapacağım bununla falan, ben öğrendim bunları nasıl uygulayacağım falan diye böyle kalmıştım.
Hatırlıyorum üniversite zamanında.
Diyelim ki mesela Data Engineering'e geçiş yapmak isteyenler var.
Mesela bu developer diyelim mesela.
Örneğin backend developer üzerinden de gidebiliriz.
Geçiş yapmak isteyen biri için tam olarak mesela nelere odaklanmalı?
Burada bir kariyer tavsiyesi verebilir miyiz?
Ben burada şeye değinebilirim.
Biz data engineer'larız ve data engineering disiplinde yer alıyoruz ama software engineering pratiklerine çok değer veren bir ekibiz.
Genel olarak data engineering ekipleri de bu yönde diyebiliriz.
Şimdi data engineering'de bazı önemli konseptler var.
Bu konseptleri okumak, tanımak, araştırma yapmak faydalı olur.
Data ingestin, data storage, big data processing, query engine'ler, bu tarz şeylere dair okumalar yapmak güzel olabilir.
Bunun dışında tabii ki sadece teoriyle değil, pratikle de ilerlemek lazım.
Yani hands-on yapmak çok önemli.
Spark'la uygulama geliştirmeye çalışmak ya da şey kullanmaya, stream processing tarafında bir şeyler yapmak için flink ile denemeler yapmaya çalışmak çok önemli.
güzel olur. Bir de kitaplar belki önerebiliriz.
İki seneye önce yayınlanan çok faydalı, çok başarılı bulunan bir kitap vardı.
O direkt aklıma geliyor. Fundamental Soft Data Engineering diye.
Daha pratik alandan şeyi örnek gösterebiliriz.
Spark the Definitive Guide. Spark'ın yazarlarının içinde olduğu çok büyük ve geniş kapsamlı bir kitap.
O çok doyurucu. Bir yandan da birçok back-end software engineer arkadaşlarımızla ortak olarak paylaştığımız gibi Martin Kleffman'ın efsane kitabı Designing Data Intensive Applications.
Bunları çok tavsiye ederiz.
Öyle bir kitap ki her şeye uyuyor ya gerçekten.
Aynen ya. Bible gibi bir şey.
Çok iyi eserler bu arada.
Kesinlikle. Son olarak da şeyden bahsetmek istiyorum ben.
Ekibinizi gerçekten güzel bir şekilde anladığımı düşünüyorum.
Çok güzel projeler yaptığımızı da görüyoruz zaten.
Önümüzdeki dönemde neler olacak peki?
Yani planladığınız büyük projeler var mı?
Bunları hayata geçirmeyi beklediğiniz takvim nasıldır?
Birazcık ondan da bahsedebilirsek çok sevinirim ben de.
Önümüzdeki dönemde aslında şu an başladığımız büyük bir proje var.
Bir migration projesi.
Kullandığımız cloud altyapısını değiştiriyoruz.
Yani başladık ama önümüzdeki dönemde de böyle kısa vadede de devam edeceğimiz bir proje.
Bütün data engineering ekipleri olarak şey yapıyoruz.
Bütün uygulamalarımızı, altyapılarımızı farklı bir cloud vendor'a geçireceğiz.
Onun dışında tabii bir yandan backlog'daki domain'den, işte product'lardan gelen işleri de yapmaya devam ediyoruz.
Onun dışında Spark tarafında birkaç böyle denemeler yapmak istiyoruz.
Apache Spark bizim çok kullandığımız bir framework diyeyim.
Spark'ı Kubernetes üzerinde Spark on Kubernetes diye bir kavram var.
Şu an biz Spark'ı EMR plasterlarında koşuyoruz, Spark uygulamalarımızı.
Spark on Kubernetes'i de şey yapmak istiyoruz, bir deneyimlemek istiyoruz.
Onun dışında yine Spark'ı belki spot instance'larda çalıştırma gibi bir durum olabilir.
Biliyorsunuz bu spot instance'lar normal diğer makinelere göre fiyat anlamında çok daha uygun oluyorlar.
Böyle bir havuzdan şeyleri kullanıyorsunuz makineleri ama tabii şeyi garanti etmiyor.
Kullandığınız resursun hep sizde kalacağını garanti etmiyor.
Bir anda ihtiyaç olursa alabiliyor sizden.
Biznes lojiyi kırmayacak şekilde hani bazı belki batch uygulamalarımızı şey yapabiliriz.
Spot instance'larda koşarız ve günün sonunda...
Sonunda işte pricing'i düşürebiliriz gibi düşünüyoruz.
Böyle bir çalışmamız var. Onun dışında application security tarafında yine yapmak istediklerimiz var.
Şirketin uygulama güvenliği konusunda bazı pratikleri var.
Bizim tabii kendi tarafımızda bazı security şeylerimiz var.
Adımlarımız var ama böyle şirkete daha uyumlu hale gelmek için diğer pratiklere böyle pipeline'lara appsec adımlarını eklemek işte vault integrasyonu falan gibi böyle işler var şeyde roadmap'imizde.
Abi o konflikte ilgili bir şey sorabilir miyim?
Buyur abi. Akma bir şey gelmişti de orada.
Ben de tam akma şeye giriyordum. Şimdi data engineering ile ilgili mesela ben başka bir ekipteyim.
Sizden bir isteğimiz olacak. Şey diyor musunuz?
Abi en az 3 milyon datanız yoksa hiç sizin yüzünüze bakmayız falan.
Hani bu tarz bir... Yok abi ya.
Konflikt ve alt dediğin ya mesela atıyorum true of the çok yüksek değildir onun ama yine de yapıyorsanız hani işte atıyorum 100 milyon altına da bakarız gibi mi oluyor?
Onun bir şeyi var mı? Ne zaman size geliyor bu?
Oradaki espri aslında şu o işi yapacak olan ekip kendisi bu işi yapacak.
altyapıya sahip değilse ya da oradaki kendi işte experience'ı, learning'leri bu işi yapmaya yetmiyorsa bize gelen her ekibi aslında biz şey yapmıyoruz.
Biraz böyle Mevlana gibi boş çevirmiyoruz abi.
Ne olursan ol gel diyoruz hani.
Yani abi data var.
Excel'e sığıyor. İşte hesaplayabiliyorsun.
Data var böyle milyarlarca kayıt var.
O da biraz ekibin o datayı işleyebilme kabiliyetiyle alakalı.
Hani bir ekip milyarlarca kaydı kendisi de işleyebiliyordur ve bize hiç gelmiyor.
Bazı ekip Diyor ki işte şurada böyle 30-40 milyon data point'in olduğu bir şeyimiz var, işimiz var.
Ama biz bu işi yapamıyoruz.
Hani siz yardımcı olabilir misiniz?
Biz genelde böyle işte distributed computing yapan framework'lar kullandığımız için 30-40 milyon sayısı bizim için şey oluyor.
Hani çok böyle küçük kalıyor.
Ama şeyimiz yok, böyle bir trash olduğumuz yok.
Hani 15 milyonun altına bakmayız, 15 milyonun üstüne bakarız gibi bir magic number'ımız yok yani.
Öyle. O zaman çok teşekkür ediyoruz.
Gerçekten güzel ve keyifli bir bölüm oldu.
Teşekkür ederiz. Çok güzel bir sohbet oldu.
Biz teşekkür ederiz. Çok keyifliydi gerçekten.
Aynen. Biz teşekkür ederiz.
Teşekkürler. Bir sonraki bölümde görüşmek üzere diyoruz.
Hoşçakalın. Hoşçakalın.
Bye bye.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
