🔗 AWS Ekosistemi
AWS Ekosistemi: AWS servisleri, bir Java projesinin standart kütüphane paketleri gibidir: `HashMap`'i sıfırdan yazmazsın — `java.util.HashMap`'i import edersin.
AWS servisleri, bir Java projesinin standart kütüphane paketleri gibidir: `HashMap`'i sıfırdan yazmazsın — `java.util.HashMap`'i import edersin. Benzer şekilde, dosya sunucusunu sıfırdan inşa etmezsin — S3 API'sini çağırırsın. Ama buradaki asıl soru şudur: bu servisler neden birbiriyle konuşmak zorundadır? Neden tek bir servis her şeyi yapamaz? Yapamaz — ve bunun nedeni `java.io`'nun `java.net`'ten ayrı tutulmasıyla aynıdır: her servis tam olarak tek bir iş için optimize edilmiştir ve güç bunları birbirine bağlamaktan gelir. Java analojisi: EC2 çalışan bir `Thread`'dir, S3 kalıcı bir `ObjectOutputStream`'dir, IAM bir `SecurityManager`'dır, CodePipeline ise bir `CompletableFuture` zinciridir — her biri bağımsız, her biri değiştirilebilir. Ekosistem düşüncesi olmayan bir QA pipeline'ında, geliştirici laptopunda geçen ama CI'da başarısız olan Selenium testi neredeyse her zaman eksik bir bağlantıdan kaynaklanır: test runner'ı doğru S3 bucket'ına ulaşamıyor, IAM rolünün rapor yazma izni yok, ya da CloudWatch hiç hata logu almadı — ve production bug ortaya çıkana dek kimse testin başarısız olduğunu bilmiyor.
QA İçin AWS Servis Haritası
AWS + CI/CD Araçları Entegrasyonu
AWS Device Farm gerçek fiziksel iOS ve Android cihazlarda Appium testleri çalıştırmanı sağlar — Amazon'un laboratuvarlarında. Cihaz lab yönetimi yok, emülatör yok.
🎬 Bir Git Push'un AWS Ekosistemindeki Yolculuğu
Bir git push, CodePipeline'ı tetikler — zincirin ilk halkası.
CodePipeline, CodeBuild'i çağırır — test suite'i burada çalışır.
Ağır Selenium Grid işi, ayrı bir EC2 üzerinde çalışır — CodeBuild sadece tetikleyicidir.
Test raporu S3'e, logları CloudWatch'a akar — AYNI ANDA iki farklı hedefe.
Final — zincirdeki HER bağlantı, sabit kodlanmış bir şifre değil bir IAM rolü ile kimlik doğrular. Bir servisin permission'ı eksikse, zincir orada sessizce kırılır.
Lambda ile Zamanlanmış Health Check
CloudWatch Events, Lambda fonksiyonunu her 5 dakikada bir tetikler — sunucu yönetmeye gerek yok.
Lambda, uygulamanın /health endpoint'ine bir istek atar ve durumu kontrol eder.
İstek başarısız olursa…