[T] I Finished Programming My Python App... Now How Do I Deploy It? Here Is a Flowchart to Get You Started
As discussed in my previous article Finished Automate the Boring Stuff… Now What? 3 Essential Non-Python Skills Every Developer Needs one of the essential skills you will have to learn on your python journey is how to actually share it with other people.
Part of what makes software more valuable than gold is its ability to not only solve a problem for you, but to also solve that same problem for an unlimited number of people. Although writing an app to save 15 minutes from your work day is incredibly valuable, what if you could save 15 minutes a day for everyone in your department? Everyone in your company? Everyone in your field?
Additionally you don’t necessarily want to have to leave your laptop running whenever you want to run your code, do you? What happens when you leave for vacation? Or maybe you’d like to run your script every day at midnight?
In order to let your app reach its full potential, you’ll need to learn how to actually “deploy” it. Deployment is really just a fancy word for: “how to share my program so it can run on other computers easily”. This can be from them installing an .exe file, visiting a website, or having your app run automatically on a server computer so that you can shut yours off when you leave work for the day.
As a beginner or intermediate programming trying to push your skills to the next level, it’s very easy to feel lost at sea with all of the different deployment options and technologies for your app:
- What is Docker?
- Do I need to learn this thing called Kubernetes?
- How do I get a “www.name.com” domain name?
- Should I use Digital Ocean / Linode / AWS / GCP / Heroku?
- What is a firewall and how do I secure my server?
- Does Sarah need to install python and pip to run my program on her computer?
I created a flow chart to get you started on your deployment journey:
Want to dive into one of the suggestions? Want a step-by-step guide so that you can be confident you can share your python app with ease? Subscribe to my mailing list to be the first notified on future tutorials (and to let me know what kind of content you’re looking for!)