Docker Community Forums

Share and learn in the Docker community.

Wondering if Docker is a good use for packing a process I can send to a server


(James Hancock) #1

First I will start out by saying yes this may not be the most efficient way possible to process something. But, the point is less about efficiency and more about flexibility. So hear me out.

I want to build a mobile app that will do some pretty complex video processing. To complex I feel for the phone to handle (unless you want to wait 30 minutes with your app open and you can’t do anything else). Your first choice would be to of course just send the video over and have the server do the computation and then send the edited video back. Which would work. But it would also be limited to that one apps format. If I changed what tools I was using I would need to update the server. I want to build a sweet of different video tools that would do different video processes. Which might uses some of the same programs to process or they may not. Instead of updating the server each time I would like a system that just runs whatever I give it. Which is where I think Docker might come in.

This is just hypothesising because I don’t think I know enough about docker yet but what if I package the whole thing in a Docker Bundle and then sent it to my server to process. That way I could have one backend crunching things and it would be very easy for me to add more apps and changes those apps without worrying about changing the “Cloud Cruncher”.

How much overhead would it be to put the necessary information (The docker info) to run the computations I need for the videos?

Again the goal here isn’t true efficiency it is flexibility allowing me to change what tools I use to process information without having the change the backend “cruncher” each time.

Would docker be an appropriate use for this?

Cheers,
James


(Sven Dowideit) #2

yes, its very possible, though I’m not 100% sure how to secure it all.

If you were in a fully trusted environment, you could even get the processing to happen by having your mobile trigger a remote docker build using the input data and a local Dockerfile on your mobile, and then have the results come back :smile:

In your case, you’re more likely to need to put some secured we service in between, and to get that to select the right Docker image to process and return the answer.

So in short, yup, Docker can help you partition such a system…