Handoff
This is more relevant to web based applications. Data science projects are broad and up to the client and whether you even need to deploy anything.
Handoff
Discuss with client beforehand
- Actual server or Free Heroku Server or another service? - Provide them options
- I wouldn't recommend an actual server (stuff breaks and unless they know someone that can ssh into the server and restart the web app, don't do it)
- Domain Name - do they want a custom domain or is
.herokuapp.com
fine?
- If they want actual server / domain name, make sure to do the following
- If they want a Herokuapp
- SSL - Set up SSL using CloudFlare’s free SSL offering
Your Options
Managed Deployment Services
These services allow you to focus on code, rather than deploying. These are the easiest to deploy a service. I recommend using these. Make sure that your client is willing to pay for this (may need to take pricing to account)
Heroku
- You can make your own account and deploy for free
- Heroku can figure out common frameworks, such as Node and basic Flask deployments, but may need Procfile's for more complex deployments.
- Many of our repositories with Flask backends have good examples of Procfiles
- Heroku can deploy monorepos, but requires two separate deployments
- Heroku can also support some free add-ons for student accounts (including many common databases like PostgreSQL, MySQL, MongoDB, etc.)