News for hackers. Stuff that matters.
Re:Why Is Storage on Kubernetes So Hard? by wora on Sunday January 13, 2019 @03:58PM (#18898640)
I saw many comments about stateful workloads. I am not sure it is a necessary issue for cloud environment.

Within a zone or a cluster, the latency is about 1ms, which is faster than most hard disks. The network bandwidth is on par with disk throughput. What we really need is a faster database and a faster object storage that can match the network performance (1ms and 10Gbps), then all workloads can be stateless.

If one uses a VM on GCP, the VM has no local storage besides the small local SSDs. Practically even the VM is stateless besides some cache.

Re:Why Is Storage on Kubernetes So Hard? by outworlder on Sunday January 13, 2019 @04:04PM (#18898672)
> The network bandwidth is on par with disk throughput

Yes, and most storage you have access to, in cloud environments, is network attached. GCP disks, AWS EBS volumes, etc. All network and outside the hypervisors. You may have some local storage, but that's ephemeral, by design.

However, since we are talking about Kubernetes: not only VMs are ephemeral, but your containers are ephemeral too! And they can move around. So now you (or rather, K8s) need to figure out which worker node has the pod, and which storage is assigned to it, and then attach/detach accordingly.

This is what persistent volumes and persistent volume claims give you. They actually work fine already for StatefulSets.

Now, if you are in a cloud environment you should look into the possibility of using the hosted database offerings. If you can (even at a price premium), that's a great deal of complexity you are going to avoid.

Re:Why Is Storage on Kubernetes So Hard? by uluyol on Sunday January 13, 2019 @04:14PM (#18898720)
With stateless services, forwarding requests to underlying storage and serialization can dominate resource consumption. After all, some services will do little besides fetch the right content and transform the data somehow.

Addressing this requires caching data in memory while making sure those caches are also disjoint so that you fully utilize your cluster memory. This has driven Google (and others) to make some services semi stateful and build dynamic sharing infrastructure to make this easier [1].

[1] https://ai.google/research/pubs/pub46921

Re:Why Is Storage on Kubernetes So Hard? by lostmyoldone on Sunday January 13, 2019 @06:43PM (#18899469)
From a database perspective, 1ms to disk is an eternity.

A good disk subsystem had less write latency than that in the early 90’s.

Re:Why Is Storage on Kubernetes So Hard? by wora on Monday January 14, 2019 @12:28AM (#18900883)
Write to disk has no practical latency because of write buffer, either local file system or remote database. Flush to disk would be slow unless you use SSD.

On the other hand, a single machine has limited reliability. If one wants to have high availability, they needs to dual write to another machine, which also has network latency.

Re:Why Is Storage on Kubernetes So Hard? by 0xEFF on Sunday January 13, 2019 @07:42PM (#18899718)
I don’t think that’s true. I recall ~5ms seek times being top of the line.
Re:Why Is Storage on Kubernetes So Hard? by cat199 on Sunday January 13, 2019 @08:19PM (#18899863)
he said 'subsystem' not 'disk'-

what was the latency to the controller with ram cache?

using seek time as a measure is also somewhat worst case - controllers/filesystems also queue(d) according to drive geometry.