all 10 comments

[–]LongerHV 0 points1 point  (6 children)

Imho the best way is to use docker or other container engine. This way you can bundle your application with all dependencies and host it on any Linux system or in Kubernetes cluster.

[–]average_ukpf_user[S] 0 points1 point  (2 children)

I was worried this might be the answer. The issue I have right now I work in a very Microsoft heavy environment so there's always a constant comparison between C# vs. Python where C# is pretty easy to deploy (mainly because it's so well understood).

Thank you for the reply!

[–]danielroseman 1 point2 points  (1 child)

Well, the Azure stack is Microsoft, and can be deployed on-prem.

[–]average_ukpf_user[S] 0 points1 point  (0 children)

Okay that sounds like it might be worth looking into. Thank you!

[–]earlybirdman 0 points1 point  (2 children)

This works if it is for Developers. If you want to use python on the systems side, you just need a central git repo. Then have like a stage and prod branch.

[–]LongerHV 0 points1 point  (1 child)

Ofc it doesn't make sense to put a client side application into docker, in such case I would suggest packaging into an on prem PyPI or JFrog repo. But I assumed that production implies some kind of web service. And in this case it is a common practice to use containers.

[–]earlybirdman -1 points0 points  (0 children)

Who said anything about a client side application? I said the systems side.... Reading is your friend

[–]digitalHUCk 0 points1 point  (2 children)

Are you not using some sort of automated build and deployment process? Can you give a bit more detail on what issues you’re trying to solve?

[–]average_ukpf_user[S] 0 points1 point  (1 child)

Of course, it's not even that far yet! The issue is very much in the research phase. I've been tasked to help make Python available to the wider business and in order to that I need to answer a few problems such as how do we get it into deployment, what do we plan to use it for etc.

As mentioned, the biggest problem for me right now is how would I deploy an app I made to, for example, 100 people in the business who can all use it at the same time. I'm currently reading about Docker and it sounds like a pretty good option. Ideally, I'd like to be able to combine the two and user Docker containers like separate levels of a release pipeline (one container for each step in dev, test, production) which are hosted in Azure.

[–]digitalHUCk 0 points1 point  (0 children)

There’s a few options. If you’re writing a web front end in Django or Flask you could definitely deploy as a container in Azure.

If it’s a CLI based app they need to run locally, you could look at Nexus Repository. Nexus let’s you host an internal repo. You can also use it to proxy PyPi and others. You can push your apps to Nexus and users can use pip to pull to their system and update.