Coder Social home page Coder Social logo

Comments (15)

ofhouse avatar ofhouse commented on July 19, 2024 3

@JanStevens Thanks, yes, saw that they already solved it 👍

This issue isn't about how to solve this problem anymore since I already have a plan for how to implement it.
It's more about time / money now, because I need to look into ways how to make the project profitable.

So all of my work on this project is currently focused on increasing popularity and preparing paid integrations instead of working on features for now.

from terraform-aws-next-js.

JanStevens avatar JanStevens commented on July 19, 2024 1

Hi, not sure if it helps but have you taken a look at how https://github.com/serverless-nextjs/serverless-next.js does it?

I believe they set an expiration on the s3 files and use sqs queue to trigger the regeneration lamba. This way the content always stays fresh without any blocking or major timeouts.

from terraform-aws-next-js.

mohalsherif avatar mohalsherif commented on July 19, 2024 1

Good luck in your thesis. We are eagerly waiting for this feature. We would be happy to support this. Maybe you can as well add the Github sponsorship option to the project so other people can show their appreciation.

from terraform-aws-next-js.

dottodot avatar dottodot commented on July 19, 2024

@ofhouse Do you have any update on when this might be implemented?

from terraform-aws-next-js.

ofhouse avatar ofhouse commented on July 19, 2024

I honestly wait for AWS CloudFront to implement some features on their end that would make development on our side easier.
CloudFront is laking some features (Support for stale-while-revalidate, invalidation by response headers) that are essential for ISG.
My hope was that with Next.js support for Amplify they would bring such features to CloudFront, but at their current development speed I guess this will take them 5 years to implement.

With the introduction of Next.js 12 it also became clear, that relying only on AWS is not future proof, since AWS has no service in stock that could handle the new middleware function in a serverless way.
So my considerations are to make the CDN part of the module interchangeable, since other CDN providers already have these features for many years.

from terraform-aws-next-js.

dottodot avatar dottodot commented on July 19, 2024

@ofhouse thanks for the update, surprisingly there's not many people complaining about stale-while-revalidate being missing on the aws forum so probably won't happen any time soon.

from terraform-aws-next-js.

ofhouse avatar ofhouse commented on July 19, 2024

Yeah, it really doesn't make sense to make feature requests to AWS unless you have 500.000$ monthly AWS bill, otherwise no one ever will read your request 😅
All other developers don't have the time to wait until AWS implements a feature and move on to other providers to get their project done in time.

I guess this is how it works at this scale, so 🤷‍♂️

from terraform-aws-next-js.

lcswillems avatar lcswillems commented on July 19, 2024

"So my considerations are to make the CDN part of the module interchangeable, since other CDN providers already have these features for many years."

@ofhouse Out of curiosity, which CDN providers have this?

from terraform-aws-next-js.

ofhouse avatar ofhouse commented on July 19, 2024

@lcswillems To clearify, I was talking here about stale while revalidate not ISR.
Cloudflare and Fastly offer native Stale while Revalidate support.

However I am optimistic that ISR can be archived through CloudFront as well with our existing infrastructure.
Major roadblock was that the proxy could not check if a file in S3 exists or not, to determine if it should be served from cache or must be regenerated.

With the introduction of multiple deployments this will change and my hope is that ISR development will benefit from it (There are still some open questions especially for short regeneration times <1min).

from terraform-aws-next-js.

lcswillems avatar lcswillems commented on July 19, 2024

Thanks for the explanations!!

from terraform-aws-next-js.

mohalsherif avatar mohalsherif commented on July 19, 2024

Any update on when the paid integrations would be available. We currently would really like to have the feature, and would have no problem paying for that as well.

from terraform-aws-next-js.

ofhouse avatar ofhouse commented on July 19, 2024

Sorry for the late answer. Unfortunately I cannot give any update on when the paid integration will become available.
We started working on it, but took a bit longer to setup everything since we haven't built with the GitHub API before.

Since all of this happens in our free time, progress is painfully slow at the moment.
Also working on my bachelor thesis at the moment, which also withdraws a lot of time from this project.
Looks like the situation on my available time becomes better in October until then please stay patient. 😬

from terraform-aws-next-js.

mipmip avatar mipmip commented on July 19, 2024

@ofhouse Are PR's welcome for feature? Do you have plans / idea's how this should be implemented?

from terraform-aws-next-js.

mipmip avatar mipmip commented on July 19, 2024

Our company would like to help in any way to get this ISR implemented.

from terraform-aws-next-js.

ofhouse avatar ofhouse commented on July 19, 2024

Hey @mipmip,
have some ideas how to implement it and some prerequisites are already added in the 1.0-canary release.

I am open to PRs, however my further involvement in this project is currently uncertain.
I am starting a new job in November and it is not clear if I can afford more time then for support & development.

Posting more information about the future of this project in the next few weeks.

from terraform-aws-next-js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.