Serverless might bankrupt you (and how to deploy to a VPS instead)
VloĆŸit
- Äas pĆidĂĄn 6. 06. 2024
- Checkout the sponsor of this video Hostinger for a good deal on VPS hosting.
hostinger.com/webdevcody
10% discount code: WEBDEVCODY
Link to project github.com/webdevcody/simple-...
My Products
đïž WDC StarterKit: wdcstarterkit.com
đ ProjectPlannerAI: projectplannerai.com
đ€ IconGeneratorAI: icongeneratorai.com
đ ThumbnailCritique: thumbnailcritique.com
Useful Links
đŹ Discord: / discord
đ Newsletter: newsletter.webdevcody.com/
đ GitHub: github.com/webdevcody
đș Twitch: / webdevcody
đ€ Website: webdevcody.com
đŠ Twitter: / webdevcody
Web Dev Cody be like vps -> serverless -> vps. đ
đ but I donât recall starting with a vps on this channel. I always used sst to deploy to aws using lambdas. Iâve been using serverless for 5 years on a work project as well and was pretty anti vps until recently when I got my ddos bill.
â@@WebDevCody i mean by from title "Why Iâll never deploy to a VM again" to "Serverless might bankrupt you (and how to deploy to a VPS instead)". đ
@@WebDevCodyserverless seems artificially expensive. We need more competitive options (not necessarily only open source tools like Coolify).
Itâs a process of learning. He learned both, which is good for him.
@@xoai13 agreed đŻđ
Donât forget if youâre using an unmanaged VPS you have to mange security mostly yourself; OS security patches, firewall, security through obscurity like changing default ports etc. Just something for people to keep in mind.
I've been learning a ton from your VPS deployment content. Keep up the great work!
ahhh so happy u posted this haha. was watching ur other videos about VPS but was wondering when a coolify one would come out. Thx as always đ
honestly watching u is amazing cause all ur projects reflect similarly to my own goals and infras. so learning about the approaches u use and comparing and contrasting has rlly expanded my scope
Hey Cody, I love your videos. Theyâre helpful and really well structured, though sometimes you go faster than I can learn but Iâm getting into it. I want to thank you for the hard work youâre putting into the videos. Iâve being facing quite the same situation as you with the serverless but one thing that keeps me going back to it instead of VPS is the maintenance. Like for example, what do you do when having to reset your server due to Linux updates? Or for example Hostinger went down Thursday morning about 2 hours due to their infrastructure maintenance?
Nice! Thanks for making this vid! đ
thanks for the good work!
I think now that we have something like Coolify, using SST is like over complicating everything, right?
I can't find a really any good scenario that could benefit from a server less with all those hassles and not a simple VPS.
or maybe I'm overlooking something?
Thanks for this video. I just wanted to check my understanding as someone that uses Vercel at the moment but in a "it works so I won't question it" way. Essentially Coolify is the layer that I see going to the Vercel site; manage my projects, see logs, deployments etc. The VPS is the background server which I know is happening behind the scene but I've never really looked into. But it would essentially bring the server "in house" and I'd have more control over it.
Got a few projects hosted on Vercel but wanting to expand a bit. I know when I tried to deploy a Stripe project as soon as it was live the fetch from Stripe timed out but a VPS (depending on what I pay for obviously) would give me more control, yes? (I'm aware Vercel has a paid tier but I think if I were to actually pay for something, it is something I'd want more control over)
You probably hit the 10 second free tier limit on vercel. Yes, a vps is just a blank operating system where you can install and run anything youâd like. Coolify is the dashbaord that I installed to give you a nicer way to deploy your apps to your vps. It uses docker under the hood for building and running your services inside of containers
@@WebDevCody oh yeah that was definitely the reason (although that's how I learnt about it being a limit) but it was just playing around to see how things work. But it's good to know alternatives.
Thanks for taking the time to respond (and so quickly).
Docker is one of those things I've been meaning to learn more about for ages, but if it's running in the background and I don't have to learn now that works for me
Holy moly Cody, this is *exactly* what I needed. Coolify in particular. I'm about to launch a large project that I've been working on for a few years, and I have yet to figure out the CI/CD process. This is a Godsend, thanks!
Love the video btw. Qucik question, how do you deploy multiple apps within coolify then?
I think you just create a new service and specify a new git repo and point a new domain to it. You can have multiple different apps running on the same box easily. They also seem to have a "remote" type of setup where you can have multiple VPS machines all hooked together for load balancing I believe.
Do you get your domains from Hostinger as well? Is S3 still the way to go for an app with a lot of image storage?
recently I've been using cloudflare for my domains, before that google domains and namecheap. I do think hostinger provides 1 free domain with a VPS subscription.
S3 is still probably the best option, but I've also been trying to use cloudflare R2 which works pretty well.
Is it possible to host your own postgres instance using Coolify to be consumed by your own apps elsewhere (postgres and webapp hosted on different servers)? Can I use cloudflare tunnels to "lock-in" the postgres connection string (instead of a possible non-static IP)? How would you go around hosting your own PG instance to be used by your own apps? Would hosting them on the same Coolify instance help (due to easier setup for Prisma connection without having to deal with exposing DB to public internet, etc)?
Iâm not too sure. I do know coolify has the ability to host a Postgres instance with a button click. I also know cloudflare tunnel support is talked about in their community and I think their docs. I havenât personally done it so I canât give the info you need.
Personally unless you have a need for multiple VPS, just host your Postgres instance in the same machine as your app. It will give you the lowest latency and should be able to scale up as needed simply by upgrading your vps.
@@WebDevCody talked about in their communist :)
cool stuff thank you †just one question please why do you recommend vps hosting only for beginners? what is a better alternative hosting for other professionals ?
Iâve been using serverless on production for 5 years (aws lambda), and honestly it was a mistake imo. The complexity you donât know youâll run into due to lambda runtimes is not worth the effort compared to just doing npm run start on a vps and calling it a day. On a larger size project kubernetes gives you the flexibility to not be locked into serverless or a particular cloud, and everything is containerized so if it runs locally youâll know itâll work on prod
@@WebDevCody makes a lot of sense thanks again Cody
âââ@@WebDevCody kubernetes is super cool, but when I started learning it and looked forward to deploying it on AWS. EKS was ridiculously expensive and got scared. Is there another way to deploy it publicly for cheaper
Btw I am a beginner to AWS, i usually deployed locally with k8s or docker to save costs lol
I was supposed to deploy a nextjs app on a VPS this monday. This is awesome
The first story sounds like an experience a guy i knew in uni had
What are you using for that top loader? What xhr/request library and what component if any? Thanks man
Nextjs top loader its an npm library
Cool video, thank you for showing this and providing a Discount code! Love it!
What about a Multi Tenant Plattform project that i previously built using Vercel Domains API. Is there a way to set it up with a VPS?
There is no such thing as free lunch. Cloud hosts are screwing with clients because they need the money to buy AI GPUs. So everyone still hosting serverless or using micro service architecture are soon going to get a wake up call.
Vercel only get worst!
Oh man for one of my clientsâ project i had to go through setting up Nginx from the ground up I spent 3 days and 4 nights on it and you just did it in 15 minutes đ€Ł
Hey! Regarding the DDoS you had, I wonder what you think about the new Vercel Firewall?
I haven't tried it but I assume it's a good feature to have built in directly into your host.
How do you deploy the next app in hostinger? Because I think itâs too much to setup, but if you can explain how to do that easy I am going to be so glad!
I'm not sure what you are asking, I shows how to deploy a next.js application to a hostinger VPS in this video
Was thinking how to deploy my SaaS app securely without getting DDoS'ed and get a bill would create a generational debt lol. This video was so helpful for me... Keep up your good work Cody! and BTW a kind request :) Can you make a video on making a NextJS + Pipedream tutorial.. CZcams lack tutorials on Pipedream + NextJS..
Hi Cody, Can you make a video with Coolify to use multiple servers? Like each server will have their own service for example one server for Postgres, the other one is will be a backend that communicates with that database? And additionally using tunnels with coolify will be very cool.
I just reached 1 MAU, i need to scale.
Is there a cheaper way to deploy Kubernetes? EKS is ridiculously expensive, so for now i use local deployment only to avoid that. Pls suggest, i am fairly new to AWS
If you donât want a managed k8s then yeah you might need to do it all manually? What about DO k8s?
âââ@@WebDevCody ohhh I forgotđ€Šââïž, I have dabbled through managed k8s before, but completely forgot about that. Sry, for that silly question đ
Will checkout digital ocean too, thnx
Can you host multiple websites on coolify? And how many next js sites would you say would be the limit for the 8gb ram configuration you picked?
Yes, Iâm sure you could get a lot depending on if you use image optimization or not. When I run next apps they maybe use 500mb
Can you host multiple projects on one VPS? for example vercel you pay 20$ and can host as many saas as you want but how about vps? Thanks
Yes you can host many apps on a single vps
Is there a way to use a VPC, and let you images and videos be:
a) Optimized
b) Get's served from a CDN or some bucket
honestly I'm not sure, I haven't looked that deep into it. In regards to a CDN, as displayed in the video, I point cloudflare in front of my application which means everything will be cached on the cdn. If you store your assets on r2, it by default provides caching if you setup a custom domain.
Thank you Cody, I really wanted to try coolify but I didn't have the energy to wrap my head around it ahahahha
đ itâs literally like 1 command, 2 button clicks, and deploy
@@WebDevCody yes, but it would have required the active effort or reading the documentation and the even harder effort of comprehending it... I am not in the mood right now ahahaha
Have you tried to use any of its github actions?
so, what should I use for me who is newbie? can I limit budget in serverless hosting?
depends on a lot, what stack you're using, what's your budget, if it's $0 then find free hosting.
@@WebDevCody well, my budget is not $0, but certainly not highest, just low cost for small business. The stack is simply just two laravel+vue app, and mysql, the rest is just api services. Oh and gps software like traccar.
Cody as convex is open source now can you perhaps do a video about how to self host it on a VPS? I think it's a great tool overall if we don't have to lock into their servers, def a solid option.
What should be the deciding factor when considering where to deploy the project. I mean how can i decide if EC2 is better or some other platform which provides VPS?
Read reviews about customer service, down time, ease of their user interface, cost, resource specs, etc.
@@WebDevCody Cool, thanks
Have you tried vercel firewall? It's meant for things like ddos attacks/unauthorized access.
Nope, it sounds cool though
@@WebDevCody yeah Lee showed it off at the recent vercel ship conference.
Why does your random example project look better than anything I've ever built đ
lol
đ I used premade components. Too me 10 minutes to copy them in
Any reason as to why youâre using turso over convex db?
The database portion wasnât the important part of this video. Also this was a throw away project.
just found out vercel has a feature where it will shut down your services if you go over a spend limit. that's all cloud providers really need to implement to solve the problem talked about at the start of the video right? still probably cheaper for you to use a vps though I'm guessing, vs a layer on a layer on a vps (vercel->aws->servers)
Yes, they have spend limits and alarms. That first tweet was user error, but it seems like users donât know how to properly configure their stuff
Serverless, the promise of scaling up to millions of users for a business that barely gets a thousand.
I think the main problem is that they convince us devs with their free tier. In a VPS you normally start paying on the spot whereas in a serverless environment, the free tier is pretty generous.
Serverless was intentionally made for one off asynchronous work. Then people started to wrap their entire apis and deploy that into serverless because it scales to zero and also auto scale to high concurrency limits. That brought with it cold starts and everyone started complaining about that. So then they started finding ways to lazy load api controllers to fix the cold start issues (which probably means you should just be using a vps from the start). Depending on the cloud provider, such as aws, it ends up being more convient to hook a lambda up to run various things in the AWS ecosystem. Want to run some code when someone uploads a file to s3? Just add a trigger and invoke a lambda.
The complexity starts to come from âhow do I bundle and deploy these lambdasâ? You end up having a ton of extra code just to support building and deploying these one off lambdas that basically makes something that was trivial to maintain with a traditional MVC framework into a monstrosity that no one understands.
Hi Cody. What do you think about deploying on Cloudflare? I'm building some projects, which are not in business size, but just projects for my portfolio đ€
I haven't used cloudflare pages before
@@WebDevCody I see. thanks for your reply!
Wait but AWS should have billing options for lambda so you can limit the cost right? If that's the only reason for moving of lambda that should be solvable I imagine
Aws has spending alerts, but they donât have any type of kill switch. Youâd need to implement that yourself
@@WebDevCody OMG that's crazy, well good to know đ Thanks for golden info like always! đ
Or you can pay 20 bucks per month to vercel which has both under attack mode and a firewall features as well as the monthly budget limits so you can get emails. I dont wanna bloat my hard drive with docker, and I donât understand the problem with using a serverless platform if they address the concerns like vercel does?
When your app gets more traffic you might start to understand as your bill creeps over your provider limits.
@@WebDevCody how much traffic are we talking and isnât there a work around for this because whats the point of using a paas if it wont scale
@@omereker8824
You'll only feel this when you woke up on an email telling you to pay $100k
Would like to see how to handle CI/CD with this approach, so that you lint, typecheck, run tests etc., then deploy.
I know there is the Github hooks you mentioned, but I always prefer running checks before deploying.
in coolify you can customize your build actions, so technically you could run whatever you want
@@WebDevCody "Cool"" to know, might have to check this out in my next project!
Pretty cool
Golden content
Registration screen sending a password over plaintext http? Should probably be passing that through Caddy/Nginx with a Let's Encrypt cert at the very least...
Does Vercel not have a spend limit?
Yes they added that within the year I think
@@WebDevCody Not for the free tier - but they claim the free tier is completely free regardless of what happens.
@@nickwoodward819 right but you canât use the free tier to run a business. Idk what type of apps yâall are building but Iâm not trying to deploy apps just for fun.
@@WebDevCody So what do you recommend for someone who's currently set up using firebase? should I move over to aws or setup my own vps? thanks again
@@WebDevCody I mean sure? It's still useful to know you can't get stung on non-production apps that are deployed?
very nice
how would scale a vps with coolify on it?
when you say scale, what requests per second do you mean? I think coolify supports loadbalancers and hosting your application on multiple servers if needed
Yeah, one of the main reasons I hate serverless... I'm a control freak and don't like monthly cost surprises
First of all, the shaved beard looks better on you. 2nd, Serverless may be helpfull and usefull, but as you explained, it is an ticking bomb. So, just Stick with your VPS and gg. Once your Project grow up for mass usage, then we can talk about multiple VPS Instances that can produce more i/o.
my wife thinks so as well
can we be sure that coolify is secure?
can you be sure anything is secure? no one looks through any of the open source code. it is all open source though github.com/coollabsio/coolify
â@@WebDevCody bigger projects are probably more secure because of more eyes and history. also cloud providers are more secure against hacking/vulnerabilities (not against poor configuration by you) because of a stronger financial incentive to be, and they probably will have a bug bounty program to catch more bugs.
Are you still doing go? đ Or even rust nd planning on making some content about that.
Havenât touched go in a bit. I did enjoy using it, so Iâm not writing it off, I just have so many other things going on that use typescript already itâs hard to justify spending time to learn it âjust becauseâ
What about Securing your VPS? What is the bare minimum you should take care about?
you should always turn on alerts and anomaly detection for any serverless setup.
alerts don't help when you're sleeping. I've only seen a few serverless options provide a spending limit kill switch.
very true. the kill switch would be a nice feature. i wonder if pre paid credit cards work. đ
awesome
Pls cody record an example of nextjs authjs without serverless middleware
that's a big finger against vercel
I think vercel is fine, they have spend limit and alarms in place. I just choose not to use them. I personally like running containers
You should block 8000 port except for your Ip from hostinger's firewall
Raspberry pi army in my basement >
Set max instances to 1
U dont have make your code wrong. But your testing was wrong đ maybe you can make a video how to write codes for real testing, with creating
Limit analysis and equivalence class creation, these are 2 methods that should be considered in every test.
I have no clue what you just asked
Where is wrong code?? What are talking about, this was about cloud
Thumbnail đ
Good job babe!!!!
Day 49 of asking cody what the name of his vs code theme isđ
At this point my community answers that question for me đ
Bearded Theme Stained Blue
@@dawidgrabowski Is that really the name or are you trolling lol?
@@smnomad9276 Just search for Bearded theme and after installing it pick one with the name mentioned above.
R.I.P to all those he told to pay for everything in the recent past. That's why I keep saying, don't take JavaScript influencers too seriously. Learn the things they tell you to pay for.
Month 1: Vercel / AWS
Month 2: VPS
Loop forever
....
No, seriously, I don't understand these stuffs anymore. What to choose? What do these "techie guys" on CZcams want to tell us to do?
Though, imo, AWS == taking your money endlessly. But I don't even have a credit card so can't even test the free tier anyways :)))))
Follow the money. If it's a sponsored video, know that the content is bs.
If you donât have a credit card how do you expect to host your apps? Hosting costs money. Like I said, serverless has its own use cases and gotchyas, so if you are not aware of them, donât use it. Vps requires you to understand how to ssh into a machine, run a script, then configure coolify.
wow, it's almost as if people are finding better solutions for their use cases that differ from the previous solution they used for a completely different problem.
You can use a debit card
@@Lexaire For the most part I think you're correct. But serverless computing is usually overkill for most projects. A simple VPS and an afternoon of reading docs to setup SSL, Nginx, Cloudflare, etc will suffice. Or you can end up in vendor lock-in by coding your solution around a serverless environment, spend days or weeks learning the serverless providers offerings, and then get hit with a massive bill. Providers like Linode and Digitalocean also have "app service" offerings that allow you to deploy kinda like vercel or AWS lambda but with more controls. Additionally, the VPS setups are more widely used in business environments due to the level of control the business can exert over the deployment environments. Especially since you can install the docker engine and setup docker images, docker swarms, or kubernetes locally and cut down on wasteful spending to the serverless providers for docker or k8 management.
I do think that when creators take a sponsor directly related to the video that it's a red flag. But, @webdevcody did a good job at objectively explaining the reasoning for using a vps over a serverless environment for beginners. I think things get a little murkier once you step into the world of enterprise software or large scale user bases. But for his audience he explained the pros/cons in a way that would make sense. And if people are skeptical, I'd recommend they look into the pricing models and play with the calculators. The cost of serverless creeps upwards pretty aggressively. And it really can sink businesses in cost. You have to remember that anything you do in serverless environment can be done on a vps. (really serverless environments are vps instances running some sort of hypervisor to manage the resources on the shared instance. Unless you reserve an instance to yourself. Which sends the costs up even higher.)
It's just robbery. There must be fixed rates or some kind of limits.
There are, this person didnât turn them on
Hetzner have way way better bang for buck
They wanted my passport for me to get a server. That was a no for me
@@WebDevCody What? Really? Jesus that's a shame, was going to look into them too
Dont they have servers only in eu? And how is the latency ?
Imagine failing because of an apostrophe
đ my linter wasnât configured correctly
What I don't like about CZcamsrs is that they don't give their honest opinion, they just make videos for their sponsors. If you go 1 year ago this dude had video about "why he won't use VPS but only 3rd party services". Now the dude gets paid by VPS provider to promote a VPS.
Imagine living in a world were changing our perspective is forbidden; thatâs the world you think we live in
I think this video is biased
I do think a vps is a good option depending on project needs
Hostinger is trash
that's a little mean
hetzner