Serverless Otomasyon: Adım Adım Rehber

24 November 2025
Özet: Bu rehberde, AWS Lambda, Azure Functions ve Google Cloud Functions gibi platformları kullanarak serverless otomasyonun temellerini, örnek kullanım senaryolarını ve adım adım uygulama sürecini inceleyeceğiz.

Serverless Otomasyon: Adım Adım Rehber

🧭 Giriş

Serverless mimari, altyapı yönetimini tamamen bulut sağlayıcısına devrederek geliştiricilerin sadece uygulama mantığına odaklanmasını sağlar.\ Bu rehberde, otomasyon odaklı bir serverless yapının nasıl planlanacağı ve hayata geçirileceğini adım adım göstereceğiz.

🔧 Ön Gereksinimler

  • AWS, Azure veya GCP hesaplarından biri
  • Temel CLI bilgisi (örnek: aws, az, gcloud)
  • JSON/YAML yapılarını okuyabilme
  • Basit bir kod editörü (VS Code önerilir)

🧩 1. Adım: Serverless Otomasyon Nedir?

Serverless otomasyon, olay (event) tabanlı işlemlerin altyapısız (no-server management) biçimde yürütülmesidir.\ Genellikle şu durumlarda tercih edilir: - Cron benzeri zamanlanmış görevler\

  • Dosya yükleme sonrası işleme\
  • API tetikleyicileri\
  • Mesaj kuyruğu veya olay akışlarına tepki

Örnek

Bir dosya S3'e yüklendiğinde otomatik olarak resize eden bir Lambda fonksiyonu.

⚙️ 2. Adım: Mimari Planlama

Otomasyon senaryosu için üç temel bileşen belirlenir: 1. Trigger (Olay) -- örn: S3 upload, HTTP isteği, mesaj kuyruğu\

  1. Function (İş mantığı) -- örn: Python veya Node.js kodu\
  2. Destination (Çıktı) -- örn: başka bir API, veritabanı, e-posta, log servisi
# Örnek AWS Lambda yapısı (serverless.yml)
functions:
  resizeImage:
    handler: handler.resize
    events:
      - s3:
          bucket: uploads
          event: s3:ObjectCreated:*

🧱 3. Adım: Uygulama Ortamının Hazırlanması

AWS için:

aws configure
aws iam create-role --role-name lambda-basic-execution
aws lambda create-function --function-name AutoResize   --runtime python3.11   --role arn:aws:iam:::role/lambda-basic-execution   --handler lambda_function.lambda_handler   --zip-file fileb://function.zip

Azure için:

az functionapp create   --resource-group myGroup   --consumption-plan-location westeurope   --runtime python   --functions-version 4   --name myServerlessApp   --storage-account mystorage

Google Cloud için:

gcloud functions deploy autoResize   --runtime python311   --trigger-resource uploads   --trigger-event google.storage.object.finalize

🧠 4. Adım: Otomasyon Senaryosu Tasarımı

Senaryo: "Dosya yüklendiğinde otomatik e-posta bildirimi gönder." 1. Olay: uploads klasörüne dosya yükleme\

  1. Fonksiyon: metadata okur, e-posta hazırlar\
  2. Çıktı: Mail API (SendGrid / SES)
import boto3
import json

def lambda_handler(event, context):
    s3 = boto3.client('s3')
    ses = boto3.client('ses')
    for record in event['Records']:
        file_name = record['s3']['object']['key']
        ses.send_email(
            Source='notify@hmyn.net',
            Destination={'ToAddresses': ['admin@hmyn.net']},
            Message={
                'Subject': {'Data': f'Yeni Dosya: {file_name}'},
                'Body': {'Text': {'Data': f'{file_name} yüklendi.'}}
            }
        )

🧩 5. Adım: Gözlemleme ve Loglama

  • AWS CloudWatch, Azure Monitor, GCP Logging kullanın\
  • Başarısız görevleri yeniden denemek için alert mekanizması kurun\
  • Gerekiyorsa Slack, Telegram veya e-posta bildirimleri ekleyin
aws logs tail /aws/lambda/AutoResize --follow

🚀 6. Adım: CI/CD ile Otomatik Dağıtım

Serverless projeler genelde Git tabanlıdır: - Kod push edildiğinde Lambda / Function güncellenir\

  • serverless.yml veya azure-pipelines.yml ile otomasyon sağlanır\
  • Önerilen araçlar: - GitHub Actions\
  • AWS SAM CLI\
  • Terraform (IaC ile otomasyon)

🧩 7. Adım: İleri Seviye Uygulamalar

  • EventBridge veya Pub/Sub ile çoklu tetikleyici senaryolar\
  • DynamoDB / Firestore ile durum takibi\
  • n8n, Zapier veya Airflow ile harici iş akış entegrasyonu

🧩 8. Adım: Maliyet ve Performans Optimizasyonu

  • Gereksiz fonksiyon çağrılarını engellemek için filtering kullanın\
  • Hafif runtime (örneğin Python yerine Go) tercih edin\
  • Tekrarlayan görevler için Step Functions veya Durable Functions düşünün

✅ Sonuç

Serverless otomasyon, manuel süreçleri minimuma indirerek hem zaman hem de kaynak tasarrufu sağlar.\ Bu rehberde öğrendiklerinizle artık: - Bir olaya dayalı fonksiyon yazabilir,\

  • Serverless dağıtım yapabilir,\
  • CI/CD entegrasyonu kurabilir hale geldiniz.
Makale Sayfasına Dön