Puting the Model Into Production: Web Apps

Interesting.
Could you ask this question https://zeit.co/chat ?
So, we can have more people to help.

By looking at your URL, I can see that you’ve used the our lambda support which we release today. It’ll need some more work:

Use these fields on your now.json file:

{
  "features": {"cloud": "v1"},
  "version": 1
}

So with version 2 now … how to deploy docker given that the type parameter is now deprecated?

Just posted in Now.

Thank you! Will try once more.

Already posted in another thread but here goes:

I used Dokku to a cloud instance… Works great

Blog post is here:

3 Likes

Snap is used to install heroku CLI locally.
sudo snap install --classic heroku

1 Like

Ah, thank you. I see. I already has CLI installed. I get as far as step E under Deploying to Heroku but then when I try to enter the command for release I get a weird error that “container:release” is not a heroku command. Any ideas?

What’s the exact command you using?

Use your now.json like this:

{
    "features": {
        "cloud": "v1"
    },
    "version": 1,
    "type": "docker"
}
1 Like

Use your now.json like this:

{
    "features": {
        "cloud": "v1"
    },
    "version": 1,
    "type": "docker"
}

Reading the v2 docs and the forums, it looks like the ultimate plan is to eventually end support for docker on zeit.

This is something folks here are probably going to be interested in.

Eventually yes.
But only if we can support almost all of these use cases.
Currently we can’t deploy this kind of apps with v2.
Once we can do that with v2, then we’ll look into deprecating v1.

That’s the opposite of what you told me earlier. We need to be able to rely on platforms that we support to maintain compatibility, or at least provide consistent and accurate information. :frowning:

1 Like

Oh! You got it wrong on the above note.
See this: https://twitter.com/rauchg/status/1060581580303810561
(This is our CEO)

I also talked to him as well on this matter.

We are going support docker based deployments on v2 the API.
So, once we do that we can deprecate v1.

Even when we do that, there’ll be pretty simple changes to the now.json.
Other than that, there’s nothing we need to change.

OK that’s encouraging. I saw also in the HN discussion there was a lot of concern about v2 (including thoughtful comments from @simonw ). Hopefully your CEO is realizing that people like the current product and continuing to support it is important!

1 Like

That’s not what I’m hearing. This is a quote from Matheus Fernandes (a Zeit employee) from a day ago:

yes, ultimately we do plan to remove Docker support. We thought a lot about containers for the past 3 years, analyzed thousands of use cases and spoke with thousands of customers, and we concluded that functions/lambdas are superior to containers for the vast majority of workloads.

This is not how you do upgrades. If anything, given the prevalence of dockerized apps on Zeit … docker deployments should have been a first class priority and an out-of-the-box option for v2. Instead, its relegated to an afterthought … and that, along with the conflicting statements coming out of the company, makes me highly suspect going forward.

Until there is some clear communication on what the docker roadmap is for ZEIT … I’m recommending folks to avoid it. If there are other docker-friendly/docker-first vendors out there folks have had good experience with, I’d love to hear about it.

Here’s a quote from the CEO: https://twitter.com/rauchg/status/1060581580303810561

Our v2 API is based on serverless model which we helps 90% a lot on scaling, pricing an etc.
But what we are not going to remove docker support unless we’ve solid support for that in the v2 api.

Anyway, I think we should not argue about this here :smiley:

Just talking as a student, I think we should add more types of production deployment solutions.
And not rely 100% on ZEIT.

1 Like

Is zeit free for our size of apps?

1 Like

I’m bookmarking this :slight_smile:

Yah, agree that this is not the place to argue about it and I really appreciate all your help to folks here on using Zeit.

Speaking of serverless approaches, is there a write-up in the docs (or elsewhere) that demonstrates how you would deploy a lambda to utilizes a fastai/pytorch model to make a prediction and return the results as JSON?

I’m also interested if there is a way to persist uploaded images, for example, in a serverless environment? For example, lets say I want folks to upload an image, return a prediction, save the image and then allow the end user to let the app know if it got the prediction right or not.