LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

Figma Spends $300K a Day on AWS and Signed a 5-Year Contract for $545 Million - Is That Too Much?

FigmaFigma is a popular tool that is used by tons of companies to design user interfaces.  If you’re spinning up a new application, Figma is a product you’d use to lay everything out visually before you start writing code.  Adobe tried to buy them to “usher in a new era of collaborative creativity,” alas that new era was canceled due to regulatory oversight.  Now Figma is going public.

Their S-1 filing reveals how massively dependent on Amazon AWS they are, and it’s a cloud case study.  They’re spending $300,000 per day on AWS services, and recently signed a 5-year deal in which they agreed to spend $545 million.

For a company with annual revenue of $750m, shipping 15% of every dollar coming through the door to Amazon is pretty hefty.

Of course, they have to spend some money on hosting their services.  The question is if AWS is the right choice.

Is that Necessary?

You may recall in 2024, 37signals (the makers of Basecamp and other web-based groupware) decided that spending $3m+ on AWS was wasteful, so they insourced everything to their own gear and hosting and cut the bill by two-thirds.

For firms that are primarily using VMs, AWS (or Azure or GCP) is probably the wrong choice.  They’re premium-priced and bandwidth is extremely expensive.  I’d argue that either renting dedicated servers and building your own fabric, or colocating gear, is a cheaper choice.  Granted, you do have to have technical staff to manage things like high availability, but you’re going to need technical staff regardless.  I’m talking about hosting VMs here, and if you’re running your own images, you need to patch them, secure them, back them up, etc.  Cloud isn’t saving you anything.

Where the analysis becomes…well, cloudy, is all the other hosted services.  DBaaS, S3, CDN, IAM, etc. are very convenient to use.  You can knit together very complicated applications using these services’ APIs.  Spinning up the same services can be done (for most things) but of course that increases the admin burden.  At what point do the lines cross, where it’s more expensive to run and maintain all of these services yourself as opposed to hosting them in the cloud?

And of course, the cloud has other advantages.  If you have a latency-sensitive application, the ability to spin up a service very close to the user base is quite convenient, as is the ability to dynamically vary the resources and sizing for that service.  If you’re Netflix, for example, the cloud is a no-brainer, because the ability to stream near each user and spin up/down the load as needed is invaluable.

But for Figma, what is the cloud buying them?  No doubt, the AWS API is a nice toolbox to work with.  But half a billion dollars’ worth of nice?

What Services is Figma Using?

Their S-1 doesn’t list the Amazon services they use, but their careers page gives us some clues.

For AWS, it mentions DynamoDB, as well as other databases that are presumably DBaaS.  Interestingly, there is also a lot of mention of NetSuite, Salesforce, and Snowflake.  The former two are just a business apps, and presumably systems they’re using to run their business.  But Snowflake is a cloud database service that presents a toolbox for people to use, so that’s another layer of cloud.

According to Figma, their entire customer database is run on a single database:

One of things people are most shocked to learn about Figma’s infrastructure is that it’s backed by a single database instance running on one of the beefiest machine in AWS.

That blog post was from back in 2019, so perhaps things have changed.

What do you think?  Is this a case where someone needs to tell the Figma CTO that the emperor has no clothes, or is this is a rational leveraging of cloud capabilities?  Let us know your opinions in the comments below!

 

No Comments

    Leave a Reply

    Some notes on commenting on LowEndBox:

    • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
    • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
    • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

    Your email address will not be published. Required fields are marked *