Comments (7)
Hi, thanks for your kind words, appreciate it π
I do not have that much time to explain it in detail now, but I published some insights in this article: Why we self-host our serverless Next.js site on AWS with Terraform.
from terraform-aws-next-js.
Hard to say, my prediction is that it will become a little easier to maintain Next.js on AWS Lambda since Vercel decided to drop the build target completely.
That means a custom server and a serverless environment on Vercel both using the same build output (.next/server
) from now on (#86).
However a preparation step is still needed to make it runnable on AWS Lambda.
In other conversations I gathered that Vercel now moved their build pipeline to closed source (I understand given their venture-funded commitments.). In response, both you and blitz.js have forked the current pipeline.
Some correction here, Blitz.js has forked the Next.js project (blitz-js/blitz#1990) itself, not the pipeline.
We forked the pipeline (#36) that Vercel was / is using to customize the build output from .next/server
to make it runnable inside AWS Lambda.
In general I think the task of keeping feature parity with Vercel will become more difficult since Vercel can always introduce changes to Next.js codebase that break something of our build pipeline (For example: milliHQ/terraform-aws-next-js-image-optimization#19).
This is the downside of the concept. Vercel publishes much of their software as open source, but the development and roadmap stays mostly private.
On the other side they always have to release new features that are exclusive to Vercel to stay relevant, since Netlify also works on a serverless implementation and AWS Amplify also works on serverless support for Next.js behind the scenes.
Vercel also has the advantage that they have full control over the CDN / Router, since they are operating their own network (think they were using CloudFlare before for this task), while we are currently bound to CloudFront. It can handle most of it with the help Lambda@Edge too but is lacking a lot of features compared to their CDN, since AWS has only recently begun to dedicate more resources to CloudFront development.
What makes it so difficult is that Vercel cannot support this kind of projects because they would kill their own business model if they would do this. Competition in this field is currently really hard and everyone could recently see that AWS is eating up a lot of space in the SAAS economy (MongoDB, elasticsearch).
Currently they give Serverless Framework a hard time with Amplify & CDK and I guess they will not stop there.
from terraform-aws-next-js.
The blog post you shared is really fantastic - thanks again @ofhouse !!
In other conversations I gathered that Vercel now moved their build pipeline to closed source (I understand given their venture-funded commitments.). In response, both you and blitz.js have forked the current pipeline.
Do you anticipate big challenges in maintaining these forks while aiming for feature parity with Vercel?
from terraform-aws-next-js.
This is very helpful, thanks for taking the time to explain.
from terraform-aws-next-js.
@vha14 I'm also interested in getting this to work with Pulumi as that's what we are using for the rest of infrastructure. Have you been successful with that?
from terraform-aws-next-js.
from terraform-aws-next-js.
I'm going to close this issue because it has been inactive for 30 days β³. This helps to find and focus on the active issues.
from terraform-aws-next-js.
Related Issues (20)
- Modify proxy to force a version change HOT 1
- Unable to attach policy to lambda, since the iam.tf is missing in all versions starting from 1.0.0-canary.2 HOT 1
- Error: Authentication Failed Returns Status Code 0
- What services does this library use internally to manage deployments? HOT 1
- Unable to use redirect inside getServerSideProps HOT 3
- [Bug] Error while using middleware from Next 12.2 HOT 1
- TimeoutError: Promise timed out after 300000 milliseconds HOT 1
- Question: how can I use this module if I am using Cloudflare for DNS management and WAF? HOT 2
- Dynamic Routes like [id].tsx doesn't be update in my github action
- Q: What permissinos are needed for deployment? HOT 1
- Next.js v13 support HOT 10
- One or more of the CNAMEs you provided are already associated with a different resource. HOT 1
- Cannot deploy - .next-tf/lambdas\__NEXT_PAGE_LAMBDA_0.zip: no such file or directory HOT 1
- Is there a localstack sample available? HOT 1
- Getting Error during creating resources with terraform
- Deployment not deletes old files from s3 HOT 1
- NextAuth CLIENT_FETCH_ERROR , NEXTAUTH_URL
- New deployments not possible due as AWS ACLs are disabled by default HOT 1
- Alternatives? HOT 2
- Lambda functions no longer support NodeJS `v14` . HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-aws-next-js.