Live data from Hacker News

We saved $500k per year by rolling our own "S3"

engineering.nanit.com

161–170 of 261 posts

Re: We saved $500k per year by rolling our own "S3"

#161
post #24
post #8

Earlier quoted context omitted.

Yeah, so now you're basically running a heavy instance in order to get the network throughput and the RAM, but not really using that much CPU when you could probably handle the encode with the available headroom. Although the article lists TLS handshakes as being a significant source of CPU usage, I must be missing something because I don't see how that is anywhere near the top of the constraints of a system like thi…

Maybe they’re not using keepalives in their clients causing thousands of handshakes per second?

Yes, they mention this as a 'fix' for connection-related memory usage:

> Disable keep-alive: close the connection immediately after each upload completes.

Very odd idea.

Re: We saved $500k per year by rolling our own "S3"

#163
post #82

Earlier quoted context omitted.

> Self-hosted video isn't that hard Self-hosting video is not something the typical user of a baby monitor would ever even consider.

Extraordinary claims require extraordinary evidence. I'm not leaving a baby at home while I go on vacation. I would never be on another network, even. Why need the cloud?

Maybe you want it to be easy to grant a babysitter access to the cameras temporarily and not bother getting them VPN'en into your CCTV network.

Maybe you want to check up on the babysitter (as creepy as that sounds, there might be good reasons). Or you're traveling but your partner is home, and you want to be able to see your sleeping child from half a world away.

I do think we've gone to far in the direction of cloud-only, but I don't think it's a bad option of have. The problem I have is that many of the companies running these services have really terrible security. So for S3 for a nanny cam, I'd assume that each customer have their own bucket, with their own credentials, but I doubt that's the case.

Re: We saved $500k per year by rolling our own "S3"

#164
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

Now imagine all that video/audio footage being used/sold for AI training data.

Re: We saved $500k per year by rolling our own "S3"

#165
post #59

In HN style, I'm going to diverge from the content and rant about the company: Nanit needs this storage because they run cloud based baby cameras. Every Nanit user is uploading video and audio of their home/baby live to Nanit without any E2EE. It's a hot mic sending anything you say near it to the cloud. Their hardware essentially requires a subscription to use, even though it costs $200/camera. You must spend an add…

I actually don’t really get the point of a cloud service for this. Aren’t babies usually left in situations where there’s at least one trusted adult locally available?

The "point" of the cloud service is that it's sadly usually the easiest way to create a [on-premise-device][user's smartphone/laptop] for B2C/residential deployments of appliances (like the baby monitor in this case).

It's much easier to create a deviceinternet connection + a smartphoneinternet connection that it is to deal with the myriad of issues that occur if you try to do local devicesmartphone connections in networks with unknown topology and quirks (e.g. ISP provider being overly conservative in their firewall presets). If that in general would be a more trivial issue you would see less cloud services.

(You would probably still a similar amount of cloud services due the increased monetization options, but this would level the playing field for local-only options.)

Re: We saved $500k per year by rolling our own "S3"

#167

This feels like they were using the wrong architecture from the start, and are now papering over that problem with additional layers of cache. The only practical reason to put a video in S3 for an average of 2 seconds is to provide additional redundancy, and replacing that with a cache removes most of the redundancy. Feels like if you uploaded these to an actual server, the server could process them on upload, and yo…

Yes, it's simple, S3 is for storing objects, not for processing.

Don't know how they came up with such a bad and complicated cloud design for something that is straight forward.

Re: We saved $500k per year by rolling our own "S3"

#168
post #67

Earlier quoted context omitted.

As a happy customer, I picked nanit because it actually worked. We didn’t even use the “smart” features, but “you can turn on the app from anywhere you happen to be and expect the video feed to work” is unfortunately a bar that no competitor I tried could meet. The others were mostly made by non-software companies with outsourced apps that worked maybe 50% of the time. I wish we could have local-first and e2ee consum…

I self host my "baby monitor" with UniFi Protect on UCG-Max and a G6 Instant wireless camera. It's more work to setup, but pretty easy for a techie. It has the "turn on the app anywhere and it works" feature, and with a 2TB SSD I get a month+ of video storage. Because storage is local, it doesn't need to compress the video and I get a super clear 4K image. And I use Homebridge to expose the camera over Apple HomeKit…

This is indeed far more of a "HN Style" comment.

Re: We saved $500k per year by rolling our own "S3"

#169
post #155

Earlier quoted context omitted.

Yes, the normal solution to wondering how a baby is doing is to look over at it.

24/7?

> There is usually no noise or evidence of struggle

from [0]

https://en.wikipedia.org/wiki/SIDS

So, 24/7 kinda, yeah... Realistically, the risk is relatively low I'd say, so to still stay a functioning parent with other duties (for baby or otherwise), you don't look 24/7

Re: We saved $500k per year by rolling our own "S3"

#170
This may be an obvious point, but I didn't see it mentioned in the (otherwise excellent) article: I would have been interested in the cost saving in just implementing the 'delete on read' with S3 that they ended up using with the home-made in-memory cache solution. I can't see this on the S3 billing page, but if the usage is billed per-second, as with some other AWS services, then the savings may be significant.

The solution they document also matches the S3 'reduced redundancy' storage option, so I hope they had this enabled from day one.

Post reply on HN