Ana içeriğe atla

Veri Bilimi Okulu

Kubernetes Security: 5 Acı Gerçek

Giriş: “Güvenli” Sandığınız Cluster Aslında Öyle Olmayabilir Merhaba! Bugün sizlerle Kubernetes (K8s) güvenliği hakkında konuşacağız. Biliyorum, “güvenlik” kelimesi kulağa sıkıcı gelebilir ama inanın bana, bu yazıyı okuduktan sonra cluster’larınıza bir daha aynı gözle bakmayacaksınız. Kubernetes, konteyner yönetimi (container orchestration) dünyasının kralı haline geldi. Ancak bu güç beraberinde büyük bir sorumluluk getiriyor. İşte size şok edici […]

Kubernetes Quality of Service (QoS) Sınıfları

Merhaba arkadaşlar! Bugün Kubernetes dünyasında kritik bir konuya, yani Quality of Service (Hizmet Kalitesi) sınıflarına dalalım. Eğer “Neden bazı pod’lar sistem baskı altındayken ayakta kalırken diğerleri hemen ölüyor?” diye sorduysanız, cevabınız bu yazıda. QoS Nedir ve Neden Önemli? Quality of Service (QoS), Kubernetes’in pod’larınızı nasıl önceliklendireceğini ve kaynak sıkıntısı olduğunda hangilerini ilk evict edeceğini (çıkaracağını) […]

FastAPI Middleware Giriş

Claude Code ile FastAPI üzerine çalışırken ilginç bir şeyle karşılaştım. Kod dosyamda @app.middleware(“http”) şeklinde bir decorator gördüm ve düşündüm: “Durun bir dakika, ben hep @app.get(“/”), @app.post(“/”) gibi decorator’lar görüyordum. Bu @app.middleware(“http”) ne işe yarıyor?” Soruyu sorduğumda aldığım cevap beni şaşırttı – bu decorator her HTTP isteğinde (request) çalışıyormuş, sadece belirli bir endpoint’te değil! Konuyu biraz […]

Modern Veri Dünyasının Oyun Değiştiricisi: Apache Iceberg

Merhabalar! Bugün sizlerle birlikte modern veri dünyasının en heyecan verici teknolojilerinden biri olan Apache Iceberg’i keşfedeceğiz. Veri gölleriniz kaosa dönüştü mü? Şema güncellemeleri başınızı ağrıtıyor mu? O halde doğru yerdesiniz! Gelin birlikte bu açık tablo formatının (open table format) ne olduğunu, nasıl çalıştığını ve neden bu kadar önemli olduğunu öğrenelim. Önce Biraz Tarih: Veri Ambarlarından […]

Platform Engineering Nedir?

Merhaba arkadaşlar! Bugün sizlerle DevOps ve Cloud dünyasında son yıllarda gittikçe dikkat çeken ve adını daha fazla duymaya başladığımız bir rolü ele alacağız: Platform Engineering (Platform Mühendisliği). Bu altı boş sadece yeni bir moda değil – Gartner gibi çalışmalarına itimat edilir bir araştırma kurumunun 2023’te yaptığı tahminlere göre 2026 yılına kadar yazılım geliştiren kuruluşların %80’i […]

Kubernetes Kustomize ile Tanışalım: Başlangıç Rehberi

Merhaba! Bugün Kubernetes dünyasında uygulama yapılandırmalarını (configuration) yönetmek için kullanılan harika bir araçtan bahsedeceğiz: Kustomize. Eğer Kubernetes ile çalışıyorsanız ve farklı ortamlar için sürekli YAML dosyalarını kopyalayıp değiştirmekten bıktıysanız, doğru yerdesiniz. Beraber Kustomize’ı öğreneceğiz ve basit örneklerle nasıl kullanılacağını göreceğiz. Kustomize Nedir? Kustomize, Kubernetes için geliştirilmiş bir yapılandırma yönetim (configuration management) aracıdır [1][2]. En güzel […]

Kafka Producer Güvenilirliği: Acks, Retry ve Idempotent Producer İlişkisini Öğrenelim

Merhaba! Bugün Apache Kafka’nın en kritik konularından biri olan Kafka Producer güvenilirliği (producer reliability) üzerine derinlemesine bir yazı hazırladım. Eğer Kafka kullanıyorsanız veya kullanmayı planlıyorsanız, mesajlarınızın kaybolmaması ve duplicate (tekrar eden) mesajlardan kaçınmanız için bu konuyu çok iyi anlamanız gerekiyor. Hadi birlikte öğrenelim! Producer Acks Nedir ve Neden Önemlidir? Öncelikle acks (acknowledgment) parametresinden başlayalım. Bu […]

Apache Kafka Exactly-Once Semantics: Mesajlar Ne Kaybolsun, Ne Tekrar Etsin!

Bu yazıda sizlerle Apache Kafka’nın en kritik ve en çok yanlış anlaşılan özelliklerinden biri olan exactly-once semantics (tam bir kez semantiği) konusunu detaylıca konuşacağız. Bu özellik dağıtık sistemlerde çözmesi en zor problemlerden biri olarak kabul ediliyor ve bazı uzmanlar bunun matematiksel olarak imkansız olduğunu bile iddia ediyordu [2][7]. Ama Kafka bunu başardı! Gelin birlikte nasıl […]

Kubernetes Jobs ve CronJobs ile Otomatik Görevleri Yönetmeyi Öğrenelim

Merhaba arkadaşlar! Bugün Kubernetes dünyasında çok önemli ama bazen gözden kaçan iki konuya dalacağız: Jobs ve CronJobs. Eğer Kubernetes’i bir süredir kullanıyorsanız, muhtemelen Deployment’lar, ReplicaSet’ler ve StatefulSet’ler gibi pod’larınızı sürekli çalıştıran denetleyicilere (controllers) aşinasınızdır. Peki ya sadece bir kez çalışması gereken işler için ne yapmalıyız? İşte tam da bu noktada Jobs ve CronJobs devreye giriyor! […]

Docker Compose ile 3 Node KRaft Kafka Cluster Kurulumu (Kafka 4.1.0)

Neden KRaft ve Neden Kafka 4.1.0? Daha önce bu yazımda Zookeeper-less Kafka cluster kurulumundan bahsetmiştim. Aradan epey zaman geçti ve resmi imajlar kullanarak yeni bir molti-node kafka cluster kurulumunu docker compose ile ele almak istedim. Kafka 4.0 ile beraber ZooKeeper bağımlılığı kaldırıldı ve KRaft (Kafka Raft) varsayılan hâle geldi. Bu hem yönetimi basitleştirir (ayrı bir […]

Apache Flink Giriş

Bu makalede şu sorulara cevap vermeye çalışacağız: Stream veri işleme (stream data processing) nedir, neden önemlidir, Apache Flink bu konuda diğer sistemlerden ne farkla öne çıkar? Ardından iç mimariye, temel kavramlara ve kullanımı örneklerle göreceğiz. 1. Stream İşleme Nedir? (What Is Stream Processing) Veri dünyasında genellikle iki yaklaşım vardır: toplu işlem (batch processing) ve akış […]

Apache Flink Deployment Modları ve Cluster Yöneticileri

Giriş Selam arkadaşlar! Bugün Apache Flink’in en kritik konularından birine dalacağız: deployment modları ve cluster yöneticileri/kaynak sağlayıcıları (resource providers). Flink kodunu yazdınız, şimdi ne olacak?. Bu yazıda cevabını bulmaya çalışacağız. Apache Flink, yüksek performanslı akış (stream) ve toplu (batch) veri işleme için harika bir framework. Ama işin püf noktası sadece kod yazmak değil – “bu […]