from Hacker News

Hetzner Object Storage

by polyrand on 10/7/24, 12:41 PM with 185 comments

  • by bhouston on 10/7/24, 1:07 PM

    I am always scared to put too much trust in new Object Storage services. I love Hetzner and similar but until this new service has been around for a while, I'd only use them for stuff I can afford to lose. From the outside as a consumer of these services you do not know how robust they actually are on the inside.

    I remember the data loss from OVH where they put backups in the same building as the primaries and people only found out about this once a fire took out the whole building:

    https://blocksandfiles.com/2023/03/23/ovh-cloud-must-pay-dam...

  • by ChocolateGod on 10/7/24, 1:16 PM

    Did some benchmarks, not too bad.

      Benchmark finished! block-size: 4.0 MiB, big-object-size: 1.0 GiB, small-object-size: 128 KiB, small-objects: 100, NumThreads: 6
      +--------------------+--------------------+------------------+
      |        ITEM        |        VALUE       |       COST       |
      +--------------------+--------------------+------------------+
      |     upload objects |       207.02 MiB/s | 115.93 ms/object |
      |   download objects |       405.78 MiB/s |  59.14 ms/object |
      |  put small objects |    278.4 objects/s |  21.55 ms/object |
      |  get small objects |    498.5 objects/s |  12.04 ms/object |
      |       list objects | 40977.06 objects/s |      14.64 ms/op |
      |       head objects |   1995.4 objects/s |   3.01 ms/object |
      |     delete objects |    312.1 objects/s |  19.22 ms/object |
      | change permissions |        not support |      not support |
      | change owner/group |        not support |      not support |
      |       update mtime |        not support |      not support |
      +--------------------+--------------------+------------------+
    
    Currently have a project using OVH, which is slower, but than I guess there's currently less load on Hetzner.

      Benchmark finished! block-size: 4.0 MiB, big-object-size: 1.0 GiB, small-object-size: 128 KiB, small-objects: 100, NumThreads: 6
      +--------------------+-------------------+------------------+
      |        ITEM        |       VALUE       |       COST       |
      +--------------------+-------------------+------------------+
      |     upload objects |       80.82 MiB/s | 296.94 ms/object |
      |   download objects |      274.61 MiB/s |  87.40 ms/object |
      |  put small objects |    31.6 objects/s | 189.98 ms/object |
      |  get small objects |   145.1 objects/s |  41.36 ms/object |
      |       list objects | 6293.39 objects/s |      95.34 ms/op |
      |       head objects |   177.7 objects/s |  33.76 ms/object |
      |     delete objects |   136.6 objects/s |  43.93 ms/object |
      | change permissions |       not support |      not support |
      | change owner/group |       not support |      not support |
      |       update mtime |       not support |      not support |
      +--------------------+-------------------+------------------+
  • by ed_blackburn on 10/7/24, 1:08 PM

    Terrific to see native object storage in Hetzner. I think object storage is become a staple for most providers now.

    I can see that Hetzner is starting with WORM capabilities [0]. I wonder if this nascent product is successful they'll consider some of the features that other providers offer such as mutating objects, storage policies, tiering, and conditional writes. I appreciate you've got to start somewhere and this looks terrific for an opening gambit. Kudos Hetzner.

    [0] > Object Storage is mainly used to store and share data as it is not possible to edit any data that you uploaded to a Bucket (objects are immutable). So the main purpose of Object Storage is "WORM", which is short for, "Write once, read many [times]".

  • by systemdave on 10/7/24, 4:10 PM

    As someone who has managed many public Ceph clusters at Linode (now Akamai) since 2016 for both block and object storage, I wish the Hetzner engineers good luck!

    There are a _lot_ of challenges in keeping the clusters secure, reliable, and performant. Make sure you have systems or tools in place to prevent abuse. Be aware of the little nuances of Ceph, like what time lifecycle policies kick off, or when dynamic bucket resharding will kick in (and block client writes!).

    If possible, conduct extensive failure testing in a lab environment under simulated load to see how your clusters will really behave when it eventually happens. Triple check all of your tunables and your pool configuration. Some things like erasure coding profiles are set in stone, and once you have customer data on your clusters, there is no turning back.

  • by espadrine on 10/7/24, 4:18 PM

    AWS: $0.024/GB/month (S3 standard, first 50 TB/month)

    GCP: $0.023/GB/month (standard storage, beyond 5 GB free limit)

    Azure: $0.019/GB/month (hot, first 50 TB/month)

    Cloudflare: $0.015/GB/month (beyond 10 GB free limit)

    Scaleway: ~$0.013/GB/month (single-zone)

    Backblaze: $0.006/GB/month

    Hetzner: ~$5.49/month + $0.0054/GB/month (beyond 1TB free limit)

    Egress costs vary though.

  • by fabian2k on 10/7/24, 1:03 PM

    One thing I noticed is that some limits seem rather low, I'm not sure if this is for the beta only or by design. Particularly the 1 Gbit/s limit per bucket and the 10 buckets for all projects.

    Is it typical to have such per-bucket limits? This means that you might have to take them into account when deciding on how to organize the data to avoid bottlenecks.

  • by Hamuko on 10/7/24, 1:29 PM

    I don't understand the pricing. There's a base fee of 0.0081 €/h, which I guess then is translated into 5.00 €/month? Or is that 0.0081 €/h + 5.00 €/month? And that gives me a 1 TB-hour of free usage, and if I use the object storage for the whole month, it's 720 TB-hours of free usage, except if the month has more or less than 30 days (so it's actually between 672 TB-hour and 744 TB-hour of free quota of storage)? And those TB-hours expire at the end of the month, so you might as well store files if you're under a 1 TB?

    Amazon S3 pricing looking more and more sane.

  • by KronisLV on 10/7/24, 2:29 PM

    A while ago I needed something managed, very cheap and S3 compatible and I went with Contabo Object Storage: https://contabo.com/en/object-storage/

    Admittedly I got my money's worth, for about 3 EUR for the very basic plan of 250 GB storage, I get upload speeds of about 6-9 MB/s and download speeds of about 25 MB/s, which is okay for what I'm trying to do. That said, it doesn't seem like there's a way to create additional users with access to only specific buckets not all of them for the same service and the overall offering does feel a bit jank (e.g. when you don't have an active service, you can't log into Contabo at all and while their Object Storage site is nice, the regular VPS one feels functional but dated).

    What I'm saying is that when it comes to budget options, Hetzner will probably do great, since they have a good track record and it's not like there are that many other alternatives out there!

    Of course, I could have also gone with just self-hosting with MinIO, Garage or SeaweedFS, as long as the VPS that I'd get would also have enough storage. It's nice that there are self-hosted options, too, I almost dread when I see bespoke object storage solutions at work, either developed before S3 was a thing or because the devs just didn't know or had a case of NIH, so I have to look at how a bunch of blobs are passed through servlets and serialized/deserialized, as well as deal with custom metadata and permission mechanisms.

  • by amanda99 on 10/7/24, 2:01 PM

    It's interesting that they implement AWS bucket policies, including all AWS-specific syntax/keys/etc, even "arn": https://docs.hetzner.com/storage/object-storage/faq/s3-crede...
  • by GavinAnderegg on 10/7/24, 1:44 PM

    Might be a stupid question, but why did Hetzner take off? I feel like I’d barely heard of them before last year, but now they’re the go-to hosting suggestion from many. Are they just a solid host, or do they offer something extra? Their website makes them looks almost generic, so I assume it’s not marketing.
  • by Fornax96 on 10/7/24, 2:50 PM

    So, I don't want to sound like a conspiracy theorist, but this announcement has extremely suspicious timing.

    You see, I host a cloud storage service on Hetzner. I have 12 PETABYTES of user data stored there. The data is spread over 120 of their SX type storage servers. Last week Hetzner sent me an email saying they were closing my account for an unknown reason. I have repeatedly been asking about the reason of this sudden closure, but they won't tell me. Meanwhile I have a huge problem, because I need to move 12 PB to a different hosting provider, and they only gave me until the end of November. That's an almost impossible deadline for setting up such a large storage cluster. Especially considering that Hetzner's 1 Gbps port speed makes it impossible to transfer the data in less than three weeks.

    Don't trust Hetzner, guys. They screwed me over real bad here, and it seems like they will be taking the hardware that I have been renting there for 10 years for themselves now. This is incredibly scummy behaviour.

  • by twic on 10/7/24, 3:53 PM

    Since we're talking object storage, a question for the collective brain: are there any object storage solutions, cloud or on-prem, which support any sort of "operator pushdown"?

    By "operator pushdown", i mean any ability to filter or map over the contents of the object on the server side in some way, sending only the results over the network to the client.

    For example, say you have a huge CSV file of customer orders in a bucket. You might want to find the timestamp of all the orders which included a particular product. If all you can do is stream the whole file, then you need to do that, just to pick out a few timestamps. But you could imagine a kind of request where you say "only give me lines where the product ID is P01234, and only send the timestamp column". Perhaps you would express that as a pair of regular expressions, or a sed program, or a Lua script, or maybe the server would understand CSV and let you write something a bit like SQL. There are all sorts of ways it could be done. Providing a fully general way might be tricky, but it wouldn't need to be fully general to be useful.

    I appreciate that if you want to do this sort of access frequently, you should probably be using a database, not object storage. But it seems like a very useful feature to layer on top of object storage, and one that feels like it should be fairly cheap to execute - the server has to do a small extra amount of computation, but then needs a lto less network bandwidth.

  • by todotask on 10/7/24, 1:10 PM

    Wow, I just saw "Hetzner goes Singapore", have been waiting for a decade.
  • by Neil44 on 10/7/24, 1:15 PM

    Linode also has S3 compatible storage now, Backblaze B2 buckets have S3 access too
  • by baggy_trough on 10/7/24, 1:06 PM

    $5.29 per TB/mo for storage. Backblaze is at $6, so not revolutionary.
  • by skartik on 10/7/24, 1:32 PM

    I am trying to register on Hetzner and not able to. I get the account verification email but after verification I am not able to login to the account and also do not receive any Hetzner email with login or account information. Strange. Yeah, I am from from India, so maybe that's why. Anyone else? Who is not able to register?
  • by kondro on 10/7/24, 12:58 PM

    The 1000 requests per second per bucket limit feels pretty small.
  • by marvinblum on 10/7/24, 2:53 PM

    We've been using Hetzner for years for Pirsch [0] now, and so far we had a great experience. I migrated all of our data from AWS S3 to their new object storage without issues. We only use it for user pictures and small files (white-labeling logos and such).

    This is one of the rare cases where AWS is actually cheaper for us. It's probably more worth it if you have a lot of data. The only thing we're missing now is SES, and then we've fully migrated away from AWS :)

    [0] https://pirsch.io

  • by andrewstuart on 10/7/24, 1:30 PM

  • by Havoc on 10/7/24, 1:12 PM

    Oh that’s fun. I can see heztners brand of cheap but decent doing well in this space.

    Keen to see what is available to protect public buckets though to prevent huge bills from malicious actors

  • by bluedino on 10/7/24, 2:10 PM

    What does this kind of stuff run on the back end? Is it Ceph? Is it something custom like BackBlaze B2?
  • by topicseed on 10/7/24, 1:10 PM

    1k rps per bucket though ...
  • by CyberDildonics on 10/7/24, 2:29 PM

    What is the difference between an "object store" and a file system if it runs at speeds that a basic filesystem can easily match?
  • by dangoodmanUT on 10/7/24, 1:39 PM

    Seems you can only move like 1TB/mo of data though? And a limit of 24TB of storage per account is also quite low.
  • by n3storm on 10/7/24, 12:58 PM

    Works good. Not so cumbersome options as other providers.
  • by indulona on 10/7/24, 1:25 PM

    i was interested in hetzner and their services, until i tried to sign up and, after they verified my payment card and all went well, i instantly got account suspended email and that was it. and i am glad it happened. i cannot imagine having a tiny problem later on, costing me money, with a company like that.

    btw backblaze is the best object storage offer on the planet at this time(i have research all options). second would be wasabi.

  • by drpossum on 10/7/24, 12:59 PM

    Is this new or just an advertisement?
  • by impulser_ on 10/7/24, 6:09 PM

    How does Hetzner compare to DigitalOcean? Lately I have seen a lot of people pushing Hetzner.
  • by OutOfHere on 10/7/24, 1:12 PM

    Will they delete the entire account if I store the banned word "bitcoin" as an object? (They probably will.)