Ana içeriğe geç

Apache Airflow 3.0 Çıktı: Şimdiye Kadarki En Önemli Sürüm

Apache Airflow 3.0’a dair bu pratik rehber, özelliklerini, iyileştirmelerini ve şimdiye kadarki en önemli güncelleme hakkında bilmeniz gereken her şeyi inceliyor.
Don Kaluarachchi
Don Kaluarachchi

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google ile devam edinDevam ederek, Kullanım Koşullarımızı ve Gizlilik Politikamızı kabul etmiş ve verilerinizin ABD'de saklandığını onaylamış olursunuz.

Apache Airflow 3.0 sonunda çıktı ve bu, projenin tarihindeki en önemli sürüm olmaya aday. 

Bu sürüm, veride yeni olun ya da yıllardır Airflow ile çalışıyor olun, iş akışlarını yönetme yaklaşımınızı baştan aşağı değiştirecek.

Yeni sürümü bizzat inceledikten sonra bunun yalnızca artımsal bir güncelleme olmadığını gönül rahatlığıyla söyleyebilirim.

Öne çıkan başlıklardan bazıları şunlar:

  • Tam uzaktan yürütme ile yeni bir servis odaklı mimari
  • FastAPI üzerine inşa edilmiş, tamamen yeni React tabanlı arayüz
  • DAG versiyonlama ve değişiklik takibi
  • Varlık odaklı ve olay tabanlı DAG tetikleme
  • Modern ML iş akışları için yerel destek
  • Net yükseltme yolları ve modüler CLI ayrımı

Bu rehber sizi Airflow 3.0 boyunca gezdirecek ve sunduğu her şeyi anlatacak.

Apache Airflow Nedir?

Apache Airflow, kullanıcıların veri iş akışlarını programatik olarak oluşturmasına, zamanlamasına ve izlemesine yardımcı olan açık kaynaklı bir platformdur. 

Karmaşık ETL hatları, veri mühendisliği iş akışları ve son dönemde makine öğrenimi hatları için başvurulan orkestratör olmuştur.

Airflow’daki temel kavram DAG’tır (bir Yönlendirilmiş Çevrimsiz Grafik; görevlerin sırasını ve bağımlılıklarını tanımlar). 

Görevler Python betiklerinden SQL dönüştürmelerine, hatta Airflow kullanırken konteynerleştirilmiş işlemlere kadar uzanabilir. 

Platform esnek, genişletilebilir ve şimdi 3.0 ile her zamankinden daha geleceğe dönük.

Airflow’a yeni başlıyorsanız, Python ile Apache Airflow’a Giriş kursu uygulamalı deneyim sunan harika bir kaynaktır.

Apache Airflow’un Kısa Tarihi

Airflow ilk olarak 2014’te Airbnb tarafından geliştirildi ve 2015’te açık kaynak olarak yayımlandı. 

Daha sonra bir Apache projesi oldu ve o zamandan beri veri mühendisliği ekosistemindeki en yaygın benimsenen orkestrasyon araçlarından biri haline geldi.

  • Airflow 1.x: Python tabanlı DAG oluşturma, zamanlayıcı ve yürütücü temellerini tanıttı.
  • Airflow 2.0 (2020): TaskFlow API, REST API ve yüksek erişilebilirlikli zamanlayıcı ekleyen dönüm noktası sürümü.
  • Airflow 2.3–2.5: Veri kümeleri, veri farkındalıklı zamanlama ve gözlemlenebilirlik iyileştirmeleri geldi.
  • Airflow 3.0 (2025): Modülerliği, ML-yerel yetenekleri ve bulut-yerel desteği önceleyen köklü bir yeniden tasarımı işaretler.

Aşağıdaki görselden de anlaşılacağı üzere, GitHub katkıları yıl bazında belirgin şekilde arttı; bu da Apache Airflow’un veri orkestrasyonu alanındaki en aktif açık kaynak projelerden biri olduğunu gösteriyor.

Yıllar içinde Apache Airflow’a yapılan GitHub katkılarının arttığını gösteren grafik.

Yıllar içinde Apache Airflow’a yapılan GitHub katkılarının arttığını gösteren grafik. Kaynak: Airflow 3.0 Tanıtım Videosu

Apache Airflow 3.0’da Neler Yeni?

Apache Airflow 3.0, üç temel temele dayanan bir sürümdür. 

Apache Airflow 3.0 sürüm sayfasının ekran görüntüsü.

Apache Airflow 3.0 sürüm sayfasının ekran görüntüsü. Kaynak: Apache Airflow

Bu temalar, modern veri platformlarının taleplerini karşılamaya, geliştirici deneyimini iyileştirmeye ve Airflow’un dağıtık, hibrit ve ML destekli ortamlarda merkezi bir orkestratör olarak konumunu güçlendirmeye yönelik vizyonu yansıtıyor.

Temel temalar genel hatlarıyla şöyle kategorize edilebilir:

Apache Airflow 3.0’ın üç çekirdek temasını özetleyen görsel.

Apache Airflow 3.0’ın üç çekirdek temasını özetleyen görsel. Napkin AI kullanılarak oluşturuldu

Kullanımı daha kolay

3.0 sürümünün en önemli hedeflerinden biri, komut satırından kullanıcı arayüzüne ve alttaki API etkileşimlerine kadar genel kullanılabilirliği iyileştirmektir.

Artık Airflow’u öğrenmek daha kolay, günlük kullanım daha keyifli ve karmaşık operasyonel gereksinimleri destekleme kapasitesi daha yüksek.

Daha güçlü güvenlik

Gizlilik düzenlemelerinin artması ve veri altyapısının ölçeği nedeniyle güvenlik, veri mühendisliğinde merkezi bir konu haline geldi. 

Airflow 3.0 bu kaygıları görev izolasyonu ve yürütme kontrolü için daha derin mimari destekle ele alıyor.

Airflow 3.0’daki güvenlik iyileştirmeleri hem proaktif hem de stratejik olup kurumsal dağıtımların, yüksek regülasyonlu sektörlerin ve modern DevSecOps uygulamalarının ihtiyaçlarıyla uyumludur.

Her yerde, her zaman çalıştırın

Modern veri yığını artık yalnızca şirket içi veri merkezleriyle veya hatta merkezi bulut ortamlarıyla sınırlı değil. 

Airflow 3.0, çeşitli dağıtım topolojileri ve yürütme kalıplarını destekleyerek bu zorluğun üstesinden geliyor.

Görevlerin her yerde çalıştırılabilmesi (ve iş akışlarının her an yürütülebilmesi) modern veri yaşam döngüsünü orkestre etmek için benzersiz esneklik, dayanıklılık ve ölçeklenebilirlik sunar.

Her yerde, her zaman çalıştırmak için yerel işçilerle uzak kümeleri gösteren görsel.

Her yerde, her zaman çalıştırmak için yerel işçilerle uzak kümeleri gösteren görsel. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

Bu rehberin geri kalanında Airflow 3.0’ın ana temasının unsurları daha ayrıntılı ele alınacaktır.

Airflow 3.0’daki Başlıca Mimari Değişiklikler

Apache Airflow 3.0 sürümü, görevlerin nasıl yürütüldüğünü, nerede çalıştırılabileceğini ve geliştiriciler ile operatörlerin sistemle nasıl etkileşime girdiğini yeniden kurguluyor. 

Odak noktası ayrıştırma, modülerleştirme, ölçeklenebilirlik ve dağıtım esnekliği olup, Airflow’un hibrit ve çoklu bulut veri platformlarının taleplerini karşılamasını sağlıyor.

Airflow 2 ve Airflow 3 mimarisini gösteren görsel.

Airflow 2 ve Airflow 3 mimarisini gösteren görsel. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

Task Execution API ve Task SDK

Airflow 3.0’daki en önemli yeniliklerden biri, Task Execution API ve buna eşlik eden bir Task SDK’nın tanıtılmasıdır. 

Bu bileşenler, görevlerin Airflow’un çekirdek çalışma zamanından bağımsız şekilde tanımlanıp yürütülmesini sağlar.

Bunun bazı önemli sonuçları şunlardır:

  • Dil esnekliği: Görevler artık yalnızca Python ile sınırlı değil. Yeni SDK ile Java, Go veya R gibi dillerde yazılabilir; bu da daha geniş benimseme ve farklı teknoloji yığınlarıyla entegrasyon sağlar.
  • Ortam ayrışması: Görevler artık zamanlayıcı ve işçilerden ayrı, izole, uzak veya konteynerleştirilmiş ortamlarda çalışabilir. Bu, bağımlılık çakışmalarını ortadan kaldırır ve yürütme tutarlılığını artırır.
  • Geliştirici iş akışının sadeleşmesi: Görev geliştirme için standartlaştırılmış bir arayüz, test ve dağıtımı basitleştirir, kod yeniden kullanımını artırır ve yeni geliştiricilerin işe alıştırma süresini kısaltır.

Bu mimari, Airflow’u daha esnek ve bulut-yerel hale getirmede büyük bir sıçramadır. 

Veri mühendisliğinde dillere çeşitlilik, konteynerleşme ve görev düzeyinde çoğaltılabilirliğe yönelik daha geniş eğilimle uyumludur.

Edge Executor

Edge Executor, Airflow 3.0’a eklenen ve dönüştürücü etkiye sahip bir diğer bileşendir. 

Görevlerin olay güdümlü ve coğrafi olarak dağıtık şekilde yürütülmesini sağlamak üzere tasarlanmıştır. 

Tüm yürütmelerin merkezi bir kümede gerçekleşmesini gerektirmek yerine, Edge Executor görevlerin veri kaynağında veya yakınında çalışmasına olanak tanır.

Edge Execution’ın bazı temel faydaları şunlardır:

Edge Execution’ın temel faydalarını gösteren görsel.

Edge Execution’ın temel faydalarını gösteren görsel. Napkin AI kullanılarak oluşturuldu

  • Coğrafi esneklik: Görevler uzak veya bölgesel kümelerde, veri merkezlerinde veya hatta uç cihazlarda çalışabilir.
  • Gerçek zamanlı yanıt: IoT, finansal veri akışları veya operasyonel izleme gibi düşük gecikmeli, olay güdümlü kullanım senaryoları için idealdir.
  • Azaltılmış ağ gecikmesi: Hesaplama veri kaynağına yakın gerçekleştiği için büyük veri hacimlerini merkezi kümeye taşımada daha az ek yük vardır.
  • Olay tetiklemeli hatlar: Edge Executor, Airflow 3.0’da tanıtılan yeni olay güdümlü zamanlama paradigmasını destekler.

Görev izolasyonu ve dağıtım topolojileri

Airflow 3.0, güvenliği ve performansı önemli ölçüde artıran yeni bir görev izolasyonu düzeyi sunuyor. 

Görevlerin korumalı ortamlarda çalıştırılabilmesi, veri sızıntısı ve kaynak çakışması riskini azaltır. 

Ayrıca, farklı görevlerin veya DAG’lerin kendi kütüphane sürümleri, Python ortamları veya çalışma zamanlarıyla çalışabilmesini sağlayarak daha esnek bağımlılık yönetimi sunar. 

Bu izolasyon daha sorunsuz yükseltmeleri de destekler. Airflow’un çekirdek bileşenleri, çalışan görevleri aksatmadan veya uyumluluğu bozmadan güncellenebilir.

Geliştirilmiş mimari ayrıca farklı altyapı ihtiyaçlarına uygun bir dizi dağıtım senaryosunu mümkün kılar. 

Genel bulut ortamlarında Airflow işçileri AWS, GCP veya Azure gibi sağlayıcılar arasında kolayca dağıtılabilir.

Özel veya hibrit bulut kurulumlarında kontrol düzlemi bileşenleri güvenli bir ağ içinde kalabilirken görevler bir DMZ’de veya yerel veri merkezinde yürütülebilir.

Buna ek olarak, Airflow 3.0 uç dağıtımları destekler; bu sayede ML çıkarımı veya anomali tespiti gibi kullanım senaryoları doğrudan endüstriyel veya mobil donanım üzerinde mümkün olur.

Bu yetenekler veri yerellik düzenlemelerine uyumu, hataya dayanıklı zamanlamayı ve GPU hızlandırmalı yürütmeyi destekler.

CLI ayrımı: airflow ve airflowctl

Airflow 3.0, modüler arka uca tamamlayıcı olarak tasarlanmış bölünmüş bir komut satırı arayüzü (CLI) sunuyor; yerel geliştirme ile uzak operasyonel görevler arasında ayrım yapıyor.

airflow

  • Yerel geliştirme ve test için kullanılır
  • Yerel DAG’ler, metaveri veritabanı ve bileşenlerle etkileşir
  • Hızlı test, DAG ayrıştırma ve CLI tabanlı hata ayıklamayı destekler

airflowctl

  • Üretim ve uzak orkestrasyon için tasarlanmıştır
  • Ortam yönetimi, dağıtım ve bulut yürütmeyi ele alır
  • CI/CD hatları, gözlemlenebilirlik ve dağıtık küme yönetimi için kullanışlıdır

Bu ayrım, hem bireysel geliştiriciler hem de platform ekipleri için iş akışlarını sadeleştirir. 

Tam teknik ayrıntılar ve değişikliklerin eksiksiz listesi için resmi Airflow 3.0 sürüm notlarına göz atın.

Mimari iyileştirmelerin özeti

Mimari iyileştirmelerin özetini içeren bir tablo aşağıdadır:

Özellik

Açıklama

Task SDK + API

Uzak yürütme desteğiyle görevleri herhangi bir dilde yazın ve çalıştırın

Edge Executor

Veri kaynaklarının yakınında veya coğrafyalar arasında dağıtık görev yürütme

Görev İzolasyonu

Güvenli ve bağımsız görev ortamları; esnek bağımlılık yönetimi

CLI Ayrımı

Yerel (airflow) ve uzak (airflowctl) komutlar arasında net ayrım

Dağıtım Topolojileri

Hibrit, çoklu bulut, uç ve GPU hızlandırmalı yürütme kalıplarını destekler

Yeni React Tabanlı Arayüz ve DAG Versiyonlama

Airflow 3.0, ön yüzü React ve arka yüzü yeni çatı olarak FastAPI ile sıfırdan yeniden tasarlanmış bir kullanıcı arayüzü sunuyor. 

Daha hızlı ve daha duyarlı arayüz

Yeni arayüz mimarisi özellikle yüzlerce veya binlerce DAG’in bulunduğu ortamlarda belirgin şekilde daha akıcı bir kullanıcı deneyimi sunar. 

Sayfa yüklemeleri daha hızlı, arayüz öğeleri daha sezgisel ve gezinme modeli farklı görünümler arasında tutarlı ve tepkisel hissedilir.

Bazı önemli arayüz iyileştirmeleri şunlardır:

  • Izgara görünümü iyileştirmeleri: Geliştirilmiş zaman çizelgesi gezintisi, arama ve filtreleme. Kullanıcılar artık DAG’lerin yürütme durumunu daha kolay tarayabiliyor ve başarısız veya takılan görevleri hızla sorun giderebiliyor.
  • Graf görünümü iyileştirmeleri: Daha iyi yakınlaştırma, kaydırma ve etkileşimli görev metaverisi keşfi. Bu, karmaşık DAG yapılarını bir bakışta anlamayı kolaylaştırır.
  • Varlık paneli: Özellikle varlık odaklı iş akışları için tasarlanmış yeni bir görünüm. Kullanıcıların varlıkları, üreticilerini ve tüketicilerini ve DAG’ler arası soy kütüğünü görselleştirmesine olanak tanır.

Yerleşik koyu mod desteği

Koyu mod artık Airflow’a yerel ve özenli bir şekilde entegre edildi; netlik ve uzun süreli kullanım konforu için tasarlanmış rafine bir görsel deneyim sunuyor.

2.x’te koyu modun bir sürümü bulunsa da bu sürüm tamamen geliştirilmiş ve amaca yönelik bir tasarım katmanı sunuyor. 

Açıkça görülüyor ki, kontrast, okunabilirlik ve uzun süreli çalışma sırasında göz yorgunluğunu azaltma açısından özenle optimize edilmiş.

Geliştirme alanında vakit geçirmiş biri olarak bunu gerçekten takdir ediyorum. 

Topluluğun en çok talep ettiği özelliklerden biriydi ve özellikle loş ortamlarda çalışan ya da koyu arayüzü tercih eden geliştiriciler için çok değerli.

Aşağıdaki görseller, Airflow konsol panosunda açık ve koyu mod arasındaki görsel farkı vurguluyor.

Airflow konsolunun açık moddaki ekran görüntüsü.

Airflow konsolunun açık moddaki ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

Airflow konsolunun koyu moddaki ekran görüntüsü.

Airflow konsolunun koyu moddaki ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

DAG Versiyonlama

Airflow 3.0’daki en etkili yeni yeteneklerden biri birinci sınıf DAG versiyonlamasıdır. 

Airflow 2.x’teki zorluk

Önceki Airflow sürümlerinde DAG’ler kaynak kod dosyalarından ayrıştırılıyor ve DAG’in en son sürümü, geçmiş DAG çalıştırmaları da dahil olmak üzere evrensel olarak uygulanıyordu. 

Bu yaklaşım, iyi bilinen çeşitli sorunlara yol açtı. 

Büyük bir problem yürütme kaymasıydı. Bir çalışma sırasında DAG’i güncellerseniz, görevler kodun farklı sürümleri altında çalışabilirdi. 

Ayrıca, Airflow’un belirli bir yürütmede hangi DAG sürümünün kullanıldığını izlemek için yerel bir mekanizması olmadığından denetlenebilirlik kaybı yaşanıyordu. 

Ek olarak, arayüz her zaman en son DAG yapısını gösterdiği için tarihsel doğruluk zarar gördü; bu da DAG’in gerçekten ne zaman çalıştığından bağımsız olarak tutarsız ve potansiyel olarak yanıltıcı yürütme geçmişlerine yol açtı.

Airflow 3.0 neleri değiştiriyor

Airflow 3.0, yapısal DAG sürüm takibini doğrudan platforma getiriyor:

  • Yeni bir dağıtım veya kod değişikliği olduğunda DAG’ler versiyonlanır.
  • Geçmiş çalıştırmalar, onları üreten tam DAG sürümüyle birlikte korunur.
  • Kullanıcılar arayüzden incelenecek, yeniden çalıştırılacak veya analiz edilecek belirli bir DAG sürümünü seçebilir.

Bu özelliği gerçekten takdir ediyorum; zira pratikte değişikliğe ihtiyaç duymayacak bir DAG oluşturmak neredeyse imkânsızdır. 

DAG’ler yeni iş mantığı, hata düzeltmeleri veya performans optimizasyonları nedeniyle evrilmek zorunda kalır; yerleşik versiyonlama bu süreci çok daha şeffaf ve yönetilebilir kılar.

Bunu, DAG orkestrasyon arayüzünü ve yeni sürüm geçmişi açılır menüsünü gösteren aşağıdaki ekran görüntülerinde görebilirsiniz.

DAG orkestrasyonu görseli.

DAG orkestrasyonu görseli. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

Sürüm geçmişi açılır menüsüne sahip DAG orkestrasyonunun ekran görüntüsü.

Sürüm geçmişi açılır menüsüne sahip DAG orkestrasyonunun ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

DAG versiyonlaması neden önemli

DAG versiyonlaması, güvenilir, izlenebilir ve uyumlu veri iş akışlarını sürdürmede kritik bir rol oynar. İşte neden önemli olduğu:

  • Tekrarlanabilirlik: Artık mevcut kod değişmiş olsa bile bir DAG’i geçmişte yürütüldüğü şekilde güvenilir biçimde yeniden çalıştırabilirsiniz.
  • Hata ayıklama: Hatalar, sorumlu DAG’in belirli sürümüne geri izlenebilir; bu da kök neden analizine yardımcı olur.
  • Yönetişim: Düzenlemeye tabi ortamlarda versiyonlama; hangi kodun, ne zaman ve nasıl kullanıldığını gösteren bir denetim izi tutarak uyumu destekler.
  • CI/CD entegrasyonu: GitOps iş akışlarını kullanan ekipler, Airflow’daki DAG sürümlerini kaynak kontroldeki commit hash’leriyle ilişkilendirerek uçtan uca izlenebilir bir teslimat hattı oluşturabilir.

Aşağıdaki ekran görüntüleri, DAG genel bakışında ve kod panelinde sürüm farkındalıklı görünümlerle bazı değişikliklerin arayüzde nasıl yüzeye çıkarıldığını gösteriyor.

Airflow konsolunda bir DAG içindeki genel bakış panelinin ekran görüntüsü.

Airflow konsolunda bir DAG içindeki genel bakış panelinin ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu)

Airflow konsolunda bir DAG içindeki kod panelinin ekran görüntüsü.

Airflow konsolunda bir DAG içindeki kod panelinin ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

İş birliği ve şeffaflık

DAG versiyonlaması, veri ekiplerinin iş birliğini de kolaylaştırır. Örneğin:

  • Mühendisler, DAG değişikliklerini Git erişimine ihtiyaç duymadan doğrudan arayüzde gözden geçirebilir.
  • Analistler ve QA ekipleri, üretim DAG’lerine müdahale riski olmadan tarihsel davranışı doğrulayabilir.
  • Platform mühendisleri, yeni DAG sürümlerini kararlı olanlarla yan yana güvenle test edebilir.

Daha Akıllı Zamanlama ve Geri Doldurmalar

Airflow 3.0, iş akışlarının nasıl tetiklendiği, yönetildiği ve koordine edildiği konusunda önemli bir evrimi temsil ediyor.

Varlık odaklı DAG’ler

Airflow 3.0’daki daha akıllı zamanlamanın merkezinde Varlıklar kavramı yer alır. 

Önceki sürümlerde tanıtılan veri kümelerinin evriminden esinlenen yeni @asset süsleyicisi, kullanıcıların mantıksal veri varlıklarının uygunluğu ve durumuna göre yönlendirilen hatlar tanımlamasına olanak tanır.

Varlık nedir?

Airflow’da bir varlık, bir DAG tarafından üretilen, dönüştürülen veya tüketilen bir veri parçasını ya da çıktıyı temsil eder. 

Bu; bir veritabanı tablosu, bulut depolamada bir dosya, eğitilmiş bir ML modeli veya hatta bir API yanıtı olabilir.

@asset süsleyicisi ile:

  • Varlıklar, veri döndüren veya üreten Python fonksiyonları olarak tanımlanır.
  • Bu varlıklar orkestrasyon sürecinde birinci sınıf vatandaşlar olarak ele alınır.
  • Airflow, varlıklar ile DAG’ler arasındaki bağımlılıkları otomatik olarak izler.

Aşağıdaki ekran görüntüsü, varlıkların Airflow konsolunda nasıl görselleştirildiğini gösterir.

Airflow konsolunda varlıkların ekran görüntüsü.

Airflow konsolunda varlıkların ekran görüntüsü. Kaynak: Airflow 3.0 Astronomer Tanıtım Videosu

Airflow 3.0’daki varlıkların bazı temel özellikleri şunlardır:

Airflow 3.0’daki Varlıkların temel özellikleri görseli.

Airflow 3.0’daki Varlıkların temel özellikleri görseli. Napkin AI kullanılarak oluşturuldu

  • Yapılandırılmış metaveri: Varlıklar; adlar, URI’ler, grup tanımlayıcıları ve keyfi metaveri alanlarını destekler; bu da zengin soy kütüğü ve keşif imkânı sağlar.
  • Bileşen temelli tasarım: Varlıklar birbirlerine referans verebilir; böylece birbirine bağımlı, modüler hatlar kurulabilir.
  • İzleyici desteği: Varlıklar, dış sinyalleri (şu anda AWS SQS) izleyip yanıt olarak DAG yürütmesini tetikleyen İzleyicilerle yapılandırılabilir.

Bu model, “her saat çalıştır”dan “ilgili veri hazır olduğunda çalıştır”a geçiş yapar. 

Bu da saate değil, verinin durumuna sıkı sıkıya bağlı gerçekten tepkisel iş akışlarını mümkün kılar.

Bu yeni yeteneklerle üretim kalıpları ve derinlemesine örnekler için veri farkındalıklı zamanlama üzerine Astronomer rehberi ayrıntılı bir yürüyüş sunar. Ayrıca, bu özelliklerle tam bir veri hattının nasıl uygulanacağını Airflow ile Bir ETL Hattı Oluşturma rehberinde öğrenebilirsiniz.

Harici olay zamanlaması

Airflow 3.0, iş akışlarının Airflow ekosistemi dışındaki gerçek dünya tetikleyicilerine dayalı olarak başlatılmasına olanak tanıyan sağlam bir harici olay güdümlü zamanlama desteği sunar.

Bu özellik, Airflow’un geleneksel anketlemeye dayalı yaklaşımından önemli bir sapmadır.

Desteklenen olay kaynakları arasında bulut-yerel, ayrık iş akışlarında mesaj kuyruklarıyla entegrasyon için AWS SQS, akış ve mikro hizmet koordinasyonu için planlanan Kafka desteği ve izleme sistemlerinden, API’lerden veya diğer orkestrasyon platformlarından sinyal almak için HTTP/webhook’lar yer alır.

Kullanım örnekleri; S3’e yeni bir dosya geldiğinde veri hattını başlatmaktan, bir ML model kayıt defteri güncellemesine yanıt olarak bir DAG başlatmaya veya gerçek zamanlı uyarı ve olay müdahalesi iş akışlarını koordine etmeye kadar uzanır. 

Olay güdümlü DAG’ler, Airflow’un daha esnek ve güçlü hale gelmesini sağlar; böylece harici sistemlere gerçek zamanlı tepki verebilir.

Zamanlayıcı yönetimli geri doldurmalar

Airflow 3.0’daki en çok beklenen iyileştirmelerden biri, geçmiş veri aralıklarını yeniden çalıştırma veya başarısız DAG’leri onarma süreci olan geri doldurma mekaniğinin elden geçirilmesidir.

Airflow 2.x’teki zorluklardan bazıları, geri doldurmalar için arayüz ve API desteğinin olmaması ve işlemlerin CLI üzerinden elle tetiklenmek zorunda kalmasıydı. 

Bunun sonucu olarak Airflow 3.0’da yapılan iyileştirmeler şunları içerir:

Airflow 3.0’daki iyileştirmeleri içeren görsel.

Airflow 3.0’daki iyileştirmeleri içeren görsel. Napkin AI kullanılarak oluşturuldu

  • Birleşik yürütme modeli: Geri doldurmalar artık ana zamanlayıcı tarafından ele alınır; bu da normal DAG çalıştırmalarıyla tutarlılık sağlar.
  • Çok modlu tetikleme: Geri doldurmalar arayüz, API veya CLI üzerinden başlatılabilir; bu da hem etkileşimli kullanıcılar hem de otomatik sistemler için esneklik sunar.
  • Eşzamansız yürütme: Geri doldurmalar artık engellemesiz, asenkron şekilde çalışır; birden fazla geri doldurma sıraya alınabilir ve eşzamanlı yönetilebilir.
  • Tam gözlemlenebilirlik: Arayüz, ayrıntılı görev düzeyi görünümler, gerçek zamanlı günlükler ve durum göstergeleriyle bir geri doldurma ilerleme izleyicisi içerir.
  • İptal edilebilir çalıştırmalar: Geri doldurmalar artık arayüzden duraklatılabilir veya sonlandırılabilir; bu da kullanıcıların tüm iş akışlarını yeniden başlatmadan sorunlara dinamik olarak yanıt vermesini sağlar.

Airflow 3.0 Makine Öğrenimi ve Yapay Zekâ Kullanım Senaryosu Desteği

Airflow 3.0, modern makine öğrenimi (ML) ve AI güdümlü iş akışları için birinci sınıf bir orkestrasyon aracı olma yolunda önemli bir adım atıyor.

Veri aralığına bağlı olmayan DAG’ler

3.0’daki en dönüştürücü değişikliklerden biri, uzun süredir devam eden yürütme tarihi kısıtının kaldırılmasıdır.

Airflow 2.x ve öncesinde her DAG çalıştırması, esas olarak zamanlama aralığına bağlı olan benzersiz bir execution_date’e sahip olmak zorundaydı. 

Bu model zaman tabanlı ETL işleri için iyi çalışsa da deneysel ve çıkarım senaryolarında sürtünmeye neden oluyordu.

Veri aralığına bağlı olmayan DAG’lerle Airflow 3.0 gerçek yürütme bağımsızlığını sunuyor:

Bu değişiklikle güçlenen bazı kullanım senaryaları şunlardır:

  • Model deneyleri: Aynı DAG’i farklı model yapılandırmaları veya veri dilimleri için, çakışan yürütme tarihlerini dert etmeden birden çok kez çalıştırın.
  • Hiperparametre ayarı: Farklı parametre ızgaraları veya arama stratejileri için eşzamanlı DAG çalıştırmaları başlatın; ayrı ayrı izlenir ama paralel çalışır.
  • Çıkarım DAG’leri: Gerçek zamanlı veya toplu tahminler için, yeni veriler, dış olaylar veya kullanıcı eylemleriyle tetiklenen aynı DAG’i sürekli veya tekrarlayan şekilde çağırın.

Bu ayrışma, ML mühendisleri için orkestrasyon mantığını büyük ölçüde basitleştirir ve daha yüksek düzeyde otomasyon, paralellik ve tekrarlanabilirliği mümkün kılar.

Görevleri her an çalıştırın

Airflow 3.0 artık modern veri iş akışlarının her zaman sabit zamanlamalara uymadığını kabul ederek birden çok yürütme paradigmasını resmen destekliyor. 

Bu güncelleme Airflow’u çeşitli operasyonel ve veri işleme ihtiyaçlarına daha uyarlanabilir hale getirir.

Desteklenen yürütme modları arasında, gecelik raporlar, saatlik eşitlemeler veya toplu ETL hatları gibi işler için uygun olan cron benzeri zamanlamayı kullanan geleneksel Zamanlanmış (Toplu) yürütme bulunur. 

Airflow 3.0 ayrıca, bir bulut depolama kovasına yeni bir dosya düşmesi veya Kafka’ya bir mesaj gelmesi gibi harici olaylarla tetiklenebilen DAG’lerle tepkisel, gerçek zamanlı orkestrasyona imkân veren Olay Güdümlü yürütmeyi de destekler. Ek olarak, belirli bir zaman damgasına ihtiyaç duymadan DAG’lerin çalıştırılabildiği Ad Hoc/Çıkarım Yürütmesi artık mümkün. 

Bu, eşzamanlılık ve anındalığın önemli olduğu makine öğrenimi çıkarımı, veri kalitesi kontrolleri veya kullanıcı tetiklemeli işler gibi kullanımlar için özellikle faydalıdır.

Airflow 3.0’a Yükseltme

Airflow 3.0 anlamlı şekillerde miras kalıplardan koparken önemli iyileştirmeler de getiriyor. 

Sorunsuz geçiş yapmanıza yardımcı olmak için çekirdek katkıcılar kapsamlı ve iyi yapılandırılmış bir yükseltme rehberi sağladı.

Bu büyük bir sürümdür ve dikkatli planlama önerilir. 

Bununla birlikte; net dokümantasyon, yükseltme kontrol listeleri ve uyumluluk araçlarıyla süreç olabildiğince sadeleştirilmiştir.

Rehberin ele aldığı konulardan bazıları şunlardır:

  • Ortam ve bağımlılık kurulumu
  • Zamanlayıcı ve yürütücü hizalaması
  • Veritabanı şeması geçişleri ve yedekler
  • Görev yürütme ve DAG ayrıştırmadaki davranış farklılıkları

Apache Airflow’un 3.0’a yükseltme web sayfasının ekran görüntüsü.

Apache Airflow’un 3.0’a yükseltme web sayfasının ekran görüntüsü. Kaynak: Apache Airflow

Yükseltmeye başlamadan önce aşağıdaki alanları değerlendirmeniz önemlidir:

  • DAG uyumluluğu: Özellikle yeni yürütme özelliklerini benimsiyorsanız, DAG’lerin 3.0 Task SDK tarafından desteklenen API’ler ve yapıları kullandığından emin olun.
  • CLI geçişi: Özellikle CI/CD ve uzak yürütme bağlamlarında uygun olduğunda kullanımdan kaldırılan CLI kullanımını airflowctl ile değiştirin.
  • Eklenti doğrulaması: Özel eklentilerin ve üçüncü taraf entegrasyonların yeni mimari tasarım ve CLI ayrımı ile uyumlu olduğunu doğrulayın.

Sorunsuz bir yükseltme deneyimi istiyorsanız, Airflow’u güncellemeden önce tam Airflow 3.0’a Yükseltme dokümantasyonuna göz atın.

Demo Tabanlı Değerlendirme

Airflow 3.0’ın yeni özelliklerini uygulamalı görmek için Astronomer tarafından sunulan resmi demo DAG’leri, platformun en yeni yeteneklerini keşfetmek için uygulamalı bir yol sunuyor. 

Bu demolar kapsamlı bir vitrin işlevi görür ve DAG versiyonlama, varlık odaklı iş akışları ve olay güdümlü yürütme gibi özelliklerin gerçek senaryolarda nasıl çalıştığını anlamak için idealdir.

Airflow 3.0’ın kullanılabileceği örnek bir kullanım senaryosunun ekran görüntüsü.

Airflow 3.0’ın kullanılabileceği örnek bir kullanım senaryosunun ekran görüntüsü. Kaynak: Astronomer GitHub

Güncellenmiş arayüz hemen öne çıktı. Varlık görünümü, veri bağımlılıkları ve soy kütüğünün net bir görsel haritasını sundu; bu, varlık odaklı DAG’lerle çalışırken özellikle faydalıydı. 

DAG sürüm geçmişi paneli de bir diğer öne çıkan özelliktir. Geçmiş değişiklikleri hızlıca incelemeyi, tekrarlanabilirliği kolaylaştırmayı ve belirli çalıştırmaları bunları üreten kodla ilişkilendirmeyi sağladı. 

Ayrıca, yeniden tasarlanan koyu mod mükemmel kontrast ve okunabilirlik sağladı; bu da uzun hata ayıklama seansları veya geç saatlerdeki geliştirme çalışmaları için memnuniyetle karşılanan bir iyileştirmeydi.

Kendiniz denemek isterseniz, Astronomer GitHub deposunda adım adım talimatlar ve çalıştırmaya hazır bir demo ortamı sunuyor. Depoyu klonlayabilir, kurulum rehberini izleyebilir ve Airflow 3.0’ın yeni özelliklerini keşfedebilirsiniz.

Topluluk ve Gelecek Geliştirmeler

Apache Airflow her zaman topluluğu tarafından yönlendirildi ve bu Airflow 3.0 için de geçerli. 

Bu sürümdeki en etkili özelliklerin birçoğu, doğrudan topluluk anketleri, GitHub tartışmaları ve kullanıcı geri bildirimlerine yanıt olarak geldi.

Airflow kullanıyorsanız, dahil olmayı düşünmelisiniz. Etki yaratmanın yolları şunlardır:

  • Geri bildirim paylaşmak, soru sormak ve diğer uygulayıcılarla bağlantı kurmak için Apache Airflow Slack Topluluğuna katılın.
  • Gelecek sürümlerin şekillenmesine yardımcı olmak için GitHub’da konulara, özellik önerilerine ve tasarım tartışmalarına katılın.
  • Paylaşıldığında özellik anketlerine katılın. Airflow 3.0 bizzat sizin gibi kullanıcılardan gelen içgörülerle şekillendi.

Sonuç

Apache Airflow 3.0; servis odaklı bir mimariyi, çok dillilik sunan görev yürütmeyi, daha akıllı zamanlamayı ve tamamen modernize edilmiş bir arayüzü tek bir sürümde bir araya getiriyor.

Yeni CLI ayrımı ve uca odaklı yürütücülerle değişim dramatik gelebilir; ancak sonuç daha modüler, ölçeklenebilir ve üretime hazır bir orkestrasyon platformudur. 

Ayrıca, yanıt verebilirliğin ve gözlemlenebilirliğin kilit olduğu ML ekipleri, bulut-yerel yığınlar ve olay güdümlü sistemler için daha esnektir.

Hâlâ eski bir Airflow sürümündeyseniz, 3.0’a yükseltmeyi kesinlikle düşünmeye değerdir.

Airflow’u uygulamalı olarak deneyimlemek için kursumuzla başlayın, Apache Airflow’a Başlarken veya temel kavramlara dair bilginizi derinleştirmek için Python ile Apache Airflow’a Girişe göz atın.

Airflow 3.0 SSS

Apache Airflow 3.0’daki başlıca yeni özellikler nelerdir?

Airflow 3.0; servis odaklı bir mimari, yeni React tabanlı bir arayüz, DAG versiyonlaması, varlık odaklı zamanlama ve geliştirilmiş ML/AI desteği sunar.

Yeni Task Execution API esnekliği nasıl artırıyor?

Task Execution API, görevlerin herhangi bir dil ve ortamda çalıştırılmasını sağlar; bu da Airflow’u her zamankinden daha çok dilli ve bulut-yerel hale getirir.

Yeni airflow ve airflowctl CLI komutları arasındaki fark nedir?

 airflow artık yerel komutlar için kullanılırken, airflowctl uzak işlemleri ele alır; bu da geliştirme ve dağıtım arasında daha iyi bir ayrım sağlar.

Airflow 3.0’da DAG versiyonlaması nasıl çalışır?

Airflow 3.0, DAG’lerdeki değişiklikleri zaman içinde izler. Bu, kullanıcıların sürüm geçmişini incelemesine ve hata ayıklama, denetim ve iş birliğini geliştirmesine olanak tanır.

Airflow 3.0 makine öğrenimi iş akışlarıyla uyumlu mu?

Evet. Airflow 3.0, aralık dışı DAG’leri ve isteğe bağlı yürütmeleri destekler; bu da ML deneylerini, model eğitimi ve çıkarım işlerini çalıştırmayı kolaylaştırır.

Airflow 3.0’a yükseltmek ne kadar zor?

Çoğu DAG minimum değişiklikle çalışacaktır; ancak bazı kırıcı değişiklikler ve kullanımdan kaldırılan özellikler inceleme gerektirir. Resmi geçiş rehberleri mevcuttur.

Don Kaluarachchi

Yazar

Don Kaluarachchi

Ben Don—Danışman, Geliştirici, Mühendis, Dijital Mimar ve Yazarım (kısacası, birden çok şapka takıyorum 👨‍💻🎩). Dijital platformların sorunsuz çalışmasını sağlamayı ve onları sürekli daha iyi hâle getirmenin yollarını bulmayı seviyorum. Kod yazmadığım zamanlarda yapay zekâ, veri bilimi ve teknoloji üzerine yazıyorum.
 
Yıllar içinde yazılım geliştirme ve optimizasyondan yapay zekâ modelleri yaygınlaştırmaya ve bulut çözümleri tasarlamaya kadar pek çok alanda çalıştım. Yapay Zekâ alanında Yüksek Lisans ve Bilgisayar Bilimleri alanında Lisans derecelerine sahibim; her ikisini de Brunel University London’dan aldım.

Konular

İlgili