Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GEÇERLİ OLDUĞU YERLER:
Azure Data Factory
Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Azure Data Factory, Microsoft'un buluttaki Veri Entegrasyonu ve ETL hizmetidir. Bu makale, veri fabrikasında DataOps için rehberlik sağlar. CI/CD, Git veya DevOps ile ilgili eksiksiz bir öğretici olması amaçlanmamıştır. Hizmette DataOps'un gerçekleştirilmesine yönelik veri fabrikası ekibinin yönergelerini ve veri fabrikası dağıtımı en iyi uygulamaları, fabrika yönetimi ve idaresi için ayrıntılı uygulama bağlantılarına referansları bulacaksınız. Bu makalenin sonunda öğreticilerin bağlantılarını içeren bir kaynaklar bölümü vardır.
DataOps nedir?
DataOps, veri kuruluşlarının karar alıcılara daha hızlı değer sağlamak amacıyla işbirliğine dayalı veri yönetimi için çalıştığı bir süreçtir.
Gartner, DataOps'un bu net tanımını sağlar:
DataOps, kuruluş genelinde veri yöneticileri ve veri tüketicileri arasındaki veri akışlarının iletişimini, tümleştirmesini ve otomasyonunu geliştirmeye odaklanan işbirliğine dayalı bir veri yönetimi uygulamasıdır. DataOps'un amacı, verilerin, veri modellerinin ve ilgili yapıtların öngörülebilir teslim ve değişiklik yönetimi oluşturarak daha hızlı değer sunmaktır. DataOps, uygun idare düzeyleriyle veri tesliminin tasarımını, dağıtımını ve yönetimini otomatikleştirmek için teknolojiyi kullanır ve meta verileri kullanarak dinamik bir ortamdaki verilerin kullanılabilirliğini ve değerini geliştirir.
Azure Data Factory'de DataOps'a nasıl ulaşabilirsiniz?
Azure Data Factory, bulut ölçeğinde veri tümleştirme ve ETL projelerini kolayca oluşturmak için veri mühendislerine görsel tabanlı bir veri işlem hattı paradigması sağlar. Data factory, zengin işbirliği, idare ve yapıt ilişkileri içeren DataOps'un kolaylaştırılmasını sağlayan birçok yerleşik özellik sağlamak için GitHub ve Azure DevOps gibi olgun sürüm denetimi araçlarıyla ve daha geniş Azure ekosistemiyle yerel tümleştirmelere dayanır.
Özellikle kendi GitHub veya Azure DevOps deponuzu veri fabrikasına getirdiğinizde, hizmet işlemeler, yapıtları kaydetme ve sürüm denetimi gibi yaygın komutlar için sezgisel yerleşik kullanıcı arabirimi seçenekleri sağlar. Hizmet ayrıca üretim ortamınızın stabilitesini ve sağlığını korumak için CI/CD ve kod teslimi en iyi uygulamalarını sağlama seçeneği sunar.
Azure Data Factory'de "Kod"
Azure Data Factory'deki tüm yapıtların işlem hatları, bağlı hizmetler, tetikleyiciler vb. görsel kullanıcı arabirimi tümleştirmesinin arkasında JSON'da karşılık gelen "kod" gösterimleri vardır. Bu yapıtlar Azure Resource Manager şablonları standartlarına uygun hareket eder. Tuvalin sağ üst kısmındaki köşeli ayraç simgesine tıklayarak kodu bulabilirsiniz. Örnek JSON "kodu" şöyle görünür:
Canlı mod ve Git sürüm denetimi
Her fabrikanın tek bir gerçek kaynağı vardır: işlem hatları, bağlı hizmetler ve hizmette depolanan tetikleyici tanımları. Bu gerçek kaynağı, işlem hattının yürüttüğü ve tetikleyicilerin davranışlarını belirleyen kaynaktır. Canlı moddaysanız, her yayımladığınızda tek bir gerçek kaynağını doğrudan değiştirirsiniz. Aşağıdaki görüntüde Tümünü Yayımla düğmesinin canlı modda nasıl göründüğü gösterilmektedir.
Canlı mod, geliştiricilerin kod değişikliklerinin hemen etkilerini görmesine olanak sağladığından yan projelerde çalışan tek kişi için kullanışlı olabilir. Ancak, üretim düzeyinde iş projeleri üzerinde çalışan bir geliştirici ekibi için önerilmez. Bu tehlikeler arasında şişman parmaklar, kritik kaynakların yanlışlıkla silinmesi, test edilmemiş kodların yayımlanması vb. sayılabilir. Görev açısından kritik projeler ve platformlar üzerinde çalışırken, bir Git deposu getirmeyi ve geliştirme sürecini kolaylaştırmak için veri fabrikasında Git modunu kullanmayı göz önünde bulundurun. Git modunun sürüm denetimi ve geçitli iade özellikleri, canlı moda doğrudan dokunmayla ilişkili kazaların çoğunu (hepsi olmasa da) önlemenize yardımcı olur.
Not
Git modunda, Yayımla veya Tümünü Yayımla düğmesi, Kaydet veya Tümünü Kaydet ile değiştirilir ve değişiklikleriniz kendi dallarınıza uygulanır (canlı kod tabanlarını doğrudan değiştirmez).
GitHub ve Azure DevOps tümleştirmesi ayarlama
Azure Data Factory'de, deponuzu GitHub'da veya Azure DevOps'ta depolamanız kesinlikle önerilir. Hizmet her iki yöntemi de tam olarak destekler ve hangi deponun kullanılacağı bireysel kuruluş standartlarınıza bağlıdır. Yeni bir depo ayarlamak veya mevcut bir depoya bağlanmak için iki yöntem vardır: Azure portalını kullanma veya Azure Data Factory Studio kullanıcı arabiriminden oluşturma
Azure portal fabrika oluşturma
Azure portalından yeni bir veri fabrikası oluşturduğunuzda, varsayılan Git deposu Azure DevOps'tur. Ayrıca depo olarak GitHub'ı seçebilir ve depo ayarlarınızı yapılandırabilirsiniz.
Azure portalından depo türünü seçin ve Depo ve dal adlarını girerek Git ile yerel olarak tümleştirilmiş yeni bir fabrika oluşturun.
Kuruluşunuzda Azure İlkesi ile Git kullanımını zorunlu tutma
Azure Data Factory projelerinizde Git kullanımı kesinlikle önerilen en iyi yöntemdir. Eksiksiz bir CI/CD işlemi uygulamasanız bile, ADF ile Git tümleştirmesi kaynak yapıtlarınızın fabrika dallarının geri kalanından bağımsız olarak test edilebildiği kendi korumalı alan ortamınıza (Git dalı) kaydedilmesini sağlar. Kuruluşunuzun fabrikasında Git kullanımını zorunlu kılmak için Azure İlkesi kullanabilirsiniz.
Azure Data Factory Studio
Veri fabrikanızı oluşturduktan sonra Azure Data Factory Studio aracılığıyla deponuza da bağlanabilirsiniz. Yönet sekmesinde depo ve depo ayarlarınızı yapılandırma seçeneğini görürsünüz.
Kılavuzlu bir işlemle, tercih ettiğiniz deponuzu kolayca yapılandırmanıza ve bu depoya bağlanmanıza yardımcı olacak bir dizi adımla yönlendirilirsiniz. Tam olarak ayarlandıktan sonra işbirliği yaparak çalışmaya başlayabilir ve kaynaklarınızı deponuza kaydedebilirsiniz.
Sürekli tümleştirme ve sürekli teslim (CI/CD)
CI/CD, değişikliklerin çeşitli aşamalarda (geliştirme, test, hazırlama vb.) ilerletildiği ve test edildiği bir kod geliştirme paradigmasıdır. Her aşamada gözden geçirilip test edildikten sonra, son olarak bir üretim ortamındaki canlı kod temelleri için yayımlanır.
Sürekli tümleştirme (CI), bir geliştiricinin kod tabanınızda her değişiklik yaptığında otomatik olarak test etme ve doğrulama uygulamasıdır. Sürekli teslim (CD), Sürekli Tümleştirme testleri başarılı olduktan sonra değişikliklerin sürekli olarak bir sonraki aşamaya getirildiği anlamına gelir.
Daha önce kısaca açıklandığı gibi Azure Data Factory'deki "kod", Azure Resource Manager şablonu JSON biçimindedir. Bu nedenle, sürekli tümleştirme ve teslim (CI/CD) işleminden geçen değişiklikler JSON bloblarına eklemeler, silmeler ve düzenlemelerden oluşur.
Azure Data Factory'de işlem hattı çalıştırmaları
Azure Data Factory'de CI/CD hakkında konuşmadan önce hizmetin bir işlem hattını nasıl çalıştıracakları hakkında konuşmamız gerekir. Data Factory işlem hattını çalıştırmadan önce aşağıdakileri yapar:
- İşlem hattının ve veri kümeleri, bağlı hizmetler vb. gibi ilişkili varlıklarının en son yayımlanan tanımını çeker.
- Eylemlere indirger; veri fabrikası yakın zamanda yürütmüşse, önbelleğe alınmış derlemelerden eylemleri geri alır.
- İşlem hattını çalıştırır.
İşlem hattını çalıştırmak için aşağıdaki adımlar gerekir:
- Hizmet, belirli bir zamanda işlem hattı tanımının anlık görüntüsünü alır.
- İşlem hattı süresi boyunca tanımlar değişmez.
- İşlem hatlarınız uzun süre çalışsa bile, başlatıldıktan sonra yapılan sonraki değişikliklerden etkilenmez. Çalıştırma sırasında bağlı hizmette, işlem hatlarında vb. değişiklikleri yayımlarsanız, bunlar devam eden çalıştırmaları etkilemez.
- Değişiklikleri yayımladığınızda, yayından sonra başlatılan sonraki çalıştırmalar güncelleştirilmiş tanımları kullanır.
Azure Data Factory'de yayımlama
Yayımlamayı otomatikleştirmek için Azure Yayın İşlem Hattı ile veya Resource Manager şablonlarının el ile dağıtımıyla işlem hatları dağıttığınıza bakılmaksızın, arka uçta yayımlama, yapıtların her biri için veri kümeleri, bağlı hizmetler, işlem hatları ve tetikleyiciler üzerinde bir dizi oluşturma/güncelleştirme işlemidir. Bunun etkisi, temel alınan Rest API çağrılarını doğrudan yapmakla aynıdır.
Buradaki eylemlerden birkaç şey gelir:
- Bu API çağrılarının tümü zaman uyumlu, yani çağrı yalnızca yayımlama başarılı olduğunda/başarısız olduğunda döndürülüyor. Yapıt için kısmi dağıtım durumu olmayacaktır.
- API çağrıları büyük ölçüde sıralıdır. Yapıtların bilgi bağımlılıklarını korurken çağrıları paralelleştirmeye çalışıyoruz. Dağıtımların sırası bağlı hizmettir -> veri kümesi/tümleştirme çalışma zamanı -> işlem hattı -> tetikleyici. Bu sıra, bağımlı yapıtların bağımlılıklarına düzgün bir şekilde başvurabilmesini sağlar. Örneğin, işlem hatları veri kümelerine bağlıdır ve bu nedenle veri fabrikası, bunları veri kümelerinden sonra dağıtır.
- Bağlı hizmetlerin, veri kümelerinin vb. dağıtımı işlem hatlarından bağımsızdır. Veri Fabrikası'nın işlem hattının güncellemelerinden önce bağlı hizmetleri güncellediği durumlar vardır. Tetikleyicinin Durdurulması Gereken Durumlar bölümünde bu durum hakkında konuşacağız.
- Dağıtım, fabrikalardan eserleri/artifaktları silmeyecek. Fabrikayı temizlemek için her yapıt türü (işlem hattı, veri kümesi, bağlı hizmet vb.) için silme API'lerini açıkça çağırmanız gerekir. Örneğin Azure Data Factory'den örnek dağıtım sonrası betiğine bakın.
- bir işlem hattına, veri kümesine veya bağlı hizmete dokunmamış olsanız bile, fabrikaya yönelik bir hızlı güncelleştirme API çağrısı çağırır.
Yayımlama tetikleyicileri
- Tetikleyicilerin durumları vardır: başlatıldı veya durduruldu.
- Tetikleyicide başlangıç modunda değişiklik yapamazsınız. Herhangi bir değişiklik yayımlamadan önce tetikleyiciyi durdurmanız gerekir.
-
Create or Update Trigger API'yi başlatılmış modda bir tetikleyicide çağırabilirsiniz.
- Yük değişirse API başarısız olur.
- Yük değişmeden kalırsa API başarılı olur.
- Bu davranış, tetikleyicinin ne zaman durdurulması gerektiğinde derin bir etkiye sahiptir.
Tetikleyici ne zaman durdurulacak?
Bir üretim veri fabrikasına dağıtım söz konusu olduğunda, işlem hattı çalıştırmalarını başlatan canlı tetikleyicilerle birlikte soru şu olur: "Bunları durdurmalı miyiz?".
Kısa yanıt, tetikleyiciyi durdurmayı yalnızca aşağıdaki birkaç senaryoda göz önünde bulundurmanız gerektiğidir:
- Bitiş tarihi, sıklık ve işlem hattı ilişkilendirmesi gibi alanlar da dahil olmak üzere tetikleyici tanımlarını güncelleştiriyorsanız tetikleyiciyi durdurmanız gerekir.
- Veri kümelerini veya bağlı hizmetleri güncellediğinizde, canlı bir işlem hattında referans alınan tetikleyiciyi durdurmanız önerilir. Örneğin, SQL Server için kimlik bilgilerini değiştiriyorsanız.
- İlişkili işlem hattı hata veriyorsa ve başarısız oluyorsa ve sunucularınıza yük biniyorsa tetikleyiciyi durdurmayı seçebilirsiniz.
Tetikleyicilerin durdurulmasıyla ilgili dikkate alınması gereken birkaç nokta şunlardır:
- Azure Data Factory'de İşlem Hattı Çalıştırmaları bölümünde açıklandığı gibi, bir tetikleyici işlem hattı çalıştırmasını başlatırken işlem hattı, veri kümesi, tümleştirme çalışma zamanı ve bağlı hizmet tanımlarının anlık görüntüsünü alır. İşlem hattı, değişiklikler arka uç sistemine yansımadan çalıştırılırsa, tetikleyici eski sürümle bir çalıştırma başlatır. Çoğu durumda bu sorun olmaz.
- Yayımlama Tetikleyicileri bölümünde açıklandığı gibi. Tetikleyici başlatıldı durumundayken güncelleştirilemez. Bu nedenle, tetikleyici tanımıyla ilgili ayrıntıları değiştirmeniz gerekiyorsa, değişiklikleri yayımlamadan önce tetikleyiciyi durdurun.
- Azure Data Factory'de Yayımlama bölümünde açıklandığı gibi, veri kümelerinde veya bağlı hizmetlerde yapılan değişiklikler işlem hattı değişikliklerinden önce yayımlanır. İşlem hattı çalıştırmalarının doğru kimlik bilgilerini kullandığından ve doğru sunucularla iletişim kuradığından emin olmak için ilişkili tetikleyiciyi de durdurmanızı öneririz.
"Kod" değişikliklerini hazırlama
Çekme istekleri için bu en iyi uygulamaları takip etmenizi öneririz.
- Her geliştirici kendi dallarında çalışmalı ve günün sonunda depolama alanının ana dalı için pull request oluşturmalıdır. GitHub ve DevOps'ta çekme istekleriyle ilgili öğreticilere bakın.
- Kapı bekçileri çekme isteklerini onayladığında ve değişiklikleri ana dalda birleştirdiğinde CI/CD işlemi başlatılabilir. Ortamlar genelinde değişiklikleri yükseltmek için önerilen iki yöntem vardır: otomatik ve el ile.
- CI/CD işlem hatlarını başlatmaya hazır olduğunuzda, bunu genellikle Azure Pipeline Release kullanarak yapabilir veya Azure Player'ın bu açık kaynak yardımcı programını kullanarak belirli tek tek işlem hatlarının dağıtımlarını yapabilirsiniz.
Değişikliklerin otomatik dağıtımı
Otomatik dağıtımlara yardımcı olmak için Azure Data Factory yardımcı programları npm paketini kullanmanızı öneririz. npm paketinin kullanılması, işlem hattındaki tüm kaynakları doğrulamaya ve kullanıcı için ARM şablonları oluşturmaya yardımcı olur.
Azure Data Factory yardımcı programlar npm paketini kullanmaya başlamak için sürekli tümleştirme ve teslim için otomatik yayımlama bölümüne bakın.
Değişikliklerin el ile dağıtımı
Dalınızı Git deponuzdaki ana işbirliği dalı ile birleştirdikten sonra değişikliklerinizi canlı Azure Data Factory hizmetinde el ile yayımlayabilirsiniz. Hizmet, Yayımlamayı devre dışı bırak (ADF Studio'dan) seçeneğiyle geliştirme dışı fabrikalardan yayımlama üzerinde kullanıcı arabirimi denetimi sağlar.
Seçici dağıtım
Seçmeli dağıtım, GitHub ve Azure DevOps'un kiraz toplama olarak bilinen özelliğine dayanır. Bu özellik yalnızca belirli değişiklikleri dağıtmanıza olanak tanır, ancak başkalarını dağıtmaz. Örneğin, bir geliştirici birden çok işlem hattında değişiklik yapmıştır, ancak bugünün dağıtımı için yalnızca bir işlem hattına değişiklik dağıtmak isteyebiliriz.
İhtiyacınız olan işlem hattıyla ilgili işlemeleri seçmek için Azure DevOps ve GitHub öğreticilerini izleyin. Tetikleyicilerde, bağlı hizmetlerde ve işlem hattıyla ilişkili bağımlılıklarda yapılan ilgili değişiklikler de dahil olmak üzere tüm değişikliklerin tek tek seçili olduğundan emin olun.
Değişiklikleri seçtikten ve ana işbirliği işlem hattıyla birleştirdikten sonra önerilen değişiklikler için CI/CD işlemini başlatabilirsiniz. Bu makalenin Otomatikleştirilmiş test bölümünde açıklandığı gibi seçmeli dağıtım için hızlı düzeltme, belirli değişiklikleri seçme veya dış framework'leri kullanma hakkında ek bilgiler.
Birim testi
Birim testi, kodun test bileşenlerine odaklanan yeni işlem hatları geliştirme veya mevcut veri fabrikası yapıtlarını düzenleme sürecinin önemli bir parçasıdır. Data Factory, işlem hattı hata ayıklama özelliğini kullanarak hem işlem hattı hem de veri akışı yapıt düzeyinde ayrı birim testlerine olanak tanır.
Veri akışları geliştirirken, değişikliklerinizi üretime dağıtmadan önce birim testi gerçekleştirmek için veri önizleme özelliğini kullanarak her bir dönüştürme ve kod değişikliği hakkında içgörü elde edebileceksiniz.
Hizmet, Azure Data Factory'de hata ayıklama ve birim testi sırasında kullanıcı arabirimindeki işlem hattı etkinliklerinizle ilgili canlı ve etkileşimli geri bildirim sağlar.
Otomatikleştirilmiş test
Azure Data Factory ile kullanabileceğiniz otomatik test için kullanabileceğiniz çeşitli araçlar vardır. Hizmet, hizmetteki nesneleri JSON varlıkları olarak depoladığından, Visual Studio ile açık kaynak .NET birim testi çerçevesi NUnit'i kullanmak kullanışlı olabilir. Şu gönderiye bakın: Azure Data Factory için Otomatik Test Kurulumu, fabrikanız için otomatik birim test ortamının nasıl ayarlanacağına ilişkin ayrıntılı bir açıklama sağlar. (Bu blogu kullanma izni için Richard Swinbank'e özel teşekkürler.)
Müşteriler ayrıca dağıtım öncesi ve sonrası adımları için CI/CD işleminin bir parçası olarak PowerShell veya AZ CLI ile TEST işlem hatlarını çalıştırabilir.
Veri fabrikasının önemli bir gücü, veri kümelerinin parametreleştirilmesinde yatmaktadır. Bu özellik, müşterilerin yeni geliştirmelerinin tüm kaynak ve hedef gereksinimlerini karşıladığından emin olmak için farklı veri kümeleriyle aynı işlem hatlarını çalıştırmasını sağlar.
Azure Data Factory için diğer CI/CD çerçeveleri
Daha önce açıklandığı gibi, yerleşik Git tümleştirmesi birleştirme, dallanma, karşılaştırma ve yayın dahil olmak üzere Azure Data Factory kullanıcı arabirimi aracılığıyla yerel olarak kullanılabilir. Ancak Azure topluluğunda popüler olan ve benzer özellikler sağlamak için alternatif mekanizmalar sağlayan başka yararlı CI/CD çerçeveleri de vardır. Azure Data Factory Git metodolojisi ARM şablonlarını temel alırken, Kamil Nowinski'nin ADFTools gibi çerçeveleri fabrikanızdaki tek tek JSON yapıtlarına güvenerek farklı bir yaklaşım benimser. Azure DevOps konusunda deneyimli olan ve bu ortamda çalışmayı tercih eden veri mühendisleri (hizmetin kullanıma hazır olarak sunduğu ARM tabanlı kullanıcı arabirimi yaklaşımının aksine), bu çerçevenin kendileri için ve kısmi dağıtımlar gibi yaygın senaryolar için iyi çalıştığını bulabilir. Bu çerçeve, çalışan tetikleyici durumlarına sahip ortamlara dağıtılırken tetikleyicilerin işlenmesini de basitleştirebilir.
Azure Data Factory'de veri idaresi
Etkili DataOps'un önemli bir yönü de veri idaresidir. Veri tümleştirme ETL araçları için veri kökeni ve yapıt ilişkileri sağlamak, veri mühendisinin aşağı akış değişikliklerinin etkisini anlaması için önemli bilgiler sağlayabilir. Data factory, fabrika uygulamanızı oluşturan yerleşik ilgili eser görünümlerini sağlar.
Microsoft Purview ile yerel tümleştirme, köken, etki analizi ve veri kataloğu oluşturma olanağı da sağlar.
Microsoft Purview , şirket içi, çoklu bulut ve hizmet olarak yazılım (SaaS) verilerinizi yönetmenize ve yönetmenize yardımcı olan birleşik bir veri idaresi çözümü sağlar. Otomatik veri bulma, hassas veri sınıflandırması ve uçtan uca veri kökeni ile veri ortamınızın bütünsel, güncel bir haritasını kolayca oluşturmanıza olanak tanır. Bu özellikler, veri tüketicilerinin değerli, güvenilir veri yönetimine erişmesini sağlar.
Purview Veri Kataloğu ile doğal entegrasyon sayesinde Veri Fabrikası, kuruluşunuzun veri varlığının tüm genişliği boyunca veri tümleştirme işlem hatlarınızda kullanmak üzere veri varlıklarını kolayca aramanıza ve bulmanıza olanak tanır.
Purview kataloğunuzda veri varlıklarını bulmak için Azure Data Factory Studio'daki ana arama çubuğunu kullanabilirsiniz.