There's not the perfect way of deploying your application. It depends on so many things, but at a minimum this is due to your application type: Is it a Server or client application?
Assuming you want only the data part to be centralized, you probably have a client application which relies on a database server. These are two different requirements, so lets treat that independently:
Database server:
You need to have a database server publicly available on the internet. The bare minimum you need for that is a assigned IPv4 address. It doesn't matter which device runs your database server. It could be your own server, an AWS application or even a rasperry pi. That's completely up to you and depends on factors like availabilty, computing resources, required storage, etc.
Client application:
The client application likely runs on a user's machine. You should ask yourself first which operating systems you want to support. Python is mostly OS-independent, but that is not granted for every single use case or instruction. If you want to reach the most users you should go for a windows-based OS. Then you should probably look for building an exe file from python3. If you want to support linux you probably want to build a deb-package.
As you see, you should clarify first, what exactly you want to archive and then break it down into smaller packets.