
Eğitim boyunca hangi konular hakkında bilgi sahibi olacağız ve neleri öğreneceğiz konularını inceliyoruz. Hangi adımlar ve hangi mekanizmalar kullanılacağı onları öğreniyoruz.
Bu kurs kimler için? Yazılım konusunda yeni olabilirsiniz, DevOps öğrenmek isteyen bir yazılımcı olabilirsiniz veya DevOps konusunda hiç fikri olmayan birisi olabilirsiniz, hiç farketmez, bu kurs tam sizin için.
Eğitim öncesi bilinmesi gereken çok fazla bir detay yok aslında. Dolayısıyla hemen kursumuzun ön hazırlığı ile başlayabiliriz.
Çok fazla ön hazırlık gerektirmeyen kursumuzda Azure DevOps ve Azure Portal üzerinde kullanabileceğimiz bir hesabımızın olması yeterli. Bunun dışında 3. bölüm 2. videoya gidip Paralel Job Request Formunu ne kadar erken doldurursak o kadar iyi :)
Azure Portal'a email adresimizi kullanarak giriş yapmak, kayıt olmuş olmak anlamına gelmiyor. Ancak yine de giriş yapıp bizi nelerin beklediğini bir görelim.
Bu videoda ise gerçekten portal için kayıt olma işlemini gerçekleştiriyoruz. Bizden istenen bilgiler, hangilerinin ne anlama geldiği, hangi ekranların olduğu vs görülebilir.
Azure Portal üzerindeki en büyük çatı olan Subscription nasıl oluşturulur ve ne için kullanılır bu videoda öğreneceğiz ve bir tane oluşturacağız.
Bu video Azure Portal ekranları ve bu ekranların genel kullanımları hakkında genel bilgi sahibi olacağız. Ayrıca bir Resource (kaynak) oluştururken nelere dikkat edeceğimizi de örnek bir kaynak oluşturma işlemi ile öğreneceğiz
Kaynaklarımızı oluşturduktan sonra özelliklerini nereden görüp nasıl değiştireceğimizi bu videoda öğreneceğiz.
Kursumuzun asıl konusu olan DevOps tarafındaki kullanacağımız portal olan Azure DevOps sistemine kayıt olma vakti geldi. Kayıt işlemini birlikte yapacağız ve ilk projemizi birlikte oluşturacağız.
Azure DevOps tarafında oluşturmuş olduğumuz Pipeline'larımızın çalışabilmesini sağlamak için öncesinde bir form doldurup Microsoft'a başvuru yapmamız gerekiyor. Ancak bunun için Hesap ve Proje oluşturmuş olmamız gerekiyor.
Azure DevOps portalı üzerinde hemen hemen her şey sol menüdeki elemanları kullanarak yapılıyor. Dolayısıyla hangi menünün ne için kullanacağını detaylıca bilmek bizi hızlandıracaktır.
Bu kurs boyunca nasıl bir proje üzerinden ilerleyeceğiz ve ortaya nasıl bir yapı çıkartacağız ondan bahsedeceğiz.
Ana projemiz olan AzureShopApi projesinin ne olduğu ve nasıl çalışacağını öğreniyoruz.
ServiceBus üzerindeki bir kuyruktan veri okuyup başka bir kuyruğa veri yazan bir Azure Function projemiz var. Bu videoda bunun nasıl bir yapı olduğunu anlayalım.
HealthCheck adreslerinin Api servislerimize otomatik olarak eklenmesini sağlayan bir Extension kütüphanesi geliştiriyoruz. Bu kütüphanenin nasıl göründüğünü anlayalım.
Repository'lerimizi oluşturmanın birden fazla yolu var. Bu videoda her iki yolu da göreceğiz. Hem yerel bilgisayarda hem de Azure Devops üzerinde oluşturacağız repository'lerimizi.
Daha önce öğrenmiş olduğumuz Repository oluşturma işlemini şimdi de Azure Function projemiz için yapalım.
Daha önce öğrenmiş olduğumuz Repository oluşturma işlemini şimdi de Nuget Paketi projemiz için yapalım.
Önceki bölümde oluşturmuş olduğumuz Repository'ler içerisinde Branch'ler oluşturacağız. Bunların ne olduğuna genel bir bakış atalım.
Bazı branch'lerimiz vardır ki herkesin kod değişikliklerini direkt olarak bu branch'lere göndermesini istemeyiz. Bunları korumak isteriz bazı durumlarda. Bunları nasıl koruyabiliriz onları öğrenelim.
Pull Request nedir ve ne için kullanılır? Bu videoda bu sorulara cevap arıyoruz.
CI/CD süreçlerini duyduysanız Pipeline kelimesini de çok büyük ihtimalle duymuşsunuzdur. Nedir bu pipeline?
Dotnet ile bir uygulama geliştiriyorken, yazmış olduğumuz kodun başına neler geldiğini bilmek gerekir. NET Framework için gerekli SDK (Software Development Kit) kurulumunu yapınca bilgisayarımızda 'dotnet' isminde bir uygulama kurulur ve bu uygulamanın bizim kodumuz üzerinde çalıştırabileceğimiz 'api' ları bulunur. Bunlara hızlı bir bakış atalım.
Azure DevOps üzerinde Pipeline'lar nelerdir ve nasıl oluşturulur?
AzureShop Api projemiz için bir pipeline oluşturalım.
AzureShop Function projemiz için bir pipeline oluşturalım.
Son olarak ise Nuget projemiz için bir pipeline oluşturalım.
Uygulamamızın loglarını gözlemleyebileceğimiz, oluşan verilerin analizlerinin yapılabileceği bir araç olan Application Insight isimli kaynağımızı oluşturalım.
Api projemizin üzerinde çalışacağı bir WebApp kaynağı oluşturalım
Azure Function'lar WebApp lerden farklı olarak çalışırlar ve tamamen farklı kaynak türleridir. Bu videomuzda, bu kaynak nasıl oluşturulur onu inceleyelim.
ServiceBus Azure'un popüler kaynaklarından birisidir. Biz de uygulamamız içerisinde bu kaynağı kullanıyor olacağız. Dolayısı ile bu kaynağın ve ilgili kuyrukların oluşturulması gerekiyor. Hadi oluşturalım.
Hassas bilgilerin saklanması ve bunların Azure kaynakları arasında kullanılmasını mümkün kılan bir araç olan KeyVault nasıl kurulur ve nasıl bilgi eklenir gibi bilgileri öğrenelim.
Azure'un veritabanı hizmetlerinden birisi olan Azure Sql kaynağını kuralım ve detaylarını birlikte inceleyelim.
Pipeline'larımızı oluşturduk ama bunları nasıl Azure Portal üzerindeki kaynaklarımıza deploy edeceğiz? Bu videoda Release nedir ve nasıl bir deploy yaklaşımı kullanacağız onları öğreniyoruz.
Azure DevOps üzerinde Release'lerin oluşturulması ve düzenlenmesini nasıl sağlayacağımızı öğreniyoruz.
AzureShop Api projemiz için bir Release oluşturmamız gerekiyor. Bunu iki parça halinde yapacağız çünkü henüz Azure DevOps ve Azure Portal arasında bir bağlantı kurmadık.
Azure DevOps'ta ürettiğimiz Artifact'larımızı(çıktı) Azure Portal'daki kaynaklarımıza deploy etmek için bu iki sistem arasında bir entegrasyon kurmamız gerekiyor. Bu video tüm bu aşamayı anlatıyor.
Artık ServiceConnection oluşturduğumuza göre Api projemizin release işleminin ikinci aşamasına geçebiliriz.
Bir release'i elle çalıştırmak gerekli midir? Bu video bu soruyu cevaplıyor.
Artık tüm süreçlerimizi otomatize edip, Release işleminin otomatik çalışmasını sağlayabiliriz.
Azure Function projemiz için de benzer adımları uygulayarak bir Release oluşturalım.
Azure Function için oluşturduğumuz Release'in otomatik olarak çalıştırılmasını sağlayalım.
Bu zamana kadar yaptığımız entegrasyon ve değişikliklerimizde özellikle eksik bıraktığımız alanlar vardı. Bu bölümdeki videolarda buraları hep birlikte göreceğiz ve düzelteceğiz.
Öncelikle Azure DevOps üzerindeki Board'lardan başlayalım. Agile yaklaşımını benimsediğimiz projemizde Epic, Feature, UserStory, ve Task gibi kavramların neler olduğunu anlayacağız. Daha sonra bunların nasıl oluşturulacağına ve hiyerarşik olarak nasıl sıralanacağını öğreneceğiz.
Bir Validasyon Pipeline'ı oluşturabilmek için projemize bir Unit Test projesi ekliyoruz ve bu pipeline'ın Pull Request işlemi sonrasında Merge yapılmadan hemen önce çalıştırılmasını sağlayacağız.
Benzer şekilde kullanmış olduğumuz Pipeline Task'larını bir grup haline getirebilir ve kullanabiliriz.
Pipeline'ların ve Release'lerin çalışması sırasında uygulamalarımıza dinamik olarak parametre göndermek çok önemli bir yaklaşımdır. Bu yaklaşımı mümkün kılan DevOps özelliklerinden birisi olan Library Variable Group nedir öğrenelim ve ServiceBus kaynağımız için bu alanı kullanalım.
Api projemizi daha önce InMemory bir veritabanı üzerinde çalıştırmıştık. Bu videomuzda daha önce kurmuş olduğumuz Azure Sql veritabanı ile Api projemizi yine Library Variable kullanarak nasıl birbirine bağlayacağımızı öğreneceğiz.
Kursumuzun son videosunda, Library Variable ve KeyVault arasında nasıl bağlantı kurarız bunu öğreneceğiz. Bu saatten sonra tüm 'hassas' bilgilerimiz KeyVault aracılığı ile kullanılabilir olacaktır.
Bu kurs, DevOps dünyasına adım atmak isteyenler için kapsamlı bir başlangıç noktası sunuyor. Sıfırdan başlayarak, katılımcıları Azure DevOps üzerindeki tüm CI/CD süreçlerinde ustalaşmaya ve Azure Portal üzerinden sunulan hem ücretli hem de ücretsiz hizmetlerden nasıl yararlanılacağını öğrenmeye yönlendiriyor. Kurs, Cloud sistemlerine yeni başlayanları da kucaklayarak, sistemlerin otomatizasyonu ve güvenlik gibi kritik öneme sahip konulara hakimiyeti amaçlar. Kurs kapsamında, kullanıcı ve yönetici onayları gibi mekanizmaların entegrasyonuyla sistemlerin güvenli bir şekilde nasıl kullanılacağına dair pratik bilgiler sunulur.
Katılımcılar, bulut bilişim sistemlerine giriş yapacak ve bulut sistemlerde uygulama ile sistem yayınlama pratikleri üzerinde çalışacaklar. Bu sayede, düşük maliyetli ve yüksek performanslı cloud sistemleri geliştirme konusunda yetkinlik kazanacaklar. Kurs, KeyVault ve ServiceBus gibi önemli sistem araçlarının kullanımı üzerine derinlemesine bilgiler verirken, bir WebApi, bir Azure Function ve bir Nuget paketi oluşturma ve yayınlama süreçlerini de kapsar. Azure Portal üzerinde kaynak oluşturma, ayarların ve yetkilerin nasıl yapılandırılacağı, Azure DevOps'un Feature by Branch yaklaşımı ve uygulanışı, pipeline'lara Stage eklenmesi ve yetkilendirme süreçleri, her repository için ayrı ayrı veya toplu yetkilendirme yapılması ve Branch Policy ile branchlerin korunması gibi konularda detaylı bilgiler sağlanır.
Bu kurs, katılımcılara teorik bilgilerin yanı sıra pratik tecrübeler de sunarak, onları modern DevOps pratiklerinde yetkin ve rekabetçi profesyoneller haline getirmeyi hedefliyor. Hem teorik bilgiyi hem de pratik uygulamayı bir araya getiren bu kapsamlı eğitim programı ile DevOps yolculuğunuzda güçlü bir başlangıç yapın.