Takip et

AWS ile Tam Yığın Sunucusuz Stok Yönetim Sistemi

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

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version