Ana içeriğe atla

AWS Step Functions’ta Ustalaşma: Başlangıçlar İçin Kapsamlı Bir Rehber

Bu makale, AWS Step Functions’ı, temel özelliklerini ve nasıl etkili kullanılabileceklerini tanıtan derinlemesine bir rehberdir.
Güncel 3 Eki 2026

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Her karmaşık sistem, birden çok alt sistemin orkestrasyonunun sonucudur. Böyle bir sistemi kurmak ve sürdürmek, özellikle bulut altyapılarıyla çalışırken yaygın bir zorluk olmaya devam eder.

Neyse ki, iş akışlarının orkestrasyonunu karmaşıklık düzeyi ne olursa olsun sadeleştirmek için çeşitli araçlar geliştirildi. Bu araçlar arasında AWS Step Functions kullanışlılığı ve sayısız faydasıyla öne çıkıyor.

Bu makale, AWS Bulutu içinde iş akışlarını orkestre etmek için Step Functions’ın nasıl kullanılacağına odaklanır. Step Functions’ın ne olduğunu, sağladığı faydaları ve temel özellikleri inceleyerek başlar.

Ardından, AWS ortamının kurulmasından arayüzü keşfetmeye kadar Step Function kullanmaya başlama adımlarında rehberlik eder. Bu temel üzerine inşa ederek, gerçek dünya iş akışını oluşturma ve dağıtma sürecini adım adım anlatır.

AWS Step Functions nedir?

AWS Step Functions, görsel iş akışları oluşturmayı kolaylaştırmak için tasarlanmış sunucusuz bir orkestrasyon hizmetidir; AWS Lambda işlevleri ve diğer AWS kaynaklarının sorunsuz bir şekilde koordine edilmesini sağlar.

Entegrasyon yetenekleri oldukça geniştir; örnek vermek gerekirse Amazon EC2, Amazon ECS, kurum içi sunucular, Amazon API Gateway ve Amazon SQS kuyruklarıyla bağlantıları destekler. Bu, iş akışlarının kapsamının geniş olmasını ve AWS hizmet ekosisteminin büyük bir bölümüyle etkileşim kurabilmesini sağlar.

AWS Step Functions’ın esnekliği onu çok geniş bir uygulama yelpazesi için uygun kılar. İster sipariş gerçekleşirme yönetimi, ister veri işleme, web uygulamalarını çalıştırma ya da karmaşık görev dizilerini orkestre etme olsun, Step Functions iş akış otomasyonu ve yönetimi için sağlam bir çözümdür.

Temel Özellikler ve Faydalar

AWS Step Functions’ın teknik ayrıntılarına dalmadan önce, başlıca özelliklerini ve faydalarını inceleyelim.

Temel özellikler

Step Functions, iş akışlarının oluşturulmasını ve yönetimini sadeleştirmek için çeşitli özellikler sunar; başlıcalararı aşağıda vurgulanmıştır:

  • HTTPS Uç Noktaları Entegrasyonu: Bu sayede iş akışları, HTTPS destekleyen herhangi bir web hizmetini çağırarak çeşitli web API’lerinin süreçlere entegre edilmesini kolaylaştırır.
  • Dağıtık Bileşen Koordinasyonu: Bu özellik, dağıtık sistemlerin bileşenlerinin koordine edilmesini mümkün kılar; bu da karmaşık, çok hizmetli uygulamalar için kritiktir.
  • Yerleşik Durum Yönetimi: Her iş akışı çalıştırmasının ilerlemesini dikkatle izleyerek, bu yetenek uygulamalarınızın durumunu yürütüleri süre boyunca korur ve adımlar arasında taşınan veriyi yönetir.
  • İnsan onayı: Otomasyon döngüsünde insanlar kritik öneme sahiptir. Bu özellik, gerektiğinde manuel onaylar için otomatik bir iş akışına insan müdahalesi ekleme mekanizması sunar.

Faydalar

AWS Step Functions’ın temel özellikleri, geliştiricilere ve kuruluşlara operasyonel ve geliştirme iş akışlarını iyileştirmek için birden fazla fayda sağlar.

Geliştiriciler için

Kuruluşlar için

  • Geliştiricilere, karmaşık iş akışlarını verimli şekilde tasarlamak için kullanıcı dostu, düşük kodlu bir platform sağlanır; bu da geliştirme sürecini önemli ölçüde sadeleştirir.
  • AWS Step Functions’ın ölçeklenebilirlik özelliği, geliştiricileri altyapı yönetimi yükünden kurtarır.
  • Yerleşik hata yönetimi ve durum yönetimi, uygulamaların genel güvenilirliğine ve sağlam olmasına katkı sağlar.
  • Step Functions’ın manuel müdahaleyi azaltma ve kaynak kullanımını optimize etme yeteneği, kayda değer maliyet tasarruflarına yol açabilir.
  • İş akışlarını hızla tasarlayıp çalıştırmak, geliştirme döngülerini kısaltabilir ve yeni özelliklerin ve ürünlerin daha hızlı yayınlanmasını sağlayabilir.
  • Otomatikleştirme ve hata yönetimi özellikleri, güvenilirliği artırır ve iş süreçlerinde insan hatasını azaltır.

Gerçek Dünya Örnekleri ve Vaka Çalışmaları

Yukarıdaki özellikler ve faydalar temel alındığında, Step Functions’ın farklı alanlarda kritik bir rol oynayabileceği; işletmelerin iş akışlarını tasarlamalarını, otomatikleşdirmelerini ve verimli bir şekilde ölçeklendirmelerini sağlayabileceği açıktır.

Bu bölüm, farklı sektörlerin rekabetçi, yenilikçi ve verimli olmak için AWS Step Functions’ı nasıl kullandığına ilişkin örnekleri keşfetmeye odaklanır.

Mikroservis Koordinasyonu

Mikroservislerden oluşan mimarilere sahip kurumlar, bu hizmetler arası etkileşimleri yönetmek için sıklıkla AWS Step Functions’tan yararlanır.

Örneğin bir perakende şirketi, kullanıcı kimlik doğrulaması, stok yönetimi, ödeme işleme ve sipariş gönderimi adımlarını orkestre etmek için Step Functions’ı kullanarak bütüncül bir alışveriş deneyimi sağlayabilir.

Güvenlik ve BT Operasyonları

AWS Step Functions, güvenlik kontrolleri, sistem güncellemeleri ve uyumluluk doğrulamaları gibi tekrarlayan görevleri otomatikleştirmek için kullanılabilir.

Örneğin BT güvenliğinde, Step Functions olay yanıt iş akışları tasarlamak için kullanılabilir; böylece ilk uyarıdan sorunun çözümüne kadar her aşamayı sistematik biçimde yöneterek insan hatasını ve yanıt sürelerini azaltır.

Veri İş Akışı ve ETL Süreçleri

Veri yoğun işletmeler için AWS Step Functions, veri işleme ve ETL görevlerini orkestre edebilir. Bu, birden fazla kaynaktan veri çıkarma, tutarlı bir formata dönüştürme ve analitik platformlara ya da veri göllerine yükleme iş akışlarını içerebilir.

Örneğin bir analitik şirketi, stratejik kararlar için verinin verimli biçimde işlenmesini sağlamak üzere veri hattını otomatikleştirmek için Step Functions’ı uygulayabilir.

Makine Öğrenimi Operasyonları

Step Functions, veri hazırlama, model eğitimi, değerlendirme ve dağıtım gibi makine öğreniminin operasyonel yönlerinde de faydalıdır.

Bir sağlık teknolojisi şirketi, teşhis algoritmalarının periyodik olarak yeniden eğitilmesine yönelik boru hattını yönetmek için Step Functions’ı kullanarak yeni veriler geldikçe modellerinin performansını koruyabilir.

Medya İşleme Boru Hatları

Medya ve eğlence alanında AWS Step Functions, video kodlama, görüntü işleme ve içerik analizi dâhil karmaşık medya işleme iş akışlarını orkestre etmek için kullanılabilir.

Bir medya şirketi, yeni içerik yüklendiğinde yayınlanmadan önce otomatik olarak biçim dönüştürme, küçük resim çıkarma ve meta veri zenginleştirme süreçlerini tetiklemek için Step Functions’ı uygulayabilir.

AWS Step Functions ile Başlangıç

Bu makalenin ilerleyen bölümlerinde Step Functions’ın diğer AWS hizmetleriyle kombinasyonu ele alınacaktır. Bu nedenle ileri düzey kavramlara geçmeden önce Step Functions’ın temellerini anlamak gereklidir.

Bu bölümün amacı, yapı taşlarını anlamaktan AWS Step Functions arayüzünde gezinmeye kadar AWS Step Functions ile başlamanıza yardımcı olmaktır.

Step Functions’ın Yapı Taşları

Her sistem veya modül, birden çok alt bileşenden oluşur; Step Functions da böyledir. Step Functions aşağıdaki bloklara dayanır: (1) durum makineleri ve (2) görevler.

Bu kavramları bir örnek üzerinden anlayalım.

  • Durum Makineleri (State Machines): Olaylar dizisini, koşullu mantığı ve görevlerin genel yürütülme akışını tanımlayan iş akışı. Özetle, bir durum makinesi bir iş akışı olarak tanımlanabilir.
  • Görevler (Tasks): Belirli bir işlemi gerçekleştiren eylem. Bir girdi alır ve bir çıktı üretir. örneğin bir veritabanı sorgulamak, bir API çağrısı yapmak veya bir Lambda işlevini çağırmak gibi.

AWS Step Functions kullanarak bir kreş kayıt süreci yürüten bir kullanım senaryosu düşünün. Step Functions’tan yararlanma sürecine dalmadan önce, genel adımları anlayalım:

  • Kayıt Bilgilerini Toplama: sürecin ilk adımı ebeveynlerden kayıt bilgilerinin toplanmasıdır. Bu bir web formu aracılığıyla yapılabilir; bizim senaryomuzda JSON kullanıyoruz. Gönderildiğinde bir Lambda işlevi tetiklenir ve bu işlev kayıt bilgilerini iş akışındaki bir sonraki adıma aktarır.
  • Kayıt Bilgilerini Doğrulama: Sonraki adım, kayıt bilgilerini doğrulayan bir Lambda işlevi kullanmaktır. Tüm zorunlu alanların doldurulduğunu ve çocuğun yaşının kreş için kabul edilebilir aralıkta olduğunu kontrol eder. Doğrulama başarılıysa iş akışı bir sonraki adıma ilerler; değilse ebeveynlere bir hata iletisi dönülür.
  • Uygunluk Kontrolü: Kayıt bilgileri doğrulandıktan sonra başka bir Lambda işlevi kreşte boş yer olup olmadığını kontrol eder. Yer varsa iş akışı bir sonraki adıma ilerler; yoksa kreşte yer olmadığı ebeveynlere bildirilir.
  • Kaydı Onaylama: Son adım, kaydı onaylayan ve ebeveynlere onay mesajı gönderen bir Lambda işlevdir. Bu, başlangıç tarihi ve ücretler gibi ayrıntıları içerir.

Bu iş akışı, tamamı açıklayıcı olan dört ana göreve sahip bir Durum Makinesine sahiptir.

  • checkInformation
  • checkAgeRange
  • checkSpotsAvailability
  • confirmRegistration

AWS Step functions kullanılarak Kreş Kayıt iş akışı.

AWS Step functions kullanılarak Kreş Kayıt iş akışı

İlk AWS Step Function’ızı Oluşturma

Yukarıdaki bölümler daha teorik bilgi sağladı; bu bölüm ise önkoşullardan başlayarak uçtan uca bir iş akışı uygulamaya ve dağıtmaya kadar teknik ayrıntılara iner.

Step Functions’ı Uygulama Önkoşulları

Kullanım senaryosunun ayrıntılarına dalmadan önce, başarılı bir uygulama için gereken önkoşulları gözden geçirelim:

  • AWS hesabı: AWS hizmetlerine erişmek için gereklidir ve AWS web sitesinden oluşturulabilir.
  • AWS Hizmetleri temel bilgisi: Bu kullanım senaryosunun kapsamı için AWS Lambda ve Amazon Simple Notification Service (SNS) ile aşinalık gereklidir.
  • JSON Bilgisi: Girdi ve çıktı veri biçimini anlamak için JSON’a dair temel bir anlayış gerekir.
  • AWS IAM: Kullanılan Lambda işlevleri için doğru izinleri ayarlamak adına AWS Kimlik ve Erişim Yönetimi (IAM) hakkında bilgi gereklidir.
  • Kodlama Becerileri: Lambda işlevlerini yazmak için Python’da temel kodlama becerileri gereklidir.

AWS Step Functions Arayüzünde Gezinme

Step Function arayüzünü keşfederek başlayalım. AWS hesabınıza giriş yaptıktan sonra aşağıdaki dört adımı izleyerek bunu yapabiliriz:

  • Üstteki arama çubuğuna “Step Functions” anahtar sözcüğünü yazın.
  • Sonuçlardan ilgili simgeyı seçin.
  • İlk step function’ı oluşturmaya başlamak için “Get Started” simgesine tıklayın.
  • Son olarak, kendi durum makinemizi oluşturmak istediğimizden “Create your own” sekmesini seçin.

Bir Step Function arayüzüne erişmenin dört ana adımı

Bir Step Function arayüzüne erişmenin dört ana adımı

Dördüncü adımdan sonra, üç ana işlevsellik içeren “Design” sekmesinin yardımıyla durum makinesini tasarlamaya başlayabiliriz: “Actions”, “Flow” ve “Patterns.”

"Design" sekmesinin üç ana bileşeni

  • Actions: Bunlar, bir iş akışı içinde gerçekleştirilebilecek tekil işlemlere karşılık gelir ve belirli AWS hizmetleriyle eşleştirilidir; örneğin bir Lambda işlevini çağırmak, SNS’e ileti yayınlamak, ECS’de bir görev çalıştırmak veya AWS Glue’da bir işi başlatmak gibi.
  • Flow: Bu, durum makinesinin yürütme yolunu belirleyen kontrol akışı yapılarını temsil eder. Dallanma mantığı için "Choice", eş zamanlı yürütme yolları için "Parallel", bir kümede yineleme için "Map", işlem yapmayan veya durum verisini zenginleştiren "Pass", zaman gecikmeleri için "Wait", iş akışını başarıyla sonlandıran "Success" ve bir hatadan dolayı sonlandıran "Fail" gibi öğeler iş akışın akış denetiminin parçasıdır.
  • Patterns: Bunlar, sık görülen iş akışı senaryoları için ön tanımlı şablonlar veya en iyi uygulamalardır; karmaşık durum makinelerini kurmayı kolaylaştırır. Şablonlar, S3 nesneleri, JSON dosyaları, CSV dosyalarıyla çalışmayı içeren veri işleme görevlerini ya da asenkron iş yürütmeyi orkestre etmek için bir iş yoklayıcısı (job Poller) gibi genel amaçlı kalıpları içerebilir.

İş Akışını Oluşturma

İlk iş akışı, durum makinesinin ana bileşenlerine genel bir bakış sağlamayı amaçlıyordu. Bu bölüm, uygulama sürecini gözden geçirir.

Bunu yapmak için her biri belirli bir göreve karşılık gelen dört lambda işlevine ihtiyaç vardır.

Aşağıdaki yedi adım, bir lambda işlevi oluşturmak için gerek duyulan tüm adımları vurgular. Oluşturma süreci dördü için de aynıdır; tek fark bu işlevlerin içeriğindedir.

Makalenin tüm kodu GitHub sayfasında mevcuttur. Kod anlaşılması kolay olsa da daha iyi bir deneyim için makalenin tüm içeriğini takip etmeniz şiddetle önerilir.

Bir Lambda İşlevi oluşturmanın 7 ana adımı

Bir Lambda İşlevi oluşturmanın 7 ana adımı

Yedi adım tamamlandıktan sonra, aşağıdaki pencere görünmelidir ve şu gibi önemli bilgileri gösterir:

checkInformation lambda işlevinin ayrıntıları

checkInformation lambda işlevinin ayrıntıları

Şimdi aynı süreci kalan üç görev (işlev) için tekrarlayın: checkAgeRange, checkSpotsAvailability ve confirmRegistration.

Girdi JSON’unun bir örneği aşağıda verilmiştir. İşlevlerin nasıl uygulandığını etkilediğinden bunu anlamak önemlidir.

  • JSON, kaydı yapılan çocuğa ilişkin ad, soyad ve doğum tarihi dahil bilgileri içerir.
  • Ayrıca ebeveynlere ilişkin ayrıntıları, çocuğun kreşe geleceği haftanın günlerini ve diğer ek bilgileri içerir.
{ 
  "registration_info": { 
	"child": { 
  	"firstName": "Mohamed", 
  	"lastName": "Diallo", 
  	"dateOfBirth": "2016-07-01" 
	}, 
	"parents": { 
  	"mother": { 
    	"firstName": "Aicha", 
    	"lastName": "Cisse", 
    	"email": "aicha.cisse@example.com", 
    	"phone": "123-456-7890" 
  	}, 
  	"father": { 
    	"firstName": "Ibrahim", 
    	"lastName": "Diallo", 
    	"email": "ibrahim.diallo@example.com", 
    	"phone": "098-765-4321" 
  	} 
	}, 
	"daysOfWeek": [ 
  	"Monday", 
  	"Tuesday", 
  	"Wednesday", 
  	"Thursday", 
  	"Friday" 
	], 
	"specialInstructions": "Mohamed has a peanut allergy." 
  } 
} 

Her lambda işlevi aşağıda açıklanır:

İşlev

Açıklama

checkInformation

  • Olaydan kayıt bilgilerini çıkarır
  • Zorunlu alanların tümünün mevcut olup olmadığını kontrol eder
  • Tüm kontroller geçerse başarı yanıtı döner; bir zorunlu alan eksikse hata iletisi döner

checkAgeRange

  • Olaydan çocuğun doğum tarihini çıkarır ve yaşını hesaplar
  • Çocuğun yaşının kreş için kabul edilebilir aralıkta olup olmadığını kontrol eder
  • Yaş kontrolü geçerse başarı yanıtı, değilse kabul edilebilir yaş aralığında olmadığına dair hata iletisi döner

checkSpotsAvailability

  • Kreşte boş yer olup olmadığını kontrol eder
  • Yer varsa başarı yanıtı, kreş doluysa hata iletisi döner

confirmRegistration

  • Çocuğun yaş aralığına ve başlangıç tarihine (kayıt tarihinden iki hafta sonrası) göre ücretleri belirler
  • Kaydı onaylar ve ebeveynlere bir onay mesajı gönderir
  • Onay mesajı ile birlikte başarı yanıtı döner

Her işlevin temel uygulaması aşağıda sağlanmıştır:

checkInformation işlevi

 import json 
  
 def checkInformation(event, context): 
	 registration_info = event['registration_info'] 
  
	 required_fields = ['child', 'parents', 'daysOfWeek'] 
	 for field in required_fields: 
    	if field not in registration_info: 
        	return { 
            	'statusCode': 400, 
            	'body': f'Missing required field: {field}' 
        	} 

	 return { 
    	'statusCode': 200, 
    	'body': json.dumps(registration_info) 
	 } 

checkAgeRange işlevi

 import json 
 import datetime 
  
 def checkAgeRange(event, context): 
	
	registration_info = json.loads(event['body']) 
  
	dob = registration_info['child']['dateOfBirth'] 
  
	today = datetime.date.today() 
	dob_date = datetime.datetime.strptime(dob, '%Y-%m-%d').date() 
	age = today.year - dob_date.year - ((today.month, today.day) < (dob_date.month, dob_date.day)) 
  
	if age < 2 or age > 5: 
    	return { 
        	'statusCode': 400, 
        	'body': json.dumps('Child is not within the acceptable age range for this daycare.') 
    	} 
  

	registration_info['child']['age'] = age 
  
	return { 
    	'statusCode': 200, 
    	'body': json.dumps(registration_info) 
	} 

checkSpotsAvailability işlevi

import json 
  
def checkSpotsAvailability(event, context): 
 
	registration_info = json.loads(event['body']) 
  
	spots_available = 20  # This should be dynamically determined, not hardcoded 
  
	if spots_available <= 0: 
    	return { 
        	'statusCode': 400, 
        	'body': json.dumps('No spots available in the daycare.') 
    	} 
  
	return { 
    	'statusCode': 200, 
    	'body': json.dumps(registration_info) 
	} 

confirmRegistration işlevi

import json 
import datetime 
  
def confirmRegistration(event, context): 
	
	registration_info = json.loads(event['body']) 
	age = registration_info['child']['age']  # This was added in the checkAgeRange function 
  
	if age >= 2 and age < 3: 
    	fees = 800 
	elif age >= 3 and age < 4: 
    	fees = 750 
	elif age >= 4 and age < 5: 
    	fees = 700 
	else:  # age >= 5 
    	fees = 650 
  
	start_date = datetime.date.today() + datetime.timedelta(weeks=2) 
  
	confirmation_details = { 
    	'fees': fees, 
    	'start_date': start_date.isoformat() 
	} 
  
	response = {**registration_info, **confirmation_details} 
  
	return { 
    	'statusCode': 200, 
    	'body': json.dumps(response) 
	} 

Tüm bunlar hazır olduğunda, Step Functions grafiksel arayüzünü kullanarak kreş durum makinemizi oluşturmaya başlayabiliriz.

Nihai durum makinesi aşağıda verilmiştir; bu iş akışına giden başlıca adımları anlayalım:

Kreş kullanım senaryosu için durum makinesi iş akışı

Kreş kullanım senaryosu için durum makinesi iş akışı

Başlamadan önce, bir lambda işlevi çıktısındaki statusCode alanının durum makinesinde bir sonraki durumu belirlemek için kullanıldığını not etmek önemlidir.

  • Değer 200 ise kontrol başarılı olmuştur ve bir sonraki adıma geçilir.
  • statusCode 400 ise kontrol başarısızdır; bu durumda alttaki görevi yürüten işleve bağlı olarak ilgili iletisi dönülür.

Bilgileri Kontrol Etme

  • Durum makinesi bu adımda başlar.
  • Kayıt formunda tüm zorunlu bilgilerin mevcut olup olmadığını kontrol etmek için bir lambda işlevi çağırılır.
  • Bilgiler tam ise süreç bir sonraki adıma geçer; değilse bilgiler eksik olduğunu bildiren bir hata durumuyla sonlanır.

Yaş Aralığını Kontrol Etme

  • Bu adıma yalnızca bilgi kontrolü başarılıysa gelinir.
  • Çocuğun yaşının kreş için kabul edilebilir aralıkta olup olmadığını kontrol etmek için başka bir lambda işlevi çağırılır.
  • Yaş aralık içindeyse süreç bir sonraki adıma geçer; değilse yaşın geçersiz olduğunu bildiren hata durumuyla sonlanır.

Boş Yer Uygunluğunu Kontrol Etme

  • Bu adıma yalnızca yaş kontrolü başarılıysa gelinir.
  • Kreşte boş yer olup olmadığını kontrol etmek için bir lambda işlevi çağırılır.
  • Yer varsa süreç bir sonraki adıma geçer; yoksa boş yer olmadığını bildiren hata durumuyla sonlanır.

Kaydı Onaylama

  • Bu, son adımdır ve yalnızca kreşte boş yer varsa ulaşılır.
  • Kaydı onaylamak ve çocuğun yaşına göre ücretleri hesaplamak için bir Lambda işlevi çağırılır.
  • Süreç bu adımdan sonra, kaydı doğrulayan bir başarı durumuyla biter.

Lambda işlevleri hakkında daha fazla bilgi edinmek için, AWS Kinesis ve Lambda ile Akış Verisi kursu, AWS üzerinde sunucusuz teknolojiler kullanarak akış verisiyle nasıl çalışılacağını öğretir.

IAM Rollerini Oluşturma

Sonraki adım, step functions’ın lambda işlevlerimizi çağırabilmesi için IAM rollerini tanımlamaktır. Bu, aşağıdaki adımlar izlenerek yapılır:

Bir IAM rolü oluşturmanın ilk 9 adımı

Bir IAM rolü oluşturmanın ilk dokuz adımı

Bir IAM rolü oluşturmanın 11. adımı

Bir IAM rolü oluşturmanın 10. ve 11. adımları

Bu IAM rolü, “Config” sekmesinden başlanarak aşağıdaki gibi durum makinesine atanabilir.

IAM rolüne yetki vermenin 3 ana adımı

IAM rolüne yetki vermenin 3 ana adımı

Kaydettikten sonra her şeyin yolunda gidip gitmediğini görmek için aşağıdaki mesajı almalıyız.

Durum makinesi oluşturma için başarı mesajı

Durum makinesi oluşturma için başarı mesajı

Durum makinesinden memnun kaldığımızda, bir sonraki adım sağ üstte bulunan “Create” düğmesini kullanarak onu oluşturmaktır.

Durum makinesi yürütmesinin görseli

Durum makinesi yürütmesinin görseli

İş Akışınızı Dağıtma ve Test Etme

İş akışımız dağıtıldı ve artık durum makinesini test etme zamanı. İki senaryoyu test edeceğiz:

  • Geçerli yaş aralığıyla bir başarısızlık durumu; bu durumda kaydetmeye çalıştığımız çocuk 5 yaşından büyüktür. Bu, başlangıç JSON’una karşılık gelir.
  • Çocuğun 3 yaşında olduğu bir başarı durumu.

Başarı durumunun sonucu

Başarı durumunun sonucu

Başarısızlık durumunun sonucu

Başarısızlık durumunun sonucu

Step Functions’ızı Optimize Etme

Herhangi bir sürecin optimizasyonu, o sürece ilişkin en iyi uygulamaları benimsemekle başlar; bu da performans iyileşmesine ve maliyet etkinliğine yol açabilir. Aşağıdaki en iyi uygulamalar, herhangi bir AWS Step Function’dan en iyi şekilde yararlanmanıza yardımcı olabilir.

  • Performans İçin En İyi Uygulamalar: Durum geçişlerinin sayısını en aza indirmek, uygun zaman aşımı ayarları kullanmak ve AWS Lambda işlevlerinizi optimize etmek gibi stratejileri içerir.
  • Maliyet Etkinliği İçin En İyi Uygulamalar: Doğru türde durum makinesi (Standard veya Express) kullanmak, AWS Lambda maliyetlerini yönetmek ve Step Functions fiyatlandırmasını anlamak ve yönetmek gibi stratejileri içerir.

Sonuç

Bu makale, AWS Step Functions’ı anlamak ve kullanmak için kapsamla bir rehber sundu. Önce AWS Step Functions’ı, temel özelliklerini ve faydalarını tanıttı.

Ardından, okuyucuyu AWS ortamını kurma ve AWS Step Functions arayüzünde gezinme sürecinde yönlendirdi.

Ayrıca, temel bir iş akışı oluşturmaktan onu dağıtma ve test etmeye kadar ilk AWS Step Function’ının nasıl inşa edileceğini adım adım anlattı. Makale, AWS Step Functions’ın ileri düzey özellikleri ve kullanım senaryolarını da keşfetti; maksimum verimlilik ve maliyet etkinliği için nasıl optimize edileceklerini tartıştı.

Toparlayalım

AWS, Azure ve GCP Hizmet Karşılaştırması (Veri Bilimi & YZ) ve Python’da AWS Boto’ya Giriş başlıklı yazılarımız, öğrenmeye devam etmek için harika birer sonraki adım olabilir.

İlk yazı, veri mühendisliğinden veri analizi ve veri bilimine, veri uygulamaları oluşturmaya kadar veri ve YZ ile ilgili çalışmalar için gereken temel hizmetlerin bir karşılaştırmasını sunar. Bu el kılavuzu, üç büyük platform genelinde veri bilimi ve YZ için bulut hizmetleri manzarasını anlamaya yardımcı olabilir.

İkinci yazı, AWS işlemlerinizi Python kullanarak otomatikleştirmek isteyen herkes için harika bir kaynak olabilecek, AWS Boto’ya kolay bir giriş sağlar ve bulut teknolojisinden yararlanarak veri iş akışını nasıl optimize edeceğinizi öğretir.

AWS’de birçok hizmet vardır ve AWS Step Functions’a hâkim olmanın anahtarı, uygulamanın gereksinimlerini anlamak ve bu gereksinimleri karşılamak için doğru AWS hizmetleri ve özellikleri kombinasyonunu kullanmaktır.


Zoumana Keita 's photo
Author
Zoumana Keita
LinkedIn
Twitter

Bilgisini paylaşmaktan ve başkalarına katkı sunmaktan keyif alan, çok yönlü bir veri bilimci olan Zoumana, YouTube’da içerik üretiyor ve Medium’da önde gelen teknoloji yazarları arasında yer alıyor. Konuşmaktan, kod yazmaktan ve öğretmekten büyük zevk alıyor. Zoumana’nın iki yüksek lisans derecesi bulunuyor: İlki Fransa, Paris’te Makine Öğrenmesi odaklı Bilgisayar Bilimleri; ikincisi ise ABD’de Texas Tech University’den Veri Bilimi. Kariyerine Fransa’da Groupe OPEN’da Yazılım Geliştirici olarak başladı; ardından IBM’de Makine Öğrenmesi Danışmanı olarak çalıştı ve sigorta şirketleri için uçtan uca yapay zeka çözümleri geliştirdi. Paris ve Montreal merkezli ilk Sürdürülebilir YZ girişimi olan Axionable’a katıldı. Burada Veri Bilimci olarak görev yaptı ve çoğunlukla NLP kullanım örnekleri olmak üzere, Fransa, Montreal, Singapur ve İsviçre’den müşteriler için YZ ürünleri hayata geçirdi. Ayrıca zamanının %5’ini Araştırma ve Geliştirme’ye ayırdı. Hâlihazırda IFC – Dünya Bankası Grubu’nda Kıdemli Veri Bilimci olarak çalışmaktadır.

Konular
AWS
Veri Mühendisliği

AWS Yolculuğunuza Bugün Devam Edin!

Kurs

AWS Kavramları

2 sa
53.5K
Amazon Web Services (AWS) dünyasını keşfedin ve neden bulut bilişimin öncüsü olduğunu anlayın.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör