Serverless to Homeless - Case study

Mehul - Codedamn
14 Mar 202410:28

Summary

TLDRThe video discusses a case where a user received a $100,000 bill from Netlify for a static website, highlighting the issue of unexpected costs with cloud service providers. It explores the possibility of a Distributed Denial of Service (DDoS) attack and the lack of automatic DDoS protection, comparing bandwidth costs across different providers. The video emphasizes the importance of being aware of service tiers and potential expenses, and ends with Netlify waiving the charges after public discussion, raising questions about trust and transparency in cloud platforms.

Takeaways

  • 📈 A user received a $100,000 bill from Netlify for a static website, highlighting a potential issue with cost management and unexpected expenses.
  • 🚀 Static websites are typically expected to have minimal costs, with some providers offering pro plans that include unlimited bandwidth within certain tiers.
  • 💸 Overshooting the included resources in a plan, such as serverless compute or bandwidth, can lead to significant charges based on the provider's rates.
  • 🌐 The incident at Netlify (nlii) involved a single day with 60 terabytes of bandwidth usage, which is highly unusual and indicative of a possible DDoS attack.
  • 💰 Comparing costs, Netlify charges $55 for 100 GB of bandwidth, which is significantly more expensive than cloud providers like Hetzner or AWS.
  • 🛡️ Lack of automatic DDoS protection can be a vulnerability; however, some providers offer emergency DDoS modes to help mitigate such attacks.
  • 🔧 The user's website was affected by a DDoS attack focused on a single file, possibly an audio clip, leading to massive data transfer.
  • 🌐 Netlify's response suggested hosting music on third-party platforms to reduce bandwidth usage, which may not be ideal for all users needing to host certain assets.
  • 🤝 Netlify CEO eventually responded to the situation on Hacker News, stating that the user would not be charged for the excessive bandwidth usage.
  • 📉 The incident raised concerns about the trustworthiness of platform providers and the potential for being unknowingly targeted by DDoS attacks.

Q & A

  • What was the initial bill amount that the user received from Netlify?

    -The user initially received a bill for almost $104,000 in USD from Netlify.

  • What type of website incurred such a high bill?

    -The high bill was for a simple static website, which typically should have minimal to no hosting costs.

  • How did the user initially react to the bill?

    -The user initially thought it was a joke or a scam, but after checking their dashboard, they realized it was a legitimate overdue bill.

  • What is the usual cost for a pro plan on platforms like Netlify or Vercel?

    -The usual cost for a pro plan on platforms like Netlify or Vercel is around $20 a month, with an uninterrupted tier included.

  • What caused the user to exceed the plan's bandwidth limit?

    -The user was charged for exceeding the bandwidth limit due to a spike in traffic, with 60 terabytes of bandwidth used in a single day.

  • How does the cost of bandwidth on SaaS platforms like Netlify compare to cloud providers?

    -SaaS platforms like Netlify charge significantly more for bandwidth compared to cloud providers. For example, Netlify charges $55 for 100 GB, while cloud providers like Hetzner and AWS have much lower rates or even offer free tiers for certain amounts of traffic.

  • What is the issue with automatic DDoS protection on these platforms?

    -Automatic DDoS protection is difficult to implement because it's challenging to differentiate between legitimate and malicious traffic during a distributed denial-of-service attack.

  • What did Netlify suggest as a solution to prevent such high costs in the future?

    -Netlify suggested hosting music on third-party platforms like YouTube, Bandcamp, or SoundCloud to reduce bandwidth usage, regardless of the site's popularity.

  • How did the user feel about Netlify's response to the situation?

    -The user disagreed with Netlify's response, feeling that the platform was placing blame on the user and not providing adequate solutions for such incidents.

  • What was the final outcome for the user who received the $100,000 bill?

    -Netlify's CEO responded on Hacker News, stating that 100% of the charges were removed and that their policy is not to shut down free sites during traffic spikes that don't match attack patterns.

  • What concerns do users have about the transparency and fairness of billing practices on these platforms?

    -Users are concerned that they cannot verify the legitimacy of the charges or protect themselves from potential fraudulent activities by the platform, as the databases and billing systems are controlled by the platform companies.

Outlines

00:00

💸 Unexpected $100,000 Bill from Netlify

The video begins with the startling revelation that the user received an invoice for $100,000 from Netlify for a simple static website. The speaker discusses the potential reasons for such a high bill, emphasizing the importance of understanding one's hosting provider's pricing structure, especially for services like serverless compute, bandwidth, and image optimization. The speaker shares a personal experience with Netlify, detailing how they were mistakenly billed for an excessive amount due to a spike in bandwidth usage, suspected to be a DDoS attack. The discussion highlights the high costs of bandwidth through SaaS providers like Netlify and WorldPress compared to traditional cloud providers, and the lack of automatic DDoS protection, which leaves users vulnerable to unexpected expenses.

05:01

🚫 Netlify's Response and Recommendations

The speaker criticizes Netlify's response to the situation, which suggested that the user's static assets, such as sound files, should be hosted on a third-party platform to reduce bandwidth usage. The speaker argues that these assets are necessary for the website's functionality and should be delivered through the edge network provided by Netlify. The video also addresses the issue of DDoS protection and the difficulty for providers to automatically detect and prevent such attacks. The speaker shares their own experience of reducing the bill by attributing 20% of the cost to the DDoS attack and further negotiating with Netlify, which ultimately led to the charges being waived. The speaker expresses concern about the lack of transparency and control users have over their data and the potential for misuse by platform companies.

10:01

📢 Conclusion and Future Considerations

In the concluding part of the video, the speaker reflects on the incident and its resolution, noting that the user was not charged for the excessive bandwidth usage. The speaker commends Netlify's policy of not shutting down free sites during traffic spikes that don't match attack patterns, but also acknowledges the stress and potential financial burden such a mistake can cause for users. The speaker raises questions about the trustworthiness of platform providers and the lack of recourse for users in such situations. The video ends with an invitation for viewers to share their thoughts in the comments and a prompt to like and subscribe for more content.

Mindmap

Keywords

💡bill

In the context of the video, a 'bill' refers to an invoice or statement of charges that a service provider sends to a customer for goods or services rendered. The video discusses an unusually high bill of $100,000 for a static website, which is typically expected to have minimal costs.

💡static website

A 'static website' is a type of website whose content is fixed and does not change or require frequent updates. It is typically composed of HTML, CSS, and JavaScript files that are served directly to the user without the need for a backend database or server-side scripting.

💡serverless compute

Serverless compute is a cloud computing execution model in which the cloud provider dynamically manages the allocation and provisioning of servers. With serverless, developers can build and run applications without having to explicitly provision or manage servers.

💡bandwidth

In the context of the video, 'bandwidth' refers to the data transfer capacity of a network connection. It is the rate at which data can be transferred over a communication link. High bandwidth usage can lead to significant costs, as seen in the $100,000 bill incident.

💡DDoS attack

A Distributed Denial of Service (DDoS) attack is a malicious attempt to disrupt the normal traffic of a targeted server, service, or network by overwhelming it with a flood of internet traffic. This can result in the target being unavailable to legitimate users.

💡Cloudflare

Cloudflare is a web performance and security company that provides services such as DDoS mitigation, web content acceleration, and security features to help protect websites from online threats.

💡CDN (Content Delivery Network)

A Content Delivery Network (CDN) is a distributed network of proxy servers and data centers that deliver content to users from the server closest to their geographic location. This improves website performance and reduces latency by bringing content physically closer to users.

💡Netlify

Netlify is a cloud computing platform that provides a suite of services for web developers, including continuous deployment, hosting, and serverless functions. It is known for its support of static websites and Jamstack architecture.

💡AWS (Amazon Web Services)

Amazon Web Services (AWS) is a comprehensive cloud computing platform provided by Amazon that offers a wide range of services such as computing power, database storage, content delivery, and other functionalities to help businesses scale and grow.

💡cost reduction

Cost reduction refers to the process of decreasing expenses associated with the production of goods or services. In the context of the video, it relates to strategies for reducing the costs of hosting a website, such as using third-party platforms or optimizing content delivery.

💡support response

A 'support response' is the reply or assistance provided by a customer service team to address a customer's issue or inquiry. In the video, the support response from Netlify is discussed in relation to the handling of the $100,000 bill situation.

Highlights

A user received a $100,000 bill from Netlify for a simple static website, raising concerns about cost management and prevention strategies.

The expected cost for hosting a static website is minimal, with most plans offering an uninterrupted tier to cover usage within limits.

Exceeding the plan's limits, such as serverless compute or bandwidth, results in additional charges based on the provider's rates.

A similar incident occurred at NLII with a user receiving an unexpectedly high bill, indicating a potential issue with cost management.

The user's bill was almost $104,000 in USD, which was initially dismissed as a joke or scam but was confirmed upon checking the dashboard.

The peak day of February 16th showed a usage of 60 terabytes of bandwidth, which is unusually high and indicative of a possible DDoS attack.

Bandwidth costs from SaaS providers like World and Netlify are significantly higher compared to cloud providers like Hetzner and AWS.

Cloudflare offers zero cost for data transfer out of the internet with their CDN service, contrasting with the high charges from other providers.

The lack of automatic DDoS protection is noted, as implementing such protection is challenging due to the difficulty in distinguishing between legitimate and malicious traffic.

Providers like Cloudflare offer emergency DDoS mode to absorb the attack and allow legitimate users through after solving a challenge.

The high bandwidth usage was attributed to ancient user agents and Google Cloud addresses, suggesting a possible DDoS attack.

Netlify's response to the incident included a recommendation to host music on third-party platforms to reduce bandwidth usage.

The user's dissatisfaction with Netlify's response highlights the issue of placing blame on the user for necessary static assets.

The incident raises concerns about the trustworthiness of platform companies and their internal systems, which are black boxes to consumers.

Netlify CEO's response on Hacker News assured that the user would not be charged for the bill, and all charges were removed.

The policy of not shutting down free sites during traffic spikes that don't match attack patterns was emphasized, but apologies were made for the lack of clarity in initial support replies.

The user's experience with the unexpected bill and the subsequent resolution process was shared, highlighting the importance of transparent communication from service providers.

Transcripts

play00:00

so net lii sent a user a bill of

play00:03

$100,000 for a simple static website

play00:06

let's take a look at what this is what

play00:08

went wrong and how you if you're using a

play00:11

provider like worel or nettia or

play00:12

something like that you can prevent this

play00:14

Behavior or you can prevent this cost so

play00:17

$100,000 is of course not a small amount

play00:20

of course if you're hosting something

play00:21

you know you're expecting if it is

play00:23

static you're expecting it to be pretty

play00:25

much zero cost at most at you know you

play00:28

are probably on a pro plan on what sale

play00:30

or even netlify which cost like $20 a

play00:32

month but all of these plans even the

play00:35

Pro Plan comes with an uninterrupted

play00:37

tier right so what happens is that if

play00:38

you are using the things within that

play00:41

tier it'll just be included in your plan

play00:44

but if you overshoot let's say for

play00:46

serverless compute or bandwidth or image

play00:48

optimization or anything like that then

play00:50

they will just charge you based on you

play00:52

know their rates so a similar incident

play00:54

incident happened at nlii where somebody

play00:57

received a $100,000 bill and uh it's to

play01:00

say the very least it's a bit strange so

play01:02

let's take a look at what happened so I

play01:04

received an email from netlify last

play01:06

weekend saying that I have

play01:07

104,000 almost in USD in Bill overdue at

play01:11

first I thought this is a joke or some

play01:12

scam but after checking my dashboard it

play01:14

seems like I'm truly owning them that

play01:16

amount so I was like and think okay

play01:18

maybe I got dos since netlify charges

play01:20

$55 for 100 GB for the exceeding

play01:23

bandwidth the peak day of February 16th

play01:26

had this much amount which is like you

play01:28

know 60 terabytes of bandwith in a

play01:29

single day see so that's that's the

play01:31

thing that is the thing that two things

play01:34

wrong here the first one is that you

play01:36

know this cost is outrageous if you take

play01:38

a look at actual cost for bandwidth it

play01:41

is not as expensive as $55 for 100 GB

play01:44

right now why worel and why netlify and

play01:47

why you know all these SAS providers

play01:50

sell the bandwidth extremely expensive

play01:52

worel is cheaper than this worel sells

play01:54

it for 40 USD which I'm assuming like

play01:56

they are reducing now I have heard some

play01:59

things that Al is in talks with a lot of

play02:01

people to reduce this number but let's

play02:03

see what it is but netlify charges

play02:06

$55 for 100 GB of bandwidth this cost is

play02:12

insane right so if you take a look at

play02:14

herzner for example see so with herzner

play02:17

20 terab of traffic is already included

play02:20

and extra traffic is € per month per TV

play02:23

right so you can see that the markup

play02:26

here is 55 times more 55 times is you

play02:30

know its orders of magnitude more than

play02:33

what a cloud provider like herzner is

play02:35

costing you and even AWS doesn't charge

play02:37

this month right AWS also has huge

play02:39

charges and but it doesn't charge that

play02:41

plus if you look at providers like Cloud

play02:43

flare Cloud flare has basically zero

play02:46

cost for this so Cloud flare basically

play02:48

doesn't charge you anything at all if

play02:49

you are transferring data out of

play02:51

Internet with their CDN service or you

play02:53

know with R2 I think as well which is

play02:55

their S3 alternative so this number in

play02:58

itself is bad but the second second

play03:00

thing is that there is no automatic dos

play03:02

protection which is which I agree like

play03:05

implementing a Dos protection is by its

play03:07

very definition extremely hard because

play03:09

dos means that it's distributed denial

play03:12

of service attack that means that all

play03:14

across the world the computers are

play03:16

pinging your IP address and your website

play03:18

address and it's extremely hard to

play03:20

determine that this particular visit is

play03:22

a bot visit or is some malicious visit

play03:25

and that particular visit is a legit

play03:26

visit so what happens generally in cases

play03:29

of Dos is that you anyway have to like

play03:31

you know put a capture on every single

play03:32

page of the website for every single

play03:34

user at least for that time being so if

play03:36

you go to Cloud flare and these

play03:38

providers A lot of these providers

play03:39

actually what they do is they offer you

play03:41

a you know an emergency dos mode so when

play03:43

you toggle that on everyone gets a

play03:45

challenge page on top of there you know

play03:47

whenever somebody's visiting your

play03:48

website they'll see a challenge page

play03:50

from that provider which itself absorbs

play03:52

all the DS attack and then just lets

play03:54

legitimate users pass through because

play03:56

they have to solve a capture or

play03:58

something like that so see this is what

play03:59

what happened like it was dsed on a

play04:02

single file which is you know a sound

play04:05

file and it got a lot of terabytes in

play04:08

data transfer and what they told what

play04:10

netlify told is that told them that

play04:13

after looking into this further it seems

play04:15

like a lot of bandwith usage came from

play04:16

some user agents that are quite ancient

play04:18

and uses Google Cloud addresses this

play04:20

would include devices such as this this

play04:22

this so either you have a fan base with

play04:24

a passion for older technology or this

play04:26

was likely a Dos attack I mean somebody

play04:28

who's getting 16 4 terab I'm assuming

play04:31

that they don't have a fan base of that

play04:33

particular audio clip as aggressive as

play04:35

that so so this seems like a this seems

play04:37

like a weird message weird email to

play04:39

write to someone who is already stressed

play04:42

about you know paying a $100,000 bill

play04:44

but okay going forward I would recommend

play04:46

hosting music on a thirdparty music

play04:48

platform such as YouTube band camp or

play04:50

SoundCloud and reduce your bandwidth

play04:52

usage no matter how popular your site

play04:54

becomes so see this is where I really

play04:56

disagree with the with how netlify has

play04:58

responded in this email because if I'm

play05:00

hosting a website it is my website and I

play05:03

need those static assets whether that's

play05:05

an image whether that's a sound file

play05:07

whether that's a vasm binary I need that

play05:09

on the edge Network which you are

play05:11

providing right that that was the whole

play05:13

proposition that we will deliver files

play05:15

very fast to you sure I can host my

play05:17

files on S3 but the only reason I would

play05:19

do that is to save money save cost not

play05:22

from a point of view that somebody just

play05:23

downloads my file 10 times and you know

play05:26

I'll be just bankrupt I will be homeless

play05:28

so I think this is slightly bad take

play05:31

from netlify where it's it's putting the

play05:33

blame on the user itself and especially

play05:36

in the case where Theos attack happened

play05:38

right so it's not like they're

play05:39

complaining out of thin air that you

play05:41

know something like that happened it's

play05:43

especially bad it puts a bad image that

play05:45

you can't rust netlify you know the next

play05:47

time you're probably hosting an image

play05:49

which is like 1 MB 2 MB you know you're

play05:51

not running any Optimizer or let even go

play05:53

of that let's just assume you know

play05:55

you're hosting something like a Monaco

play05:56

editor or a VSS code sort of instance

play05:58

which we also do on on code Dam so if I

play06:00

show you for example this instance over

play06:03

here which let's say if you boot up this

play06:05

playground so you're going to see that a

play06:07

vs code like editor opens up now this

play06:10

syntax highlighting which you see this

play06:12

syntax highlighting can you see that

play06:13

these keywords are of different colors

play06:16

just like how it works in VSS code you

play06:18

know how that is possible that is

play06:19

possible through a vasam bilary called

play06:21

onm so o GM if you Google this this

play06:25

onm binary it's a web assembly Port of

play06:29

something that is required for this

play06:32

tokenization and colorful syntax which

play06:34

you see so basically this vam binary or

play06:37

this package is required for VSS code to

play06:40

provide syntax highlighting and for

play06:42

reasons which I don't want to get into

play06:44

this video but you need to host this

play06:46

binary under your own main domain right

play06:49

so you have to have that as a static

play06:50

asset on your domain it's also bundled

play06:52

internally by a node you know it's

play06:54

bundled by the build pipeline itself

play06:56

right so how let's say if something like

play06:58

this happens to code Dam or something

play06:59

like this happens to a website which is

play07:01

using solution like this then how would

play07:04

you would you really say that you know

play07:06

you can just pick your binary and just

play07:08

host it somewhere else I mean that's not

play07:10

the solution right we have to develop

play07:11

better Solutions than just blaming it on

play07:14

the user so we normally discount these

play07:16

kinds of attacks to about 20% of the

play07:18

cost which would make your new bill

play07:21

$20,000 I've currently reduced it to

play07:23

about 5% which is $5,000 I know this is

play07:26

still a lot of money and I apologize for

play07:27

the inconvenience I mean this is is

play07:29

somebody who's imagine it from a

play07:31

scenario like you are not sitting in US

play07:33

you're sitting in a country like India

play07:35

where 5,000 USD is probably months of

play07:39

your salary or months of your savings

play07:41

right for an average developer or for an

play07:43

average person who's by the way like

play07:44

earning relatively well in India also

play07:47

this this sort of behavior is something

play07:49

which is you know which which can be

play07:52

heart crushing it can be very brutal for

play07:55

somebody who's trying to just host a

play07:57

website a static website and they're

play07:58

just experimenting seeing things so yeah

play08:01

it's it's actually bad so he also posted

play08:03

this on Hacker News and nlii CEO

play08:06

response our support team has reached

play08:08

out to the user from thread to let them

play08:10

know that they are not getting charged

play08:11

for this so of course like 100% of the

play08:13

charges charges are removed it is

play08:16

currently our policy to not shut down

play08:17

free sides during traffic Spike that

play08:20

doesn't match attack patterns but

play08:21

instead for giving any bills from

play08:23

legitimate mistakes after the fact

play08:25

apologies that this didn't come through

play08:27

in the initial supporter reply so see

play08:29

here people have also did done some

play08:32

pretty wild Acquisitions on nlii that

play08:35

how on Earth can I as a consumer be sure

play08:37

that nlii has not paid somebody to DS me

play08:40

I mean this is completely fair question

play08:43

I would say but these are some of the

play08:45

questions where you can't do anything

play08:47

about it right so you can't do anything

play08:49

at all right because these are the

play08:51

platforms they are controlled by these

play08:53

platform companies right so at the end

play08:55

of the day their databases are black

play08:58

boxes their databases and what they

play09:00

report to you fundamentally are black

play09:02

boxes what we can just assume is that

play09:04

everyone has the best interest for

play09:06

customers in their minds and nobody's

play09:09

like messing around or you know just

play09:11

tweaking numbers or you know doing

play09:13

things like these to charge or

play09:15

overcharge customers that's the best we

play09:17

can think about just to answer this

play09:19

question there is no way you in in the

play09:21

world can tell that if netlify did that

play09:24

or did not do that because it's their

play09:26

own systems at the end of the day you

play09:28

can't tell it from outside like watching

play09:30

it watching this video like this there

play09:32

is nothing I can do to tell like what

play09:33

happened so yeah that's basically it

play09:36

about this one I think it ended well

play09:40

with the person at least not paying

play09:41

anything I don't see like there is any

play09:43

sort of resolution so far on this that

play09:46

what exactly happened like who dsed so

play09:50

that's it for this video I think it's at

play09:52

least the end was well for at least the

play09:54

person who got dsed I don't think there

play09:56

is still any update on like they say

play09:59

they have the support hasn't come back

play10:01

with the IP information so that's still

play10:03

work in progress yeah what do you think

play10:05

about this let me know in the comments

play10:06

below make sure you like And subscribe

play10:08

thank you so much for watching and I'll

play10:09

see you in the next video really

play10:26

soon

Rate This

5.0 / 5 (0 votes)

Related Tags
WebHostingCostOvershootBandwidthServerlessComputeDDoSProtectionCloudProvidersNetlifyResponseHackerNewsSupportIssuesOnlineSecurity