Ingyenes, helyi AWS-emulátort adott ki az AWS, az agentek írták
Az AWS Emulator fiók és szolgáltatási díj nélkül fut laptopon, fejlesztői szerveren vagy CI-ban, a kódjában pedig egyetlen változtatás sem szükséges.

Az AWS kiadta az AWS Emulatort, az AWS API-k helyi másolatát. A szoftvert laptopon, fejlesztői szerveren vagy CI-környezetben lehet futtatni. Az AWS CLI és az SDK-k ehhez csatlakoznak az AWS helyett, így nincs szükség AWS-fiókra, és szolgáltatási díjat sem kell fizetni. Különlegessége, hogy a kódját autonóm agentek írták és ellenőrizték — írja a MarkTechPost.
Mire képes és mekkora
Az emulátor 438 AWS API-modellből épül fel, több mint 200 szolgáltatást fed le, szolgáltatásonként egy Rust-crate-tel. Linuxon x86_64 és aarch64 architektúrán fut RPM vagy Debian csomagból, macOS-en és Windows-on Dockerben, 2 GiB memóriakorláttal. Forráskódból történő építéshez 100 GB szabad lemezterület kell.
A működés lényege, hogy az erőforrások a memóriában élnek, és a leállítással eltűnnek. A dokumentáció példájában egy DynamoDB CreateTable hívás két karakteres névvel ugyanazt a ValidationException hibaüzenetet adja, mint az eredeti AWS.
Hogyan írták az agentek
A projekt egy Kiro-nak adott kéréssel indult, amely körülbelül 15 perc alatt egy használható Amazon SQS-emulátort állított elő. Ezután az AWS három agentcsapatra osztotta a munkát: a tesztírók az AWS nyilvános Smithy-modelljeiből vezetnek le forgatókönyveket és ellenőrzik őket az igazi AWS ellen; a hibakeresők ezeket lefuttatják az emulátoron; a javítók egyenként egy hibát oldanak meg és patchet küldenek be.
Minden patch átmegy egy összevonási kapun, amely a build-et, a kódellenőrzést, a biztonsági és a hűségi teszteket is ellenőrzi. Több biztonsági agent végez ellenséges felülvizsgálatot. Matthew Goldberg szerint több száz párhuzamos agent napi több ezer hibát javít — ezt a számot a forrás állítja, független ellenőrzés nem történt.
Mennyire pontos
Az AWS minden kiadással közzétesz egy scores.json fájlt. A v1.0.322-es kiadás pontszámai szerint 42 857 pontozott tesztből 24 243 sikeres (56,6%), 80 teszt kimaradt. A lépésszintű eredmény 73,2%, a több szolgáltatást érintő munkafolyamatoké 41,9%. A legjobb az AWS KMS 93,9%-kal (291 a 310-ből), az Amazon SQS 89,8%-kal. A leggyengébb az AWS CloudFormation 15,8%-kal (414 a 2612-ből).
Az S3 79,1%, a DynamoDB 77,3%, az SNS 73,9%, a Lambda 46,4%, az EC2 41,5%. A hűségi dokumentáció szerint a vezérlési sík API-i állnak legközelebb az AWS-hez, az adatsíkon, a CloudFormationnél, a Terraformnál és a CDK-nál a támogatás szolgáltatásonként változik. A nem implementált műveletek HTTP 501 NotImplemented választ adnak. A tesztek az aws-emulator-evaluation-suite tárban elérhetők, a hibásakkal együtt.
Összehasonlítás a versenytársakkal
A LocalStack kereskedelmi csomagokkal dolgozik, a Moto és a Floci MIT-, illetve Apache-2.0-licencű. Az AWS Emulator CC0 1.0 licencű, nem kér gyártó-tokent, és az emulátor saját hűségi pontszámait publikálja, amit a többi felsorolt projekt a README-jében nem tesz közzé. A LocalStack ingyenes szintje nem kereskedelmi használatra szól, a fizetős csomagok havi 39 és 89 dollár között mozognak licencenként.
Korlátok
Az AWS maga sorolja fel a hiányosságokat: az IAM-szabályokat nem értékeli ki, az identitás- és erőforrás-szabályzatokat nem úgy kezeli, mint az AWS, ezért biztonsági tesztekre nem alkalmas. Csak egy régió és egy fiók létezik, az erőforrásokat az azonosítók nem különítik el. A futtatás az us-west-2 régióban ellenőrzött, a globális szolgáltatásokat az us-east-1-ben vizsgálták.
Nincs terhelési vagy hosszú futásra szóló teszt, a leállítás az --idle-timeout kapcsolóval érhető el. A telemetria alapértelmezetten be van kapcsolva. A kiadások gyorsak: a v1.0.265 és a v1.0.322 között néhány nap telt el, az AWS Emulator a v1.0.322-es kiadással zárul, 42 857 pontozott teszttel.