New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019Q4 - 3.4 Investigate dockerization of webcompat.com application #109
Comments
And here we start. |
Interesting take on the persistence of a sqlite db in between containers.
|
HEROKUThe current webcompat metrics dashboard is being deployed through/on heroku. One of the benefits of heroku deployment is people getting PR individual URLs for testing. Kind of removing the need for a staging instance. Any PR is a staging instance. This made me think that if we use docker only for deploying stuff, maybe we do not need docker and we could "just" shift to full heroku. I'm not a big fan of these solutions, maybe because of the habits of owning your own stuff and avoiding to rely on too many services. Heroku has no file system. It means that we would need to change a couple of things.
memcache and performances for Flask on heroku. Also check the notion of dyno for web concurrency with gunicorn on heroku. That would do it. |
SHIVAnother proposal for deploying a simple app is Shiv. As explained on Shiv website
example of a deployment with a django app. |
PIKUpiku project The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
This is very much in development right now. |
Since we've already done the move for a lot of projects from bare-metal servers to containers here are a couple of thoughts: PaaS
Migrating to dockerWhat I've found pretty useful in the past is
Current docker setupFor various reasons I've already dockerized webcompat.com for my dev env and for debugging staging wsgi. This might be useful for future reference:
I hope this is helpful for your migration to the ☁️ 💻 📦 ☁️ |
Thanks a lot @johngian for the information. Super useful. As for PaaS, we are using heroku already for http://webcompat-dashboard.herokuapp.com/ |
Also for people reading along and not familiar with 12 factor app |
2019-10-29The more I look at it the more i wonder if it's necessary. In terms of cost/benefits. And Probably a PaaS if we want to virtualize a bit more would bring us "benefits with a loss of controls". Doing like webcompat dashboard and pushing to Heroku. |
Nice post @karlcow. Some comments about it:
Other than that yeah, there is a lot of hype out there on why all software needs to be containerized which of course doesn't necessarily apply to all the cases. |
docker is not necessary the answer. Once the images are separated for processing we have a lot more freedom, and we can imagine hosting the application on Heroku for example. The rest of the dockerization seems not necessary useful. But we could still do docker. The blocker is really the independance of the images. |
@karlcow can we write up a summary comment and call this one done? |
So to be able to go to a docker or a Heroku solution, these are the friction points we need to address:
It's not a light modification. A probably a couple of quarters with the externalization of systems step by step. There is also probably a bit of documentation rewriting when we move to these solutions. A docker solution would need to address the same issues basically. Coming up with a dev image as @johngian did is simple enough for testing scenario, but not for prod as-is without moving the things outside of the image.
|
No description provided.
The text was updated successfully, but these errors were encountered: