Zeit Now v1 shut down marks an end of an era
Zeit (now known as Vercel) Now v1 is officially shutting down today. What a glorious three years it was.
The service did two things better than any app hosting service that came before it:
It was super simple to configure, deploy, and manage a server (especially Node.js servers).
Deploying a server was as easy as typing “now” into the terminal.
Every deploy was immutable meaning you received a new URL after every deploy, which you can then test or show to your co-workers before promoting it to production.
SSL certificates were default for every deployment
Static assets were automatically served from a CDN
All your server instances could be scaled up or down based on traffic or manually with one command. A load balancer was configured for you automatically.
The value was unbeatable
Paid plans started at $15/month which gave you 10 instances. You could deploy up to 10 different servers or deploy 1 server and scale it to 10 instances or any combination in between.
Each instance gave you 1GB of RAM and 1CPU.
Significantly cheaper than plans from Heroku, AWS, Linode, Digital Ocean, Render
(Old Zeit V1 plans)
Zeit Now v1 was the dream. For someone who was rapidly experimenting with database-backed web apps using Next.js (medtally.com and truehome.hk), it was by far, the best choice. I used it to deploy everything from Next.js web apps to microservices to cron jobs. It was easier and cheaper than anything on the market at the time.
When Zeit first announced the deprecation of Now v1, it was met with a lot of pushback and often anger.
This old Spectrum thread received hundreds of replies
Over at Hacker News, users voiced how V2 was interesting but a totally different product
Today, Zeit is now Vercel and it has gone all-in on serverless.
It’s no longer possible to deploy a server on Vercel’s platform.
Instead, Vercel is pushing a new paradigm of server-less apps, specifically, the JAMStack.
Rather than rendering web pages on the server (SSR) as the user requests them, the JAMStack pre-renders pages (SSG) and serve them from a CDN. The main benefits of a JAMStack app are higher performance because pages are pre-rendered and served the edge, and low hosting cost because you no longer need a server for SSR.
If your SSG website needs access to endpoints, Vercel allows you to write them via serverless functions.
But the serverless approach isn’t always the best
For websites or web apps that don’t rely heavily on a database, building it via the JAMStack seems like a no-brainer. Getavatars.app is a fun little JAMStack avatar-generating web app that I built and hosted on Vercel with great success.
But here’s where the serverless approach can fall short:
When your web app has thousands to millions of pages. It takes too long to regenerate and deploy millions of pages. (truehome.hk has 7 million pages).
Reading from a database means you have to use a serverless endpoint, which can slow down your app due to cold start issues.
Most of the benefits of serving pages from the edge are nullified when your web app relies on getting data from a centrally located database.
When you’re just trying to experiment with web app ideas. The serverless approach wants you to use third-party services such as authentication via auth0 and a hosted GraphQL API that was once part of your main web server. This means you’d have to pay for those additional services and learn how they work, slowing you down and adding costs.
You now have to rethink your whole web app engineering strategy. For example, how do you pool connections to your Postgres/MySQL database with lambda functions? Should you use one of those interesting but unproven edge databases instead of the battle-tested Postgres/MySQL/RedisMongoDB? How do you deal with cold-boot issues? What happens if you need to use WebSockets? If you build your app on Vercel, can you easily move it to a different platform in the future?
Zeit Now v1 didn’t have any of the above issues. I was able to create fast database-driven web-apps that iterated quickly and at a dirt-cheap price.
With its deprecation, Zeit Now v1 left a huge void for apps where serverless does not make sense.
Farewell Zeit Now v1! You will be missed.