Azure Logic App ile Otomatik Container Oluşturma

060518_1200_AzureLogicA3.png

Azure Logic App Service iş süreçleriniz de ve servisleriniz de kod yazmadan iş akışları oluşturup otomasyon yapabileceğiniz bir hizmettir. Azure Logic App’I IFTT, Zapier uygulamalarının daha detaylı olarak bulut servislerine entegre hali olarak düşünebilirsiniz.

Azure Logic App bir çok bulut servisi (Twitter, Rss, Gmail, Mailchimp vs.) ile entegre çalışabildiği gibi aynı zamanda Azure servisleri için de bir çok opsiyon sunmaktadır.

Container teknolojisi bir yaşam süresi olan belirli bir işi yaptıktan sonra servisin kapatılması gibi ihtiyaçları çok iyi adresleyen bir teknolojidir. Bu anlamda belirli bir tetikleyici ile container oluşturma ve silme bir çok durumda kullandığımız bir senaryo.

Bu yazıda Logic App üzerinde bir tetikleyici ile Azure Container Instance üzerinde otomatik container nasıl oluşturulur onu ineleyeceğiz. Bunun için öncelikle bize bir Logic App Servisi gerekiyor.

Resim-1

Yeni bir Logic App oluşturmak için Azure portalinde “Create a resource” a tıkladıktan sonra, Integration kısmında Logic App hizmetini bulabilirsiniz. Veya alternatif olarak search alanına “Logic App” yazabilirsiniz.

Logic App oluşturulması oldukça basit bir süreç

Logic App a bir isim veriyoruz, Azure için gerekli olan bilgileri (resource group, location vs) girdikten sonra “Create” tuşuna tıklıyoruz.

Resim-2

Logic app oluşturulduktan sonra kaynağa gidince karşımıza aşağıda ki gibi bir ekran geliyor.

Resim-3

Gördüğünüz gibi Logic App ile bir çok tetikleyici ve servis bağlantısı ile bir çok işinizi otomatize edebilirsiniz.

Boş bir Logic App Şablonu oluşturuyoruz.

Resim-4

Logic App süreç olarak 3 aşamadan oluştur.

Trigger > Condition > Action

Öncelikle yapacağınız işin bir tetikleyicisi olması gerekir, ne gerçekleşince bu iş başlatılacak? Daha sonra eğer varsa if/else, switch case şeklinde, eğer böylese bunu yap şeklinde bir koşulunuz olabilir, son olarak da yapılacak işi belirlemeniz gerekir.

Biz örneğimizde belirli bir zamanda otomatik olarak container oluşturma senaryosunu inceleyeceğiz. Örneğin her akşam gece 3 de container oluştur ve sabah 6 da sil gibi. Dolayısı ile tetikleyicimiz bir zaman. Ilgili tetikleyiciyi seçiyoruz.

Resim-5

“Schedule” triger’ımızı seçtikten sonra ayarlarımızı giriyoruz. Ben hızlı olması açısından her 1 dakida da bir trigger olmasını isteyeceğim, bunu production ortamında yapmayın çünkü bir sonraki adımda belirleyeceğimiz container oluştur işine her dakika yapıp her dakikada bir container oluşturur.

Resim-6

Bir sonraki adımımız yeni bir adım ekleyip koşul veya iş belirlemek olacak. Benim bu örneğimiz de container oluşturmak için bir koşulumuz yok direk “Action” işi seçiyoruz.

Resim-7

Açılan ekranda ki arama alanına container yazıyoruz. Ve ilgili aksiyonu ekliyoruz. Yeni bir container grup oluşturma.

Resim-8

Bu aksiyon Azure Container Instance üzerinde bir Azure container Group ve içerisinde tercihe bağlı olarak bir container instance oluşturur. Azure container group kubernetes üzerinde ki pod’lar gibi düşünülebilir.

Container’ımız ile ilgili ayarlarımızı giriyoruz. Ben Azure Container Registry üzerinde ki bir imajı kullanacağım, siz istediğiniz bir container registry’I kullanabilirsiniz. Örnek olarak Docker Hub.

Resim-9


Resim-10

Bu adım ile sürecimizi tamaladık. Silme işlemini de yine bu aksiyonun peşine aynı şekilde “Schedule” ve yeni bir aksiyon girerek yapabilir veya yeni bir Logic App oluşturup tasarlayabilirsiniz.

Ayarlarımızı saklıyoruz.

Resim-11

Ayarlarımızı sakladıktan sonra “Run” komutu ile akışımızı çalıştırabiliriz.

Çalıştırdıktan sonra çalışma işlemi başarılı olursa akış içerisinde ki süreçlere yeşil tick atacaktır.

Resim-12

Bu sadece akışın çalışması için bir komut. Logic App içerisinde belirttiğimiz işlemler kendi trigger’I gerçekleşince çalışacaktır. Bizim senaryomuzda her dakika çalışıyor.

Bir dakika bekledikten sonra ilgili Resource Gruba gidiyorum ve container’ım oluşturulmuş mu control ediyorum.

Resim-13

Gördüğünüz gibi container oluşturma adımında verdiğim ad ile container instance’ım oluşmuş durumda.

Resim-14

Resim-15

Logic App akışımın çalışıp çalışmadığını, bir sorun var ise ne hata verdiğini Logic App blade’inden görebilirsiniz.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Tags: Containers, Azure Logic App, Azure Container Registry, Azure Container Instance, Container otomasyonu, Otomatik Container oluşturma, Azure Container Group, Serverless

Yazı gezinmesi

Mobil sürümden çık