İş akışı nedir?
İş akışı, insanların işleri baştan sona nasıl yaptıklarını açıklar. İş akışı, bir süreçteki adımlardan ve durumlardan oluşur. İş akışları, bir kontrol listesindeki adımlar dizisi veya bu adımları görselleştiren bir diyagram olarak görünebilir.
Aşağıda basit bir destek iş akışı örneği verilmiştir:
- Carl adında bir müşteri, bir destek talebi başlatır.
- Açılan dosya, bir Destek Temsilcisi olan Sasha'ya atanır.
- Sasha atanan dosyayı alır ve Carl'dan bilgi ister. Yanıtı beklerken, dosyanın durumu beklemede olarak görünür.
- Carl istenen bilgileri verdikten sonra Sasha bir çözümle yanıt verir ve ardından dosyanın durumunu çözüldü şekilde günceller.
- Carl, destek talebi hakkında geri bildirim sağlayabileceği bir anket bağlantısıyla birlikte yanıtı alır. Sasha'nın hızlı yanıtından memnun kalır ve ankette yüksek puan verir. Dosyanın durumu kapalı olarak güncellenir.
Bu iş akışında, adımlar "başlat", "ata", "çözümle" ve "kapat" şeklindedir. Durumlar ise "açık", "atandı", "beklemede", "çözüldü" ve "kapalı" şeklindedir. Adımlar, iş akışı tamamlanana kadar işlemi bir yol boyunca durumdan duruma taşır.
İş akışlarını kullanmanın avantajları nelerdir?
İş akışları; başlatabileceğiniz, zamanlayabileceğiniz ve izleyebileceğiniz bir dizi tekrarlanabilir adım ve görev sağlar.
İş akışlarını gözlem için görselleştirebilir, iş akışının doğruluğunu onaylayabilir ve iş akışındaki işlemleri izleyebilirsiniz.
İşletmeler, iş akışları sayesinde kodlarına ek karmaşıklık eklemeden dağıtılmış uygulamalar için geliştirilmiş güvenilirlik seviyeleri elde edebilirler. İş akışlarını ayrıntılı düzeyde otomatikleştirebilir, optimize edebilir ve ölçeklendirebilirsiniz.
İş akışları uygulama mimarisine ne katar?
İş akışları, işinizin adım adım mantığının kontrol akışı ile benzersiz iş mantığınızı içeren gerçek iş birimleri arasında mantıksal bir ayrım sağlar. Bu ayrım sayesinde, uygulamanızın durum makinelerini temel iş mantığından ayrı olarak yönetebilir, sürdürebilir ve ölçeklendirebilirsiniz.
İşletmenizin ihtiyaçları değiştikçe altyapı, görev gönderme adımları ve akış denetiminde değişiklik yapmadan uygulama mantığını kolayca değiştirebilirsiniz.
İş akışı hizmetleri, uygulama mimarisini nasıl geliştirir?
Güvenilirlik
Durum izleme ve görev işlemenin ayrılması, bulut tabanlı bir mimariye güvenilirlik kazandırır. İş akışı hizmetlerini kullanarak, görevleri uygulama bileşenlerine gönderebilir, ilerlemelerini takip edebilir ve sistemin en son durumunu öğrenebilirsiniz.
Basitlik
İş akışları, özel kodlanmış yerli çözümlerin ve süreç otomasyon kodunun karmaşıklığının yerini alır.
İşleme adımlarını yöneten görevler uzun süre devam edebilir ve başarısız olabilir, zaman aşımına uğrayabilir veya yeniden başlatma gerektirebilir. Genellikle değişen verim ve gecikmelerle tamamlanırlar. Tüm bu durumlarda, görevleri izlemek ve görselleştirmek yalnızca zor değil, aynı zamanda farklılaşmamış bir iştir.
Geliştiriciler, iş akışı hizmetleri sayesinde süreç otomasyonunun altyapı tesisatını yönetmekten kaçınabilir. Sonuç olarak, enerjilerini uygulamalarının benzersiz işlevselliğine ayırabilirler.
Ölçeklenebilirlik
İş akışı hizmetleri, uygulamanızın kullanımıyla sorunsuz bir şekilde ölçeklenecek şekilde tasarlanmıştır. Uygulamanıza yeni iş akışları ekledikçe veya iş akışlarının karmaşıklığını artırdıkça iş akışı hizmetinin yönetimini otomatikleştirebilirsiniz.
Esneklik
Geliştiriciler, çeşitli programlama dillerinde uygulama bileşenleri ve koordinasyon mantığı oluşturmak için iş akışı hizmetlerini kullanabilir. Geliştiriciler daha sonra farklılaştırılmış uygulama mantığına odaklanabilir.
Bazı yaygın iş akışı kullanım örnekleri nelerdir?
İş akışları, bir dizi adıma bölünebilen herhangi bir hesaplama sorununa veya iş sürecine yardımcı olabilir. İş akışları, karşılıklı bağımlılıklara sahip işleri yönetmeyi basitleştirir. Yaygın kullanım durumları şunları içerir:
- Uygulama düzenleme: Olayların iletişimi yoluyla her biri kendi sürecinde çalışan ve bağımsız olarak dağıtılan gevşek bağlı mikro hizmetleri koordine edin. Eş zamansız insan onayı adımı ile bir web uygulaması oluşturmak için sunucusuz işlevleri birleştirin. Daha fazla kullanım örneği için AWS Step Functions Geliştirici Kılavuzu'ndaki Mikro hizmet düzenleme bölümüne bakın.
- Veri işleme: Birden çok veri kümesinden elde edilen verileri birleştirilmiş raporlarda bir araya toplayın, büyük veri kümelerini kullanışlı formatlara dönüştürün ve azaltın ya da çok adımlı analiz ve makine öğrenimi iş akışlarını koordine edin. Daha fazla kullanım örneği için AWS Step Functions Geliştirici Kılavuzu'ndaki Veri işleme bölümüne bakın.
- DevOps ve BT otomasyonu: Sürekli entegrasyon ve dağıtım için araçlar geliştirin veya altyapıda meydana gelen değişikliklere otomatik olarak yanıt veren olay odaklı uygulamalar oluşturun. Daha fazla kullanım örneği için AWS Step Functions Geliştirici Kılavuzu'ndaki BT ve güvenlik otomasyonu bölümüne bakın.
- E-ticaret: Siparişleri tamamlama ve envanter takibi gibi görev açısından kritik iş süreçlerini otomatikleştirin.
- Web uygulamaları: Denetim ve gelişmiş güvenlik adımlarını isteğe bağlı olarak entegre ederek sağlam kullanıcı kayıt süreçleri ve kimlik doğrulaması uygulayın.
- Makine öğrenimi: Bir makine öğrenimi modeli oluşturmak, eğitmek ve dağıtmak için ayıklama, dönüştürme ve yükleme (ETL) işleri çalıştırın. Örneğin, bir video akışındaki nesneleri algılamak, sınırlayıcı kutular eklemek veya veri kataloglama için görsel ve meta veri bilgileri sağlamak için görüntü verilerini toplamak ve işlemek. Daha fazla kullanım örneği için AWS Step Functions Geliştirici Kılavuzu'ndaki Makine öğrenimi bölümüne bakın.
- Güvenlik otomasyonu: İş kurallarına bağlı olarak denetim ve bildirim adımlarını başlatan özelleştirilmiş iş akışlarıyla, yönetilen kaynak olayları tarafından başlatılan planlanmış analiz veya güvenlik olayı yanıtı.
- Medya işleme: PDF belgelerinden veya görüntülerden işlemek üzere veri ayıklayın. Büyük paralelleştirme kullanarak videoyu bölün ve dönüştürün. Daha fazla kullanım örneği için AWS Step Functions Kullanım Örnekleri'nde Medya İşleme bölümüne bakın.
Bir iş akışını nasıl oluşturursunuz?
Geliştiriciler başlangıçta özel kodlanmış çözümler ve süreç otomasyon kodları oluşturabilir. Bu çözümler basit şekilde başlar ancak zaman ve gelişme ile karmaşık ve hataya yatkın hale gelme eğilimindedir. İş mantığını güncellemek için gereken çaba artar ve değişim oranı zamanla yavaşlar.
İş akışına özgü kitaplıkları benimseyerek yerel çözümlerin bazı karmaşıklıklarını azaltabilirsiniz. Bununla birlikte, bu araçları yapılandırmak sürece yeni karmaşıklıklar ekleyebilir. İş akışı adımlarını ve durumlarını görselleştirmek hâlâ zor olabilir.
İş akışlarının gelişmiş şekilde oluşturulması ve izlenmesi, iş akışı durumlarını ve adımlarını düzenlemek için görsel araçlar gerektirir. Bu araçlarda, kuralları yönetmek ve güncellemek için iş mantığından yararlanılır. Grafik araçlarını kullanmak, geliştirici üretkenliğini ve iş akışı görünürlüğünü artırabilir ve hata potansiyelini azaltabilir.
Görsel iş akışı tasarımcısı Workflow Studio'yu kullanarak uygulamalı bir eğitim almak için AWS Geliştirici Merkezi'nde Nasıl sunucusuz iş akışı oluşturabilirim? bölümüne bakın.
Yaygın iş akışı modelleri nelerdir?
İş akışlarını kullanarak, etkileşimlerin çalışmasını sağlamak için yazılım yazmak yerine bileşen etkileşimlerini tanımlamaya odaklanabilirsiniz.
İş akışları hem mikro hizmetleri hem de kapsayıcıları düzenleyebilir. İş akışları için yaygın kalıplar arasında mikro hizmet zincirleme, eş zamansız veya eş zamanlı yanıtlar, insan etkileşimleri, container düzenleme ve koreografi, dallara ayırma ve hata işleme bulunur.
AWS hangi iş akışı hizmetlerini sağlar?
AWS Step Functions, AWS hizmetlerini düzenlemeye, iş süreçlerini otomatikleştirmeye ve sunucusuz uygulamalar oluşturmaya yarayan düşük kodlu bir görsel iş akışı hizmetidir. Step Functions; Workflow Studio, sürükle-bırak arabirim ve düşük kodlu görsel iş akışı tasarımcısı içerir. Bu araç, durum makinelerini tanımlamak için kullanılan JSON tabanlı, yapılandırılmış bir dil olan Amazon States Language'da işlev ve yapılandırmanızı otomatik olarak oluşturur. Amazon States Language'ı Step Functions konsolunda kullanabilir veya dışa aktarıp düzenleyebilirsiniz.
Apache Airflow için Amazon Yönetilen İş Akışları (Amazon MWAA), aynı açık kaynaklı Apache Airflow deneyimini tam olarak yönetilen bir hizmet olarak sağlar. Mevcut şirket içi çözümlerinizi buluta taşımak için Amazon MWAA'yı kullanarak operasyonel maliyetleri azaltın ve uygun ölçekte dağıtım yapın. Geliştiriciler, diğer AWS hizmetleriyle entegre olurken, görevler için bağımlılıklar bildirerek Python'da yönlendirilmiş döngüsel olmayan grafik (DAG) modelleri yazmaya devam edebilir.
Görsel iş akışlarını kullanarak uygulama bileşenlerini koordine etmek için daha üretken ve çevik bir yaklaşım sağladığından, tüm yeni uygulamalar için AWS Step Functions'ı kullanmanızı öneririz. Hem Step Functions Workflow Studio hem de Amazon States Language'ın kullanıldığı uygulamalı bir eğitim için AWS Yazılım Geliştirme Merkezi'ndeki Nasıl sunucusuz bir iş akışı oluşturabilirim? kısmına göz atın.
AWS'de iş akışı için sonraki adımlar
200'den fazla AWS hizmeti ve 9.000 API eylemiyle iş akışları oluşturun
AWS Management Console'da API Gateway ile oluşturmaya başlayın.