Onur Dolu ile Yüksek Trafikli Yazılım Mimarisi Üzerine | robot_dreams
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Onur Dolu ile Yüksek Trafikli Yazılım Mimarisi Üzerine

Onur Dolu ile Yüksek Trafikli Yazılım Mimarisi Üzerine

Yüksek Trafikli Yazılım Mimarisi kurs eğitmenimiz Onur Dolu ile sistem mimarlarının olmazsa olmaz becerilerini, yapay zeka ve makine öğreniminin sektöre etkisini ve geleceğin teknoloji trendlerini konuştuk.

Onur Dolu, 15 yılı aşkın deneyime sahip bir Platform Engineer olarak Siemens’te telekomünikasyon, IoT ve Endüstri 4.0 dönüşüm projelerinde kritik roller üstlendi. Şimdi ise bu birikimini, sektöre adım atan mühendis ve yazılımcılarla paylaşarak rehberlik ediyor. Keyifli okumalar!

1. Highload sistemler konusunda uzmanlaşmaya nasıl karar verdiniz? Kariyerinizin bu alana yönelmesinde hangi etkenler etkili oldu?

Üniversiteden mezun olduğumuz zamanlarda Java çok popülerdi. Biz de haliyle Java'yla çalışabileceğimiz ve yurt dışı deneyimi kazanabileceğimiz bir iş olarak telekom sektörünü seçtik. Telekom alanında çalışırken, geliştirdiğimiz ürün ses paketlerinin dağıtımıyla değil, sadece oturumlarla ilgiliydi. Yani, oturumun ne zaman başladığı, ne zaman bittiği, transfer olup olmadığı gibi konularla ilgileniyorduk. Aslında verinin akışı üzerine çalışmıyorduk ve burada bir eksiklik olduğunu hissediyorduk. Daha sonra hepimiz farklı firmalara dağıldık ve ben Siemens'e geçtim. O zamanlar, şimdiki yapay zeka trendi gibi, Endüstri 4.0 ve IoT trendi vardı.
 

IoT projelerinde, binalardan ve fabrikalardan veri toplayacağız derken üzerinde çalıştığımız proje telekom sektöründe çalıştığım projelerden farklılaşmaya başladı. Bu proje, Telekom'daki projemden çok farklıydı çünkü hem yüksek trafik hem de yoğun veri akışı vardı. Bu deneyim, yüksek trafikli sistemler alanında deneyimimi arttırmam gerektiğini anlamamı sağladı. Üniversiteden mezun olduğumuzda, sahibinden.com gibi siteler sadece ürününü koyduğun, başkasının gördüğü ve alıyorsa cep telefonu üzerinden görüşülen, satın alımın bu şekilde gerçekleştiği platformlardı. Şimdi ise sosyal medya sayesinde insanlar sadece web sayfaları üzerinden alım-satım yapmıyor, her şey interaktif devam ediyor ve sürekli etkileşim halinde. Bu etkileşimin sonu gelmeyecek. Burada da şunun farkına varıyorsunuz, yazılım dünyasında durağan bir şey yok, herkes iletişim halinde ve bu trafik hiç bitmeyecek. Ben de bu iki sebepten dolayı bu alana yöneldim.

2. Peki büyük ölçekli sistemlerde en yaygın karşılaşılan ölçeklenebilirlik ve dayanıklılık sorunları nelerdir? Bu sorunları aşmak için hangi yaklaşımları önerirsiniz?

Çalıştığım şirkette aldığım eğitimler de aslında ölçeklenebilirlik, dayanıklılık, genişleyebilirlik, esneyebilirlik gibi konulara denk geliyor. Bunu yapabilmek için de şunu anlamak gerekir: Ne kadar çok esnekliğe sahip olursanız o kadar ölçeklenebilirsiniz. Esneklik arttıkça, sistemin ölçeklenebilirliği de artar. Yani sistemi hem büyütüp hem de küçültmek mümkün hale gelir. İnsanlar üzerinden düşünecek olursak, bağımsızlık arttıkça esneklik de artar. Benzer şekilde, sistemdeki bileşenler ne kadar bağımsız olursa ve veriler birbirinden ne kadar bağımsız olursa, sistem o kadar ölçeklenebilir ve dayanıklı hale gelir. Bu yöntemlerle sistemleri daha sağlam hale getirebiliriz. Problemlere bu şekilde çözüm bulmaya çalışıyoruz.

3. Sizce bir yazılım mimarı veya teknoloji liderinin yüksek trafikli sistemler tasarlarken sahip olması gereken en önemli yetkinlikler nelerdir?

Bu konuda biz yazılım mimarları olarak, çözüme hemen geçmek yerine problemi anlamaya odaklanırız. Her seferinde problem üzerinde kalmaya devam ediyoruz. Alttan bakıyoruz, üstten bakıyoruz, yandan bakıyoruz, biraz kod geliştiriyoruz, olmazsa tekrar başa dönüyoruz. Hiçbir zaman nihai sonuca ulaşacağımızı düşünmüyoruz. Ben biraz bunu arabayı yıkamaya benzetiyorum. Bazen tekerlekleri yıkıyoruz, bazen yukarıya doğru yıkıyoruz, bazen tamponları yıkıyoruz, sonra geri dönüyoruz, bir daha yıkıyoruz gibi. Her açıdan incelemeye devam etmemiz gerekiyor. Yazılım mimari arkadaşlara da naçizane tavsiyem budur, 360 derecelik bir bakış açısıyla problemi analiz etmeleri ve çözüm odaklı acelecilikten kaçınmalarıdır.

4. Bu kursa katılan yazılım geliştiriciler, DevOps mühendisleri ve teknoloji liderleri kursunda hangi pratik becerilere sahip olacaklar?

Kursun içeriğinin yanı sıra, kişisel bir hedefim de var. Katılımcılarla birlikte, çok kullanıcılı bir sosyal medya uygulamasını veya popüler bir uygulamayı geliştirmeyi hedefliyorum. Bu, onlarla birlikte ulaşmak istediğim bir hedef, umuyorum ki hep birlikte bu hedefe ulaşabiliriz. 360 derecelik bir bakış açısıyla, bu tasarımı birlikte gerçekleştirmekten keyif alacağımızı düşünüyorum.

5. Derslerde özellikle vurguladığınız yazılım mühendislerinin sıkça göz ardı ettiği ancak kritik olan bir konu var mı?

Bu biraz bizim kültürümüzle alakalı olabilir, ancak bizler çözüme hızla ulaşmayı, sorunu hemen çözmeyi biraz seviyoruz. Çözelim, bitirelim, evimize, ailemize, arkadaşlarımızın yanına ulaşalım istiyoruz. Ne yazık ki yazılım işi biraz böyle değil. Yazılım, sabır ve planlama gerektiren bir süreçtir. Haliyle yazılım ekibindeki arkadaşlara yegane tavsiyem, hemen klavye ve fareye dokunmak yerine önce kağıt kalemi ellerimize almak olacaktır.

6. Son olarak, sizce yapay zeka ve makine öğrenmesi, sistem mimarisi ve çözümlerinde nasıl bir rol oynuyor?

Yapay zeka ve makine öğrenmesi oldukça popüler konular. Her gün yeni bir yapay zeka modeli çıkıyor. Ringte büyük bir dövüş var ve kan gövdeyi götürüyor tabiri caizse. Fakat uzun süredir yazılım dünyasında ya da teknoloji dünyasında çalışanlar olarak biz konuya hep şöyle yaklaşıyoruz: her şey duruma göre değişir. Şu an için gözlemlemek daha uygun görünüyor. Daha önce de değindiğim gibi, bu tarz teknoloji rüzgarları, endüstri rüzgarları hep olur. Geçmişte de benzer teknoloji trendleri gördük ve bazıları zamanla kayboldu. Çok geriye gidersek USB sürücüler vardı, disketlerimiz vardı, artık kullanım dışılar. CD veya DVD yok artık. Her şey çok hızlı değiştiği gibi, bu yapay zeka araçları günlük hayatımızın vazgeçilmez bir parçası haline gelirse, o zaman etkisinin gerçekten büyük olacağını söyleyebilirim. Diğer yandan, evlerde yapay zeka asistanlarının kullanımının artması yine yüksek trafikli bir ortama sebep olacaktır diye düşünüyorum. Bu yüzden ben gelecekte de bu alandaki uzmanlara ihtiyaç duyulacağını düşünüyorum.

Siz de yüksek trafikli yazılım mimarisinin derinliklerini inceleyeceğimiz eğitimimize katılmak istiyorsanız, linke tıklayarak müfredatımıza göz atabilirsiniz!

Daha fazla makale
QA'lerin hataları takip ettiği yerler. Hata Takip Sistemleri (Bug Tracking Systems), test uzmanlarının yazılımdaki hataları (bugları) kaydetmesine ve sistemleştirmesine yardımcı olur. Hata takip sistemleri, projenin test kapsamı hakkındaki tüm bilgilerin yer aldığı tek bir ortamdır.