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.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Azure Data Factory, Microsoft'nin buluttaki Veri Tümleştirme 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'ı kolaylaştırmaya yönelik birçok yerleşik özellik sağlamak için GitHub ve Azure DevOps gibi olgun sürüm denetimi araçlarının yanı sıra daha geniş Azure ekosistemi ile 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 içindeki 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ştirmeyi ayarlama
Azure Data Factory'de, deponunuzu GitHub veya Azure DevOps'ta saklamanız şiddetle ö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ında fabrika oluşturma
Azure portalından yeni bir veri fabrikası oluşturduğunuzda, varsayılan Git deposu Azure DevOps. 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 Data Factory Studio
Veri fabrikanızı oluşturduktan sonra deponuza Azure Data Factory Studio üzerinden de 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'daki "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'da CI/CD hakkında konuşmadan önce hizmetin 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'da yayımlama
Yayımlamayı otomatikleştirmek için Azure Release Pipeline ile işlem hatları dağıtıp dağıtmadığınıza bakılmaksızın veya Resource Manager şablonlarını manual deployment ile manuel olarak dağıtsanız da, arka planda yayım, her bir yapıt için veri kümeleri, bağlantılı hizmetler, işlem hatları ve tetikleyiciler üzerinde gerçekleştirilen bir dizi oluşturma/güncelleştirme işlemlerinden oluşur. 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. Örnek olarak Azure Data Factory'nin 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'deki İşlem Hattı Çalıştırmaları bölümünde açıklandığı gibi, bir tetikleyici bir işlem hattı çalıştırmasını başlattığında, 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
Publishing bölümünde açıklandığı gibi, veri kümelerinde veya bağlı hizmetlerde yapılan değişiklikler işlem hattı değiştirilmeden ö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 içindeki ç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'den buaçık kaynak yardımcı programını kullanarak belirli 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 paketi ile çalışmaya başlamak için sürekli tümleştirme ve teslimat için Otomatik yayımlama bölümüne göz atı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, cherry picking olarak bilinen GitHub ve Azure DevOps ö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 yaparken 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 test çerçevesi NUnit'i kullanmak kullanışlı olabilir. Bu gönderiye bakın: Azure Data Factory için Otomatik Test Kurulumu, fabrikanız için otomatik birim testi ortamının nasıl ayarlanacağı hakkında ayrıntılı bir açıklama sunar. (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 Test Gezgini'ni gösteren ekran görüntüsü.
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, benzer özellikler sağlamak için alternatif mekanizmalar sağlayan Azure topluluğunda popüler olan başka yararlı CI/CD çerçeveleri de vardır. Azure Data Factory Git metodolojisi ARM şablonlarını temel alırken, Kamil Nowinski tarafından geliştirilen ADFTools gibi çerçeveler ise fabrikanızdaki tek tek JSON öğelerine güvenerek farklı bir yaklaşım benimser. Azure DevOps konusunda bilgili 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ğı 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 yerel tümleştirme sayesinde data factory, kuruluşunuzun veri varlığının tamamı boyunca veri tümleştirme işlem hatlarınızda kullanmak üzere veri varlıklarının kolayca aranabilmesini ve bulunmasını sağlar.
Purview kataloğunuzda veri varlıklarını bulmak için Azure Data Factory Studio'daki ana arama çubuğunu kullanabilirsiniz.
İlgili içerik
- Azure Data Factory'da CI/CD için otomatik yayımlama
- Azure Data Factory'de Kaynak Denetimi
- Azure Data Factory'de CI/CD kullanımıyla ilgili yararlı videolar içeren bir video kitaplığı
- Git'te hızlı düzeltme veri fabrikası