Teknolojinin Dönüşüm Yolculuğu
Teknoloji Neden Sürekli Evriliyor? Hiç düşündünüz mü? Spotify’da bir şarkıya bastığımızda, Instagram’da bir hikâyeyi beğendiğimizde ya da bir yemek siparişi verdiğimizde, ekranda gördüğümüz şey sadece küçücük bir butondur. “Oynat”, “Beğen”, “Sipariş Ver”… Ama o butonun arkasında, çoğu zaman bizim hiç görmediğimiz devasa bir dünya çalışır. Sunucular uyanır, veri tabanları konuşur, ağlar veri taşır, güvenlik sistemleri bizi doğrular, algoritmalar karar verir, yapay zeka bize sıradaki öneriyi hazırlar. Ve biz kullanıcı olarak ne yaparız? Uygulama iki saniye geç açılsa homurdanırız. Çünkü modern teknolojinin en büyük başarısı tam da budur: arka plandaki korkunç karmaşıklığı görünmez kılmak. Aslında teknoloji tarihi, biraz da bu görünmezliği inşa etme hikâyesidir.
Bugün kullandığımız cloud-native platformlar, Kubernetes yapıları, serverless mimariler, DevOps, SRE ve AIOps yaklaşımları bir gecede ortaya çıkmadı. Hiçbiri “hadi yeni bir terim çıkaralım, sektör biraz hareketlensin” diye doğmadı. Her biri gerçek bir problemin cevabı olarak ortaya çıktı. Çünkü teknoloji çoğu zaman moda olduğu için değil, bir sınırı aştığımız için değişir. Kullanıcı daha hızlı cevap ister. Şirket daha fazla işlem yapmak ister. Sistem daha güvenilir çalışmak zorundadır. Maliyet düşmelidir. Güvenlik artmalıdır. Karmaşıklık yönetilebilir kalmalıdır. Ve işin güzel, biraz da ironik tarafı şudur: Biz mühendisler bir problemi çözeriz. Sonra döner bakarız ki çözümümüz yepyeni bir problem doğurmuş.
Yani teknoloji dünyasının gayriresmî mottosu şu olabilir: “Her çözüm yeni bir problem yaratır.” Ama panik yok. Zaten ilerleme de tam olarak böyle olur.
İlk büyük dönemlerden biri mainframe dünyasıydı. Bilgisayar dediğimiz şeyin bugünkü gibi herkesin cebinde, masasında ya da çantasında olmadığı zamanlardan bahsediyoruz. O dönemde bilgisayar gücü kişisel değil, merkezi ve kurumsal bir kaynaktı. Bir kurumun merkezinde çok büyük, çok pahalı ve çok güçlü bir makine bulunur; kullanıcılar terminaller üzerinden bu merkezi sisteme bağlanırdı. Bu yapı o dönem için çok anlamlıydı. Çünkü bilgisayar çok pahalıydı, erişim sınırlıydı ve işlem gücünü ortak kullanmak gerekiyordu. Mainframe’ler güçlüydü, güvenilirdi, kritik işlemler için çok değerliydi. Ama esnek değildi.Yeni kapasite eklemek kolay değildi. Kaynakları dinamik yönetmek zordu. Sistem güçlüydü ama çevik değildi. Bir anlamda devasa, çok akıllı ama biraz da ağır hareket eden bir fil gibiydi. Saygı duyarsınız, ama “biraz sağa kayabilir misin?” dediğinizde beklentiniz büyükse size hantal gelir.
Sonra şu soru doğdu: Her şeyi tek bir merkezi makinede toplamak zorunda mıyız? Bu bizi client-server dönemine taşıdı. Artık iş yükü istemciler ve sunucular arasında bölünmeye başladı. Kullanıcının önündeki cihaz daha akıllı hale geldi. Arka tarafta uygulama sunucuları, veri tabanı sunucuları, dosya sunucuları, mail sunucuları gibi farklı roller ortaya çıktı. Bu çok önemli bir adımdı. Sistemler daha esnek hale geldi. Görevler dağıtıldı. Kapasiteyi artırmak için yeni sunucular eklemek mümkün oldu. Network, bilişim dünyasının kalbine yerleşti. Ama tabii tahmin edersiniz: Problem tamamen çözülmedi, yeni endişeleri beraberinde getirdi.
Mainframe döneminde her şey fazla merkeziydi. Client-server döneminde ise her şey fazla dağınık hale geldi. Sunucu sayısı arttı. Network bağımlılığı arttı. Yönetilecek işletim sistemi, yama, güvenlik ayarı, yedekleme, izleme ve bakım işi çoğaldı. Bir kullanıcı “sistem açılmıyor” dediğinde artık tek bir yere bakmak yetmiyordu. Sorun istemcide mi, ağda mı, web sunucusunda mı, uygulama sunucusunda mı, veri tabanında mı? Kısacası özgürlük geldi, ama yanında operasyonel kalabalığını da getirdi.
Sonra yeni bir soru ortaya çıktı: Daha az fiziksel makineyle daha fazlasını yapabilir miyiz? Bu soru bizi sanallaştırmaya götürdü. Virtualization, yani sanallaştırma, fiziksel donanımı yazılımsal olarak bölerek tek bir fiziksel sunucu üzerinde birden fazla sanal makine çalıştırmamızı sağladı. Artık her uygulama için ayrı fiziksel sunucu almak zorunda değildik. Bir fiziksel sunucuyu, içinde birçok bağımsız daire olan bir apartman gibi kullanabiliyorduk. Hypervisor, CPU, RAM, disk ve network kaynaklarını sanal makineler arasında paylaştırıyor; herkesin kendi alanında, izole şekilde çalışmasını sağlıyordu. Sanallaştırma çok büyük bir verimlilik sağladı. Daha az donanım, daha iyi kaynak kullanımı, daha düşük veri merkezi maliyeti, daha kolay yedekleme, daha kolay taşıma…
Ama yine aynı yere geldik. Her sanal makine kendi işletim sistemiyle birlikte geliyordu. Yani bir uygulamayı çalıştırmak için yanında koca bir işletim sistemini de taşımak gerekiyordu. Bir süre sonra VM sayısı arttı, yönetim karmaşıklaştı, açılış süreleri, patch süreçleri ve kaynak tüketimi yeni bir yük haline geldi. O zaman yeni soru şuydu: Bir uygulamayı çalıştırmak için gerçekten bütün evi kamyona yükleyip taşımamız gerekiyor mu? İşte container fikri buradan doğdu.
Container’lar uygulamayı ve bağımlılıklarını hafif, taşınabilir ve standart bir paket haline getirdi. Sanal makine gibi tam bir işletim sistemi taşımak yerine, uygulamanın ihtiyaç duyduğu çalışma ortamını izole etti. Bunu şöyle düşünebiliriz: VM ile seyahate çıkmak bütün evi yanında götürmek gibidir. Container ise iyi hazırlanmış bir valizdir. İçinde ihtiyacın olan şeyler vardır, mesela koltuk takımını da götürmezsin. Container’lar sayesinde deployment hızlandı, ortam tutarlılığı arttı, “benim bilgisayarımda çalışıyordu” cümlesinin etkisi biraz azaldı. Tabii tamamen yok olmadı; o cümle yazılım dünyasının kültürel mirasıdır, kolay kolay silinmez. Container’larla birlikte microservices yaklaşımı da güç kazandı. Büyük, tek parça uygulamalar yerine; kullanıcı servisi, ödeme servisi, sipariş servisi, bildirim servisi gibi küçük, bağımsız ve ölçeklenebilir servisler ortaya çıktı. Bu yaklaşım ekipleri hızlandırdı. Bir servisi güncellemek için tüm uygulamayı yeniden yayınlamak gerekmedi. Yoğun olan servis ayrıca ölçeklenebilir hale geldi.
Ama ne oldu? Bu kez de elimizde onlarca, yüzlerce, bazen binlerce container ve mikroservis oluştu. Bir servis diğerini nasıl bulacak? Trafik nasıl yönlenecek? Container çökerse kim ayağa kaldıracak? Loglar nerede toplanacak? Güvenlik politikaları nasıl uygulanacak? Hangi servis yavaşladı? Hangi request nerede takıldı? Yani uygulama hafifledi, ama operasyonel dünya ağırlaştı.
Bu noktada cloud computing devreye girdi ve çok büyük bir zihniyet değişimi getirdi: Altyapıya sahip olmak yerine altyapıyı servis olarak kullanmak. Eskiden yeni bir sunucu gerektiğinde donanım siparişi, veri merkezi kurulumu, kablolama, işletim sistemi, güvenlik ayarları derken günler, haftalar, hatta aylar geçebilirdi. Cloud ile kaynaklar ihtiyaç anında oluşturulabilir hale geldi. Birkaç dakika içinde sunucu, veri tabanı, storage, network veya container platformu oluşturmak mümkün oldu. Cloud bize hız, esneklik, ölçeklenebilirlik ve “kullandığın kadar öde” modeli sundu. Başlangıç yatırımını azalttı. Yeni fikirleri denemeyi kolaylaştırdı. Kapasiteyi ihtiyaca göre artırıp azaltmayı mümkün kıldı. Ama cloud da sihirli değnek değildi.
Bu kez maliyet kontrolü, güvenlik, regülasyon, veri lokasyonu, vendor lock-in ve çoklu cloud yönetimi gibi yeni sorular doğdu. Çünkü cloud’da kaynak açmak kolaydır; bazen fazla kolaydır. Bir bakmışsınız test için açılan küçük bir ortam, ay sonunda finans ekibinin kâbusu olur.
Sonra cloud-native dönem geldi. Artık mesele sadece cloud kullanmak değildi. Mesele, uygulamaları cloud mantığına uygun şekilde tasarlamak, dağıtmak, ölçeklemek ve işletmekti. Kubernetes burada çok kritik bir rol üstlendi. Container karmaşıklığını yönetmek için güçlü bir orkestrasyon katmanı sundu. Kubernetes container’ların nerede çalışacağını, nasıl ölçekleneceğini, çöktüğünde nasıl yeniden başlatılacağını, servislerin nasıl haberleşeceğini yönetmeye yardımcı oldu. Ama Kubernetes ile birlikte yeni bir gerçek daha ortaya çıktı: Güçlü bir platform kurmak ayrı, onu geliştiricilerin kolay ve güvenli kullanabileceği bir deneyime dönüştürmek ayrı bir iştir.
İşte burada platform engineering yaklaşımı önem kazandı. Geliştiricilere hazır yollar, standartlar, otomasyonlar ve self-service imkanlar sunmak; karmaşık altyapıyı kullanılabilir bir iç platforma dönüştürmek modern kurumlar için kritik hale geldi. Aynı dönemde hybrid cloud yaklaşımı da daha stratejik bir konu haline geldi. Çünkü gerçek dünyada şirketler tek bir teknolojiyle yaşamaz. Bir tarafta on-prem veri merkezleri, bir tarafta public cloud servisleri, bir tarafta VM’ler, bir tarafta container platformları, bir tarafta legacy sistemler vardır.
Gerçek dünya biraz böyledir: Her şey yeni değildir, her şey eski de değildir. Hepsi birlikte çalışmak zorundadır. Ve çoğu zaman en zor mühendislik, bu farklı dünyaları aynı orkestrada uyumlu çaldırabilmektir.
Sonra serverless ve functions dünyası geldi. Burada soyutlama bir adım daha ileri taşındı. Artık geliştirici çoğu zaman server, cluster, node, capacity gibi kavramları düşünmeden; sadece belirli bir olay gerçekleştiğinde çalışan fonksiyonlar yazmaya başladı. Bir sipariş geldiğinde e-posta gönder. Bir dosya yüklendiğinde analiz et. Bir ödeme tamamlandığında bildirim oluştur. Kulağa harika geliyor. Çünkü geliştirici altyapı yerine iş mantığına odaklanıyor. Sistem otomatik ölçekleniyor. Çalıştığı kadar maliyet üretiyor.
Ama yine aynı prensip devrede: Kontrol azalınca görünürlük ve hata ayıklama daha zor hale gelebiliyor. Serverless doğru senaryoda çok güçlüdür; yanlış senaryoda ise “bu fonksiyon neden dün gece üçte çalıştı ve neden bu kadar fatura yazdı?” sorusuna dönüşebilir. Bütün bu evrim bize şunu gösteriyor: Sistemleri kurmak tek başına yeterli değil. Onları sürekli çalışır, güvenilir, izlenebilir, güvenli ve yönetilebilir halde tutmak gerekiyor.
Bu yüzden DevOps, SRE ve AIOps gibi modern operasyon yaklaşımları kritik hale geldi. DevOps, geliştirme ve operasyon ekipleri arasındaki duvarları yıkmaya çalıştı. Çünkü “ben kodu yazdım, gerisi operasyonun işi” dönemi modern sistemlerde sürdürülebilir değil. Kodun nasıl deploy edildiği, nasıl izlendiği, production’da nasıl davrandığı ve sorun çıktığında nasıl müdahale edildiği yazılımın ayrılmaz parçası haline geldi.
SRE, güvenilirliği mühendislik disiplini olarak ele aldı. Sistem sadece çalışıyor mu değil; ne kadar güvenilir, ne kadar dayanıklı, ne kadar ölçülebilir, hata olduğunda ne kadar hızlı toparlanıyor gibi sorular öne çıktı.
AIOps ise artan karmaşıklık karşısında yapay zekanın operasyonlara nasıl yardımcı olabileceğini gündeme getirdi. Çünkü artık sistemler saniyede binlerce metrik, milyonlarca log, yüzlerce alarm üretebiliyor. Bir insanın bütün bu sinyalleri tek başına gerçek zamanlı anlamlandırması mümkün değil. Gelecekte altyapı ve operasyon tarafında yapay zekanın rolü daha da artacak. Anomali tespiti, kök neden analizi, otomatik iyileştirme, kapasite tahmini ve güvenlik olaylarının daha hızlı yorumlanması bu alanın en önemli başlıkları olacak. Ve bütün bu yolculuğun sonunda aslında iki kavrama varıyoruz: Soyutlama ve odaklanma.
Teknoloji ilerledikçe, karmaşık altyapı detaylarını bir katman aşağıya itiyoruz. Önce fiziksel donanımı soyutladık. Sonra işletim sistemlerini, sonra uygulama paketlerini, sonra altyapı kaynaklarını, sonra orkestrasyonu, sonra operasyonel süreçleri…
Bunu neden yapıyoruz? Çünkü asıl hedef insanların sürekli sunucu kurması, log peşinde koşması veya aynı operasyonel işleri tekrar tekrar yapması değil. Asıl hedef; problemi anlamak, doğru mimariyi tasarlamak, güvenilir sistemler kurmak ve kullanıcıya gerçek değer sunmak. Bugün popüler olan araçlar yarın değişebilir. Kubernetes’in yerini başka platformlar alabilir. Serverless daha farklı bir modele dönüşebilir. AI destekli operasyonlar bugün hayal ettiğimizden çok daha ileri gidebilir.
Ama değişmeyecek olan şeyler şunlar:
Hız ihtiyacı devam edecek.
Ölçeklenebilirlik ihtiyacı devam edecek.
Güvenilirlik ihtiyacı devam edecek.
Maliyet baskısı devam edecek.
Karmaşıklığı yönetme ihtiyacı devam edecek.
Bu yüzden teknoloji dünyasında asıl mesele sadece yeni araçları öğrenmek değil; o araçların hangi problemi çözmek için ortaya çıktığını anlamaktır. Çünkü isimler değişir, platformlar değişir, mimariler değişir. Ama mühendisliğin özü aynı kalır: Görünmeyen karmaşıklığı yönetmek, görünür değeri üretmek.
Sarav Asiye Yiğit * 11 Mayıs 2026
#Technology #CloudNative #Kubernetes #DevOps #AIOps #PlatformEngineering #HybridCloud #Serverless #SoftwareEngineering #DigitalTransformation






Yorumunuzu Bırakın