LocalStack – A fully functional local AWS cloud stack
github.com
github.com
Having to deploy to test is cumbersome and having a cost associated with each test can definitely introduce some sort of 'stress' and encourage people to not test incrementally.
I wonder if this changes that. Having services like S3, Lambda and SQS available locally sounds super interesting.
I will definitely keep an eye on this. One other thing I would like to see is CloudFront, which can be very hard to start with due to its opaqueness. Having to wait 20+ minutes between configuration changes is very demotivating.
The hard part is the cost IMHO
I know there's some actual open source reimplementations of bits of the AWS products, such as S3. Might be worth integrating into it.
Amazon S3 is eventually consistent, so is this really any worse?
I think we've got a lot of mileage in the past out of just mocking request/responses when testing AWS interactions. The only time we've ever used a pseudo-service was when testing against the dynamoDB JAR they provide with the SDK.
Would save some money too.
If you just need to mock SQS, I recommend using elasticmq. I've used it for a few months now and haven't had any problems at all so far.
https://github.com/adamw/elasticmq/blob/master/README.md https://hub.docker.com/r/expert360/elasticmq/
Then a staging version of the real environment for final testing.
[1] https://github.com/adamw/elasticmq [2] https://github.com/jamhall/s3rver [3] http://www.azk.io/
Or: Because it's not a "private cloud".