AWS ile Tam Yığın Sunucusuz Stok Yönetim Sistemi
Bu makalede, AWS Lambda, API Gateway, DynamoDB ve React kullanarak tam yığın bir sunucusuz stok yönetim sistemi nasıl oluşturulacağını detaylı bir şekilde açıklayacağım. Öncelikle, neden sunucusuz mimariyi tercih etmeliyiz? Sunucusuz mimari, maliyetleri düşürür, ölçeklenebilirliği artırır ve geliştirme sürecini hızlandırır. Bu sayede, daha az zaman harcayarak daha fazla iş üretebiliriz. Başka bir deyişle, bu sistem size büyük bir esneklik kazandırır.
Mimari Tasarım
Sistemimiz dört temel bileşenden oluşuyor:
- React Frontend: Kullanıcı arayüzünü sağlar ve API Gateway ile iletişim kurar.
- API Gateway: API isteklerini yönetir ve Lambda fonksiyonlarını tetikler.
- AWS Lambda: Stok yönetimi işlemlerini gerçekleştiren sunucusuz fonksiyonları barındırır. Bu fonksiyonlar, stok ekleme, güncelleme, silme ve listeleme gibi işlemleri DynamoDB ile etkileşim kurarak yapar.
- DynamoDB: Stok verilerini depolayan NoSQL veritabanıdır.
Bu mimari, her bileşenin bağımsız olarak ölçeklenebilmesini sağlar. Örneğin, istek sayısı arttığında API Gateway ve Lambda fonksiyonları otomatik olarak ölçeklenir. Bu da sistem performansını korur ve kullanıcı deneyimini iyileştirir.
React Frontend Geliştirme
React frontend, kullanıcıların stokları yönetmelerini sağlayan bir arayüzdür. Bu arayüz, API Gateway aracılığıyla Lambda fonksiyonlarına istek gönderir ve sonuçları görüntüler. Örnek bir React bileşeni aşağıdaki gibi olabilir:
// React bileşeni örneği (basitleştirilmiş)
import React, { useState, useEffect } from 'react';
function StokListesi() {
const [stoklar, setStoklar] = useState([]);
useEffect(() => {
fetch('/stoklar') // API Gateway endpoint'i
.then(response => response.json())
.then(data => setStoklar(data));
}, []);
return (
<ul>
{stoklar.map(stok => (
<li key={stok.id}>{stok.ad} - {stok.miktar}</li>
))}
</ul>
);
}
export default StokListesi;
AWS Lambda Fonksiyonları
Lambda fonksiyonları, API Gateway’den gelen istekleri işler ve DynamoDB ile etkileşim kurar. Örneğin, bir stok ekleme fonksiyonu aşağıdaki gibi olabilir (basitleştirilmiş):
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('stoklar')
def lambda_handler(event, context):
stok_adı = event['ad']
stok_miktarı = event['miktar']
table.put_item(
Item={
'ad': stok_adı,
'miktar': stok_miktarı
}
)
return {
'statusCode': 200,
'body': 'Stok eklendi.'
}
DynamoDB Tablo Yapısı
DynamoDB tablosu, stok bilgilerini depolamak için kullanılır. Önemli bir alan, verimliliği artırmak için birincil anahtarın doğru şekilde tanımlanmasıdır. Örneğin, ad sütununu birincil anahtar olarak kullanabiliriz.
API Gateway Yapılandırması
API Gateway, React frontend ve Lambda fonksiyonları arasında bir köprü görevi görür. API Gateway’i yapılandırırken, Lambda fonksiyonlarını ilgili HTTP yöntemleriyle (GET, POST, PUT, DELETE) eşleştirmeniz gerekir.
Sonuç
Bu makale, AWS Lambda, API Gateway, DynamoDB ve React kullanarak tam yığın bir sunucusuz stok yönetim sistemi oluşturmanın temel adımlarını özetlemiştir. Daha detaylı bilgi için AWS belgelerine ve kendi web siteme göz atabilirsiniz. Bu sistem, ölçeklenebilirliği, maliyet etkinliği ve hızlı geliştirme avantajlarıyla şirketlerin stok yönetimini optimize etmelerine yardımcı olabilir. Ayrıca, daha gelişmiş özelliklere ihtiyaç duyulduğunda kolayca genişletilebilir bir mimariye sahiptir. Bu mimariyi kendi projelerinizde kullanarak, zamandan ve paradan tasarruf sağlayabilirsiniz. Unutmayın ki, bu sadece bir başlangıç noktasıdır ve sisteminizin ihtiyaçlarınıza göre uyarlanması gerekebilir.
Faydalı bulabileceğiniz diğer kaynaklar:
#Etiketler: AWS, Lambda, API Gateway, DynamoDB, React, Sunucusuz, Stok Yönetim Sistemi, Tam Yığın, Bulut Bilişim, Yazılım Geliştirme, Fatih Soysal
