background

Azure Logic Apps

Azure Logic Apps

Azure Logic Apps , işletmelerin dijitalleşmeye yönelmesiyle birlikte, önceden oluşturulmuş API’ler ve Microsoft tarafından hizmete sunulmuş connectorler ile birlikte eski, modern ve son teknoloji sistemleri daha kolay ve hızlı bir şekilde entegre etmenize yardımcı olacak.

Bu yazımda size Microsoft’un sunmuş olduğu bir bulut hizmeti olan Azure Logic Apps nedir?, Kullanmaya karar vermeden önce nelere dikkat etmeli?, Fiyatlandırmaları neler etkiliyor? gibi sorularınıza yanıt bulabileceğiniz ve fikir sahibi olabilmeniz için birkaç bilgi paylaşacağım.

Azure Logic Apps Nedir?

Azure Logic Apps; uygulamalar, veriler, sistemler ve hizmetleri işletmeler veya kuruluşlar arasında entegre etmeniz gerektiğinde görevleri, iş süreçlerini ve iş akışlarını planlamanıza, otomatikleştirmenize ve düzenlemenize yardımcı olan Platform as a Service (PaaS) olarak sunulan bir bulut hizmetidir. Logic Apps, bulutta, şirket içinde veya her ikisinde de uygulama entegrasyonu, veri entegrasyonu, sistem entegrasyonu, kurumsal uygulama entegrasyonu ve işletmeler arası iletişim için ölçeklenebilir çözümler tasarlama ve oluşturma yöntemlerinizi basitleştirir.

Logic Apps Designer adlı grafik tasarım aracını kullanarak önceden oluşturulmuş componentler istenilen sırada düzenlenebilmektedir. Designer, iş akışının tanımını Logic Apps execution engine gönderir. Execution engine, doğru koşullar oluştuğunda uygulamayı çalıştırır ve bunu çalıştırmak için gerekli işlem kaynaklarını yönetir.

Logic Apps’in en temel amacı entegrasyondur. Ayrı hizmetleri entegre ederek bir iş akışı oluşturmayı sağlar. Önceden oluşturulmuş componentlerin çeşitliliği ve bunların birlikte çalışabilmesi en önemli özelliğidir. Componentler, yüzlerce farklı dış hizmete bağlanabilmeyi sağlar.

Microsoft, Azure Logic Apps ile kurumsal entegrasyon çözümleri oluşturmak için Azure Service Bus, Azure Functions, Azure Storage, SQL Server, Office 365, Dynamics, Salesforce, BizTalk, SAP, Oracle DB, Dynamics gibi hizmetleri içeren yüzlerce kullanıma hazır connectorler sunmaktadır. Connectorler, verilere gerçek zamanlı olarak güvenli bir şekilde erişip işleyen Logic Apps oluşturmak için trigger ve actionlar sağlar.

Terminology

Connector Nedir?

Connectorler, dış hizmetlere arabirim sağlayan birer componenttir. Connector dış hizmetin REST veya SOAP API ile çalışmaktadır. Logic Apps’te connector kullanıldığında bu connector hizmetin API’ını çağırmaktadır.

Önceden oluşturulmuş connectore sahip olmayan hizmetlere erişmek için custom connectorlerde oluşturulabilmektedir. Ancak erişilmek istenen hizmetin REST veya SOAP servisleri olması gerekmektedir.

Connectorler, ilgili trigger ve actionları içindde barındıran yapılardır. Aşağıda twitter connectorü ile bir connector yapısı örneklendirilmiştir.

Trigger ve Action Nedir?

Trigger; belirli koşullar sağlandırğında gerçekleşen olaydır. Trigger ile istenilen koşullar karşılandığında Logic Apps uygulaması otomatik etkinleştirilir. Bu nedenle uygulamanın ilk adımı bir trigger ile olmalıdır. Trigger’dan sonra iş akışını uygulamak için istenilen sayıda action eklenebilir. Action; iş sürecindeki bir taskı yürüten eylemdir. Trigger etkinleştirildiğinde veya başka bir eylem tamamlandığında çalıştırılır.

Trigger ve actionlar, temel API işlemlerine yapılan function çağrılarıdır. Bool ifadesi ile denetlenen boolean expressionlar, switch deyimleri, for each ve until döngüleri kullanarak control actionları oluşturulabilmektedir. Aynı zamanda Azure Function’da yazılan bir kodda Logic Apps’de çağrılabilmektedir.

Azure Logic Apps Seçerken Dikkat Edilmesi Gerekenler

Logic Apps, ayrı sitemlerdeki veri akışını koordine etmeye yardımcı olan bir bulut hizmetidir.

Gerçek zamanlı gereksinimlerin, karmaşık iş kurallarının veya standart olmayan hizmetlerin söz konusu olduğu durumlarda Logic Apps en iyi seçenek olmayabilir.

Karar Verme Ölçütleri

Logic Apps’i kullanmak için 4 farklı karar verme ölçütü göz önünde bulundurulmalıdır. Bunlar Entegrasyon, Performans, Koşullar ve Connectorlerdir.

  • Entegrasyon

    Logic Apps karar verme aşamasında şu sorunun cevabı önemlidir.

    “Hizmetleri entegre etmeye ihtiyacım var mı?”

    Logic Apps, birden çok uygulamayı ve sistemi bir arada çalıştırmaya ihtiyaç duyulduğunda faydalı olacaktır. Dış hizmetlerle bağlantısı olmayan bir uygulama için iyi bir seçenek olmayabilir.

  • Performans

    Logic Apps execution engine, uygulamaları otomatik olarak scale etmektedir. Büyük veri kümelerini paralel olarak işleyerek yüksek aktarım hızlarına ulaşmayı sağlayabilmektedir. Ancak bu uygulamalar süper hızlı entegrasyon garantisi vermez veya execution sırasında gerçek zamanlı kısıtlamalar uygulayabilmektedir. Bir saniyenin altında yanıt süresine ihtiyaç var ise Logic Apps kullanmak iyi bir seçenek olmayabilir.

  • Koşullar

    Logic Apps , uygulamanın verilerine göre karar vermesini sağlayan Boolean ifadeleri, switch deyimleri ve döngüler gibi denetim yapıları sunar. Logic Apps’de oldukça karmaşık ve iç içe geçmiş koşullar oluşturmak mümkündür ve oldukça basittir.

  • Connectors:

    Erişilmesi gereken tüm hizmetler için önceden oluşturulmuş connectorler olup olmadığına dikkat edilmelidir. Eğer o hizmete ait connector yok ise custom connector oluşturmak gerekmektedir. Erişilmek istenen hizmette API yoksa custom connector oluşturmadan önce hizmete ait API oluşturmak gerekir. Var ise birkaç saat içinde kod yazmadan custom connector oluşturmak mümkündür.

Doğru Trigger Seçimi

Bunlara ek olarak Logic Apps uygulamalarının başlaması için trigger yapıları ile tetiklenmelidir. Bunun için dört çeşit trigger tipi vardır.

Polling ve Push Trigger, data kategorisinde olup yeni verilerin kullanılabilir olup olmadığını algılamak için kullanılmaktadır.

  • Polling trigger, yeni verilerin olup olmadığını görmek için düzenli aralıklarla dış hizmeti denetler. Polling trigger mekanizmasını oluşturmak için sıklık ve aralık değerleri ayarlanır.

    Ancak burada verileri yalnızca poll anında denetlemektedir ve o andaki verileri kullanabilmektedir. Bu nedenle data kaybı olabilir. Logic Apps’in en iyi polling aralığı iş sürecine ve bu sürecin gecikme toleransına bağlıdır.

    Polling aralığı ne kadar kısa ise Logic Apps maaliyeti o kadar çok olur.

  • Push triggerise veriler kullanılabilir duruma geldiğinde hemen bildirilmesi için dış hizmet tarafından sunulan bir olaya abone olur. En iyi yanı, hiç veri yokken polling yaparak ücretlendirmeye neden olmaz. Ayrıca yeni veriler hazır olduğunda push trigger anında yanıt verir.
  • Polling trigger’a göre daha avantajlı görünen push trigger yerine polling triggerın tercih edilmesi her connector yada her dış hizmet push trigger ‘ı desteklememe gibi sebeplere göre değişebilmektedir.

Fiyatlandırma Modeli

Azure Direct müşterileri olarak da bilinen, kullandıkça öde aboneliği var ise Logic Apps için tek plan olacaktır. Dinamik fiyatlandırma planı, klasik uygulama hizmet planında olduğu gibi sabit bir aylık fiyat ödemek yerine yalnızca kullandığınız kaynaklar için ödeme yapmaya olanak tanır. Dinamik fiyatlandırma hizmet planındaki Logic Apps için yapılan her bir action için ödeme yapılır. Günlük ortalama çalıştırılan action sayısı 3100'den fazlaysa, dinamik planı seçmek daha pahalı lacağından klasik plana geçmek daha mantıklı olacaktır.

Summary

Uygulamaların birbirleri ile Logic Apps hizmeti kullanılarak entegre edilebilmesi için aşağıdaki durumlar göz önünde bulundurulmaldır.

  • Logic Apps, birden çok uygulamayı ve sistemi bir arada çalıştırmaya ihtiyaç duyulduğunda faydalı olacaktır. Dış hizmetlerle bağlantısı olmayan bir uygulama için Logic Apps’i kullanmak iyi bir seçenek olmayabilir.
  • Logic Apps, execution sırasında gerçek zamanlı kısıtlamalar uygulayabilmektedir. Bu nedenle eğer bir saniyenin altında yanıt süresine ihtiyaç var ise Logic Apps’i kullanmak iyi bir seçenek olmayabilir.
  • Uygulamaları entegre ederken hazırlanan iş akışları için basit iş kuralları var ise Logic Apps kullabilir.
  • Karmaşık iş kuralları hazırlanması gerekiyorsa ve bunların kullanılması isteniyorsa bu iş kurallarını Boolean ifadeleri, switch deyimleri ve döngüler gibi denetim yapıları ile hazırlamak mümkündür.
  • Logic Apps hizmetlerin REST/SOAP servislerini kullanarak işlemleri gerçekleştirdiğinden, entegre edilecek uygulamaların REST/SOAP servisleri var ise Logic Apps’i kullanmak iyi bir seçenek olacaktır.
  • REST/SOAP servislerinin olmaması durumunda eğer hizmetler için bu servisler yazılırsa yine Logic Apps kullanılabilir. Aksi takdirde Logic Apps hizmeti kullanılamayacaktır.
  • Entegre olacak tüm hizmletler için önceden oluşturulmuş connectorler olup olmadığına dikkat edilmelidir. Eğer o hizmete ait connector yok ise custom connectorler hazırlanmalıdır.

Entegre olacak tüm hizmletler için önceden oluşturulmuş connectorler olup olmadığına dikkat edilmelidir. Eğer o hizmete ait connector yok ise custom connectorler hazırlanmalıdır.

Nasıl yardımcı olabiliriz?