higlass / higlass-docker

Builds a docker container wrapping higlass-server and higlass-client in nginx
MIT License
32 stars 14 forks source link

Redeploy preserves data / continuous deployment / zero downtime? #47

Open mccalluc opened 7 years ago

mccalluc commented 7 years ago

One story we have is that redeployments do not destroy data... one good way to demonstrate that would be to set up continuous deployments. But how will this work exactly? I don't want to make things too complicated, but I feel that we should also hold zero-downtime as a requirement from the start, and I think the usual way of doing this is with a blue/green setup, though we have choices about where the switch happens:

@pkerpedjiev : It sort of depends on how soon you think we need to think about load balancing multiple EC2s. If we want to do that sooner rather than later, then probably better to do ELB from the start, but without that consideration, I think that's making it a bit more complicated, and a bit more AWS dependent, than it needs to be.

There are AWS integrations with Travis, but they don't feel like what we want, exactly: I had thought we wanted to pull the newly built image from Docker Hub, but I guess putting built images on the appropriate EBS volume could work?

pkerpedjiev commented 7 years ago

Thanks for the writeup! We want to switch to load balancing sooner rather than later but for now either AWS Elastic IP or nginx seem like the least fuss solutions. We would also have to pay for ELB, which wouldn't make sense at the moment. I'll have to read up on blue / green setups but zero-downtime seems like a worthy goal to reach for.