Hacker News new | ask | show | jobs
by krab 815 days ago
Looks awesome! Trying to use it for a toy project, I realized you almost always need some persistence layer. I see you support volumes and you have some guides about deploying databases. How does that work? Are they also "scale to zero"? Why is Postgres special? Referring to the "contact us" mention.

Or if I want to "bring my own DB", what are the latencies to other providers? Can I somehow host a DB in the same datacenter as you are?

What do you recommend for serious usage when I want low latencies app <-> DB and I don't want to lose any data? :-)

Another question - is there something like cron?

1 comments

Volumes are persistent, block devices which you mount to a path and are initialized and de-initialized by the kernel which we boot up and shut down, respectively, based on autoscale/scale-to-zero configuration. This means that if your application uses said volume it will be able to access it during its online-lifetime. That said, because they are persistent, it means that they are not as ephemeral (or "scale-to-zero") as the instance itself on KraftCloud.

Because KraftCloud leverages Unikraft, a unikernel library OS project, we are single-process. Postgres is multi-process since it uses the fork() syscall. If you require Postgres, we can set it up for you as a managed service. That said also, we are currently working on supporting fork() and this should become available in the next few weeks/end of April.

Re: bring your own DB: yes. We are setting up metros in many popular hyperscalers and IaaS vendors and DC zones. This means there should be no egress fees and you'll have data locality.

For serious deployments, be close to your data. If you get in contact (alex@unikraft.io), we can discuss further how we are approaching this.

And yes, we are working on cron, this will translate to setting up an instance to start at a regular interval and not auto-restart it (so it scales-to-zero). :-)