AWS Emulator er et gratis, lokalt testverktøy som etterligner AWS-API-er. Utviklere kan sende vanlige kall fra AWS CLI eller SDK til emulatoren på egen maskin, en utviklingsserver eller i en CI-pipeline – uten å sende forespørslene til AWS eller trenge en AWS-konto.
1
2
7
Det gjør det enklere å få rask tilbakemelding mens man bygger eller tester programvare. Men verktøyet er ikke en kopi av hele AWS-skyen: AWS oppgir at emulatoren ligner mest på skytjenestene når det gjelder å opprette, beskrive, oppdatere og slette ressurser.
2
Et stort prosjekt skrevet av AI-agenter
AWS Emulator er skrevet i Rust og bygger på 438 offentlige AWS API-modeller, som til sammen dekker mer enn 200 tjenester.
12
13 Antallet sier noe om bredden i API-dekningen, ikke at alle funksjoner eller spesialtilfeller fungerer akkurat som i AWS.
Amazon sier at autonome agenter skrev hver eneste kodelinje, og at selskapets ingeniører verken skrev eller gjennomgikk koden.
5
13 Det er Amazons beskrivelse av arbeidsmåten, ikke en uavhengig kontroll av utviklingsprosessen.
Ifølge Amazon samarbeider tre agentteam om testingen: Ett lager tester som kontrolleres mot ekte AWS-tjenester, et annet kjører testene mot emulatoren og finner avvik, og et tredje forsøker å rette feilene.
13 Omtale av prosjektet knytter også agentarbeidet til Amazon Bedrock AgentCore.
11 Koden er publisert under CC0, en lisens som dedikerer den til allmennheten, og prosjektet vedlikeholdes av agenter.
13 Ifølge omtale av prosjektet tar depotet imot feilrapporter, men ikke kodebidrag i form av pull requests.
11
Tidlige feil og viktige grenser
Da verktøyet var nytt, meldte medier om over 70 åpne feilrapporter på GitHub. Mange gjaldt simuleringen av databasen DynamoDB og serverless-tjenesten Lambda.
17 En utviklerreaksjon som ble omtalt, beskrev verktøyet som «verdiløst», mens andre rapporter framhevet at det fungerer, men fortsatt har klare mangler.
17 Tidlige feil viser at emulatoren ikke alltid treffer AWS atferd; de beviser ikke i seg selv at AI-utviklingen var årsaken.
En særlig viktig begrensning gjelder tilgangskontroll. Emulatoren vurderer ikke IAM-policyer og policyer knyttet til ressurser på samme måte som AWS. Dermed kan en forespørsel som lykkes lokalt, bli avvist i AWS – eller omvendt.
19
21 En bestått lokal test er derfor ikke en bekreftelse på at tilgangsreglene er riktige.
Hva bør den brukes til?
- Rask tilbakemelding under utvikling: Test vanlige API-kall uten først å rulle ut programvaren til skyen.
1
2
- Ikke som sikkerhets- eller produksjonstest: AWS sier at verktøyet er ment for utvikling og testing, og at graden av samsvar med AWS varierer mellom tjenester og funksjoner.
- Vær oppmerksom på lagring og isolasjon: Ressursdata holdes i minnet til emulatoren stoppes. Omtale av begrensningene sier også at den ikke opprettholder reell adskillelse mellom regioner og kontoer slik AWS gjør.
8
19
- Se resultater i sammenheng: AWS beskriver samsvarstester mot den faktiske tjenesten, men en testscore sier bare noe om testene som er kjørt – ikke om all mulig oppførsel.
13
En konkret serverless-gjennomgang støtte også på en grense på 64 MiB for lagring av Step Functions-kjøringer. Da grensen ble nådd, feilet EventBridge-kall med feilen ExecutionLimitExceeded. Det er et eksempel på en praktisk kapasitetsbegrensning, ikke et bevis på at verktøyet egner seg for arbeidsbelastning i produksjon.
Kort sagt: AWS Emulator kan gi utviklere og kodeagenter en nyttig, rask lokal testsløyfe. Men den bør ses som et hjelpemiddel på veien, ikke som en fullgod erstatning for AWS. Test kritiske integrasjoner og tilgangsregler mot ekte AWS før du baserer deg på resultatene.