ThoughtWorksStudios / eb_deployer

AWS Elastic Beanstalk blue-green deployment automation from ThoughtWorks Mingle Team
MIT License
400 stars 94 forks source link

Recommendations for running smoke tests on non-public services? #26

Closed stig closed 10 years ago

stig commented 10 years ago

Hi,

First, thanks for building this tool. We're adopting it for putting our first application in AWS. However, we have run into an issue with running smoke tests. Our application is multi-tiered: there's a public front aggregating data from several internal applications deployed on elastic beanstalk. Ideally we would leave those internal applications without a public IP so they're completely unreachable from outside the VPC. However, so far the only way we have managed to make use of the smoke test feature in eb_deployer is through assigning a public IP. Do you have any recommendations / ideas for how to improve on this?

We're currently weighing the pro's and con's of:

Do you have any thoughts on this issue?

betarelease commented 10 years ago

Hi @stig We have written this tool to make our lives easy and to help users like you. We are happy that you find it useful and are using it in production.

Your smoke tests could be stored anywhere. Have you tried looking at pushing your smoke tests to the production box, running them there and deleting them once you have recorded their results? This way you will be able to hit 'localhost' without the need for tunneling or public IP even.

In the past I have pushed such testcode and retained it side-by-side the runnable code. But you can easily throw the tests away ones they have run.

You might need to do some packaging of that code yourselves but let us know if you need help and we can figure something out.

Sudhindra.

stig commented 10 years ago

Thank you. After conferring with colleagues we'll try unspecified option number four: pushing the smoke test script to our Jumphost and execute it remotely via ssh, thus avoiding the tunnel.