AWS ile Gelişmiş Bulut Yönetimi: Cihan Dalgıçdir’in Gözünden Yazılım Dünyası
Saygıdeğer eğitmenimiz Cihan Dalgıçdir ile eğitimimiz öncesinde matematikten yazılıma uzanan kariyer yolculuğu ve AWS üzerine sohbet ettik.
Saygıdeğer eğitmenimiz Cihan Dalgıçdir ile eğitimimiz öncesinde matematikten yazılıma uzanan kariyer yolculuğu ve AWS üzerine sohbet ettik.
Her yazılımcının kendine has bir hikayesi var. Bu röportajımızda, sayın Cihan Dalgıçdir ile matematikle başlayarak yazılımın büyülü dünyasına uzanan kariyer serüvenini, öğrenme azminin önemini ve AWS’nin avantajlarını konuştuk. Keyifli okumalar!
1. Günümüzde birçok yazılımcı farklı alanlardan geliyor. Sizin de eğitim geçmişiniz matematik üzerine. Matematikten yazılıma uzanan yolculuğunuzdan biraz bahseder misiniz?
Evet, aslında matematik mezunuyum. Üniversitede yazılımla alakalı yalnızca bir ders gördüm. Orada ilgimi çekmişti ama daha sonrasında yazılıma asıl girişim özel matematik dersleri verdiğim dönemde oldu. “Neden kendimi daha iyi tanıtmayayım?” diyerek kendime bir site kurmaya karar verdim. Siteyi nasıl yapabilirim diye araştırırken sağda solda eğitimlere denk geldim ve oturup onları izleyerek, bireysel çalışarak, bir site hazırladım. O süreçte yazılımın ne kadar keyifli bir alan olduğunu keşfettim. Bilgisayarda birçok şeyi yapabildiğimi fark ettim. Bu süreçten sonra yüksek lisansta bilgisayar mühendisliği okumaya karar verdim.
Sonrasında ise, işe girmek için çevremdeki, özellikle ODTÜ Teknokent’teki şirketlere, CV’mi mail atan bir yazılım oluşturdum. Şirketlerin hepsini tarayarak e-mail adreslerini alıp benim adıma CV’mi yollayan bir yazılımdı. Genç yazılımcılara da bu tarz çalışmalar yapmalarını öneririm. Günümüzde bu tarz yazılımlar oluşturmak artık çok daha kolay.
Matematiğin bu noktada bana öğrenmeyi öğrettiğini söyleyebilirim. Matematik sayesinde daha hızlı öğrenebilmeyi öğrendim. Tabii kod yazabilmek için matematik bilmek zorunlu değil. Önceki işimde yöneticim lise mezunuydu ve çok başarılıydı. Bu anlamda, üniversitede hangi bölümü okuduğunuzun bir önemi yok. Öğrenme azminiz varsa, bu yolda pes etmiyorsanız, yapılamayacak bir şey değil. Sonuçta yeni bir şey çıkarmıyoruz. Farklı problemleri küçük parçalara bölerek, halihazırda var olan yapıları bu problemlere uyguluyoruz.
2. Peki yazılım kariyeriniz nasıl gelişti? Ne tür projelerde yer aldınız?
Yazılıma başladığımda yazılım destek uzmanıydım. Pozisyonumda, kod yazmaya ihtiyacım olmasa da işimi kolaylaştıracak araçlar yazmaya başladım. Sonrasında bu sayede yazılım tarafına geçtim. Ardından, eğitim programlarıyla kendimi geliştirdim ve eğitimler de vermeye başladım. Senior yazılımcılığa kadar kod yazarak kendimi geliştirdim. Birçok firmada çalıştım. Daha sonrasında, tüm yazılımcılarda olduğu gibi ben de yurt dışında tecrübe kazanma düşüncesiyle 2.5 sene UBS’te çalıştım. Bu işin benim için en büyük artısı kurumsal kültürü deneyimlemek oldu. Union Bank of Switzerland, 80 bin çalışanı olan dünyanın en büyük bankalarından biri. Burada Enterprise Architect mevkiine kadar yükseldim. Bu daha stratejik bir pozisyondu. Kod yazmaktan ziyade insanları yönlendiriyordum. Bir sistemin kurulumundan, güvenlik ekibinin nasıl çalışacağına, iletişimin nasıl sağlanacağına ve projede kaç kişinin yer alacağına kadar farklı noktalara değindik. Cloud Architect, Solution Architect gibi farklı pozisyonları açıklamak amacıyla bu alanları incelediğim bir yazı kaleme aldım.
Şu anda ise Moka’da çalışıyorum. Moka, İş Bankası’nın ödeme kuruluşu. Burada, yapılan online alışverişlerde ödemenin gerçekleştiği ara katmanı oluşturuyoruz. Çok fazla ‘transaction’ın gerçekleştiği, yani çok fazla işlem yapılan, gece gündüz uyanık kalmamızı gerektiren bir serviste çalışıyoruz. Yaklaşık 12 kişilik bir ekipte yazılım mimarı olarak görev yapıyorum. Yaptığım iş özelinde yeniliklere ayak uydurarak daha iyi bir sistemi, daha ucuza, daha kaliteli ve güvenli bir şekilde oluşturmaya çalışıyoruz. Bu anlamda, kod da yazıyorum, database ve DevOps kısmında da görev alıyorum. Bir yandan da Moka’nın uzun vadede yurt dışı planlarının mimari çalışmalarını yürütüyorum.
3. İşinizin en keyif aldığınız kısmı nedir?
En keyif aldığım kısmı, indirimlerden önceden haberim oluyor. Şaka bir yana, en keyif aldığım kısım orada yaptığım değişikliklerin gerçeğe yansımasını görmek. Belki birkaç satır kod yazıyorsunuz ama bu kod sayesinde sistemi daha ekonomik, daha kaliteli, daha güvenli bir hale getiriyorsunuz. Şirketlerde birçok birim var. Bu birimlerin hepsi, mevcut yazılımın çıktılarıyla yola çıkıyor ve insanlar bu yazılım üzerinden geçimini sağlıyor. Bu süreci iyileştirmek, geliştirmek bizi mutlu ediyor. Bu sürecin merkezinde bulunmak ve sistemi tasarlıyor olmak çok keyifli. Çıktılarınızı mobil uygulamalar gibi gerçekte görebilmek ise en keyif verici tarafı diyebilirim. Yazılım, insanı tatmin eden bir iş. Ancak, aynı zamanda oldukça zor bir iş. Kazandığınız tecrübeleri farklı alanlara yönlendirebilmek, bu yolculukta öğrenme sürecinin asla sona ermeyeceğini benimsemek gerekiyor. Başarısız olduğunuzda kabul edebilmeniz gerekiyor.
4. AWS gittikçe popülerleşen bir altyapı hizmeti. AWS’yi rakiplerinden farklı kılan nedir?
AWS’nin Google gibi rakipleri var. Huawei bu anlamda güçlü bir giriş yapmaya çalışıyor. Belirli noktalarda kullanıcıya çok daha ucuz seçenekler sunuyor. Google Cloud servisini ayrıntılı inceleme fırsatım olmadı, fakat Amazon’un Microsoft’a göre özellikle network ve Linux sistemlerinde daha iyi olduğunu söyleyebilirim. Amazon, son zamanlarda AI konusunda da ön plana çıkıyor. AI alanında çok büyük yatırımlar yapıyorlar.
Ayrıca, müşteri desteği kullanıcılar tarafından daha iyi bulunuyor. Müşteri desteği planlarının birinde 24 saat boyunca anında cevap alabildiğiniz dışarıdan bir danışman oluyor. Ve o danışmanın avantajı şu: Benim web tabanım orada, depolarım orada ve hepsinin uzmanına her an ulaşabiliyorum. Yani, aradığınızda anında ulaşabileceğiniz bir danışman ekibiniz oluyor. Bu çok büyük bir artı. Öte yandan, Linux sistemlerde, özellikle Kubernetes ya da Dockrise bir sistem kuracaksam, bu noktada güvenlikten networke, kuyruk sisteminden veri tabanı ve Cloud Watch’a kadar bunların hepsini bir Linux sistemi için sağlayabilen nadir yerlerden.
Konumlandırmaları da önemli. Asya’da ve Avrupa’nın çoğu bölgesinde varlar. Konumdan bahsetmişken, Amazon, AWS Migration dediğimiz bir sistemde de öne çıkıyor. Mesela ben lokaldeki sistemimi Amazon’a taşımak istiyorum. Bu anlamda Microsoft’un sağladığı yöntemler daha basit kalıyor. Orada size network açıyor ve göndermenizi istiyor. Amazon ise üç farklı yöntem sunuyor: Size ayakkabı kutusu boyutunda bir kutu gönderiyorlar. Dosyalarınızı oraya yüklemenizi isteyerek Cloud’a alıyorlar. İkinci seçenekte size daha büyük bir dosya gönderiyorlar. Üçüncüsünde ise size tır yolluyorlar. Snowball denilen bir servisle size tırı gönderiyorlar. Dosyalarınızı alıp gönderiyorsunuz ve Cloud’a yüklüyorlar. Bu çok büyük bir avantaj. Mesela Türkiye’de birçok kurumun ödemeler veya bankalar gibi daha çok kişisel verileri içeren noktalarda Cloud kullanması, verilerin yurt dışına çıkarılamaması sebebiyle yasak. Ama gelecekte AWS, Azure veya Google buraya ofis açtığında, bankaların ödeme servisleri oraya geçecek. Bu anlamda Türkiye’de ofis açmaya en yakın Amazon gibi duruyor.
5. Peki katılımcıları AWS ile Gelişmiş Bulut Yönetimi eğitiminde neler bekliyor?
AWS, bine yakın servise sahip bir servis sağlayıcı. Hepsini tek bir eğitimde ele almak mümkün olmasa da, Amazon’un gerçekleştirdiği Amazon Solution Architect, Amazon Cloud Architect gibi sınavlarda çıkan belli başlı konulara değineceğiz. Bu sınavların ve güncellemelerin nasıl ve nereden takip edileceği gibi tecrübelerimle edindiğim bilgileri paylaşacağım. Kurs boyunca pratiğe ve düşünce yapısına da önem göstereceğiz.
Eğitimin başlangıcında kısa bir süreyi “mindset”e ayıracağız. Yani eğitimi alacak kişi nasıl bir bilince sahip olmalı ki eğitim faydalı olsun? Mesela başarı nedir? Benim çok sevdiğim bir söz vardır: Başarı, başarısızlıktan başarısızlığa yürürken içinizdeki o tutkuyu kaybetmemektir. İçimizdeki o başarısızlığa yılmadan, sürekli öğrenmeye devam edebileceğimiz bir düşünce yapısını konuşacağız. Yazılım tarafında bunu ele aldığımızda, her şeyin eksisi olduğu gibi artısı da var. Mesela mikroservis iyi, monolitik kötü diye bir şey yok aslında. Bunları da öğrenmek ve değerlendirebilmek gerekiyor. Bu anlamda vizyonumuzu genişletecek sorular soracağız.
Sonrasında Amazon’da sık kullanılan ve her sınavında sorulan birkaç servis var. S3 bunlardan biri. Bu özellik sayesinde yapabileceklerinizin bir sınırı yok. Bu yüzden S3 üzerinde durarak, amaçlarını ve avantajlarını inceleyeceğiz. S3 haricinde lambda çok sık kullanılan serverless bir sistem. S3 ve lambdayı beraber kurgulayabileceğimiz örnekler olacak. VPC üzerinde duracağız. Kurduğumuz sunucu veya lambdanın VPC üzerinde networkte nasıl hareket edeceğini inceleyeceğiz. Aynı zamanda Amazon konsolundaki kullanıcı ve servislerin yetki alanlarını belirlediğimiz IAM’i kullanacağız. Bunlardan sonra ise EC2’ya bakacağız. EC2 üzerinden, açmak istediğimiz sunucularda internete erişim, yaptığımız işlemler arasındaki iletişim, depolama alanı, diskin büyümesi durumunda fiyatlandırmalar nasıl değişiyor, bu fiyatlandırmalar nereden takip edilir, bunları göreceğiz. Bu konular için AWS’nin yapı taşları da diyebiliriz. Sonrasında Cloud Watch geliyor. Cloud Watch üzerinden kullandığımız servislerin faturalarından CPU tüketimine kadar tüm süreci takip etmeyi göreceğiz. Bu işlemlerden yola çıkarak bildirim fonksiyonları oluşturacağız. Tüm bu konulardan yola çıkarak, AWS'nin en önemli unsurlarını keşfedecek ve bu platformda nasıl ustalaşabileceğimizi öğreneceğiz.
6. Eğitimlerimizde pratik ön planda yer alıyor. Eğitim, uygulama açısından katılımcılara neler katacak?
Öğrenmek sadece kodun nasıl çalıştığını anlamak değil, o kodla neler yapabileceğimi, alternatifleri değerlendirmek demek. Alternatiflerim neler? Hangisi daha ucuz? Hangisi daha güvenli? Bunlar sürekli sorulması gereken sorular. Bu soruları cevapladıkça hem vizyonunuzu genişletiyor, hem de yeni servisler açıp birbirlerine bağlayabiliyorsunuz.
AWS, uygulama açısından çok avantajlı. Amazon, son yıllarda Amplify adında bir girişime yatırım yaptı. Bu platform, sadece sürükle ve bırak yöntemiyle servis oluşturmanıza olanak tanıyor. Bir veritabanını bu yöntemle oluşturabiliyor, kodunu çıkarıp deploy edebiliyoruz. Sürecin tamamen otomatikleştiği bir aşamaya ulaştık. Bu anlamda, AWS üzerinden kısa sürede sıfırdan oluşturulan uygulama örnekleri mevcut.
Biz de uygulama açısından, AWS’nin farklı fonksiyonları üzerine düşüneceğiz. Örneğin; evimde bir tane sunucum var. Bu sunucuyu, AWS yerine Amazon’un herhangi bir servisi üzerinden de gözlemleyebiliyorum. Cloud Watch’ın kullandığı bir event store mevcut. Amazon’un birçok Queue servisi ve bildirim fonksiyonları bulunuyor. Bunları gözlemleyerek otomatik bir sistem oluşturabiliyoruz. Mesela, bir SMS servisi yazdım. Bu serviste kuyruğa bir şeyler geldikçe oradan veri çekerek SMS gönderiyor. Kuyruğa bir milyon veri geldiğinde ne yapmam gerek? Sunucu sayısını artırmam gerek. Bunu otomotikleştirebiliriz. Diyelim ki evimde Alexa var. Alexa’ya bir servisi kapatması komutunu vererek o sunucu üzerindeki servisi de kapatabilirim. Bunlar sayesinde event dediğimiz olay mekanizmasını kontrol edebilmeyi göreceğiz. Farklı senaryolar üzerinden düşünerek aslında ne kadar fazla şey yapabileceğimizi inceleyeceğiz.
7. Yapay zeka her alanda olduğu gibi yazılım sektöründe de gündemde. Sizin yapay zekaya karşı bakış açınız nedir?
Yazılımcılar olarak ne kadar gelişsek de sürekli öğrenmeye devam ediyoruz. ChatGPT’ye sorular soruyoruz. Yazılım, çok hızlı gelişen bir sektör. Sabah erken kalkan yeni bir framework yazabiliyor. Bunların hepsini bilmemiz veya hatırlamamız mümkün değil. Bu noktada daha tecrübeli yazılımcıları farklı kılan şey daha doğru sorular sorabilmeleri. Bu çok önemli. ChatGPT ve Google’a İngilizce soru sormak avantaj sağlıyor. Çünkü, terimlerin çoğu İngilizce olduğu gibi, çeviri her zaman istediğiniz gibi olmuyor. Dil sürekli değişiyor ve ben AI’ın buna ayak uydurabileceğini düşünmüyorum uzun vadede bile olsa. Dili bilmek o yüzden artı sağlıyor. Ben en çok ChatGPT ve Aria’yı kullanıyorum. Bunlar benim ufkumu açabilecek yeni araçlar oldu. Bu araçları da nasıl kullanacaklarına değineceğiz eğitimde. Benim mesaimin üçte biri bu araçlar üzerinden yeni şeyler öğrenmekle geçiyor.
ChatGPT bizi ele geçirecek mi gibi söylemler de dolaşıyor ama şöyle bir şey var: Sanayi Devrimi gerçekleştiği zaman da makinelerden korkuluyordu ama sonucunda biz evrimleştik. Farklı işler yapabilmeye başladık. Yeni meslekler oluştu. Bunun da benzer bir süreç olduğunu düşünüyorum.