Amazon’ın (AMZN) bulut birimi AWS, kod yazma ve inceleme işlerini AI ajanlarına bıraktığı yerel test aracı AWS Emulator’ı kullanıma sundu. Ancak emülatörde testlerin geçmesi, uygulamanın güvenli olduğunu veya AWS’nin tüm özellikleriyle uyumlu çalıştığını garanti etmiyor.
AWS, AWS Emulator’ı ayın 11’inde yayımladı. Geliştiriciler AWS hesabı açmadan veya buluta dağıtım yapmadan AWS CLI ve SDK’ları üzerinden yerel emülatöre istek gönderebiliyor. Araç için ayrıca ücret alınmıyor. AWS’nin duyurusu
AWS’de kıdemli principal mühendis olarak görev yapan Matthew Goldberg, geliştirme sürecini anlattığı yazıda “Ekibimiz emülatör kodunu yazmadı veya incelemedi” dedi. Goldberg’in açıklamasına göre AWS ekibi kodu doğrudan geliştirmek ya da gözden geçirmek yerine geliştirme sürecini tasarladı. AWS’nin geliştirme sürecine ilişkin yazısı
İnsanlar ürünün kapsamını ve doğrulama ölçütlerini belirlerken, kodun uygulanması ve incelenmesini ajanlar üstlendi. İnsanların rolü, emülatörün hangi özellikleri desteklemesi ve hangi ölçütleri karşılaması gerektiğini tanımlamaktı.
Geliştirme süreci üç ajan grubuna ayrıldı. İlk grup, gerçek AWS’de gözlemlenen davranışlara dayanarak testler hazırladı. İkinci grup aynı testleri emülatörde çalıştırıp farklılıkları buldu. Üçüncü grup ise tespit edilen sorunları düzeltti.
Değişiklikler; derleme, kodlama standartları, güvenlik ve gerçek AWS ile davranış uyumu denetimlerinden geçtikten sonra uygulamaya alındı. Ajanların işi yalnızca kod yazmayı değil, değişikliklerin yayın ölçütlerini karşılayıp karşılamadığını kontrol etmeyi de kapsadı.
Uyumluluk testleri yalnızca API yanıtlarını karşılaştırmıyor. AWS üzerinde bir işlem yapıldığında oluşturulan kaynaklar ve veriler ile ortaya çıkan hatalar da emülatörün sonuçlarıyla karşılaştırılıyor.
AWS, hizmetlere göre testlerin geçme durumunu yayımlıyor. Desteklenmeyen işlemlerde hata döndürerek geliştiricilerin emülatörle test edemeyecekleri durumları fark etmesini sağlıyor.
Bu test yöntemi, belirli iş akışlarında gerçek AWS ile emülatörün davranışlarının ne ölçüde örtüştüğünü inceliyor. AWS bu testleri “fidelity” testleri olarak adlandırıyor; sonuçlar yalnızca testlerin kapsadığı alan için geçerli.
AWS’nin değerlendirme deposu, testlerde yer almayan davranışların doğrulanmadığını belirtiyor. Bazı senaryolarda sonuçların örtüşmesi, AWS hizmetlerinin tüm özelliklerinin uyumlu olduğu anlamına gelmiyor.
Geliştiricilerin kullandıkları AWS hizmetleri ve işlemlerinin yayımlanan testlere dahil olup olmadığını kontrol etmesi gerekiyor. Test sonuçları desteklenen kapsamı incelemeye yardımcı oluyor; tüm özellikler için uyumluluk sertifikası niteliği taşımıyor.
Güvenlik değerlendirmesinin de sınırları var. AWS, emülatörün IAM izinlerini, S3 bucket politikalarını ve KMS anahtar politikalarını gerçek AWS ile aynı şekilde değerlendirmediğini; hesaplar ve bölgeler arasındaki işlemleri de desteklemediğini belirtiyor. AWS’nin güvenlik belgeleri
Bu nedenle gerçek AWS’de reddedilecek bir istek emülatörde başarılı olabilir. Ajanların emülatör kodunu güvenlik açısından incelemiş olması, geliştiricinin uygulamasının güvenliğinin de doğrulandığı anlamına gelmiyor.
Geliştirici forumu Hacker News’te bazı kullanıcılar AWS’nin doğrudan sunduğu yerel test aracını olumlu karşıladı. Diğer katılımcılar ise gerçek AWS ile uyumun kapsamının ve uzun vadeli bakım planının daha yakından incelenmesi gerektiğini söyledi. Hacker News tartışması
AWS, üretim ortamına dağıtımdan önce uygulamanın tamamının ve güvenlik ayarlarının gerçek AWS üzerinde test edilmesini öneriyor. Emülatör yerel geliştirme sürecinde kullanılabilir; üretim öncesi doğrulamanın ise gerçek ortamda ayrıca yapılması gerekiyor.
Comment 0