I found this article on OSv blog 
- http://blog.osv.io/blog/2017/06/12/serverless-computing-with-OSv/ - very 
interesting and inspiring. Besides the claim that OSv is a perfect platform 
for "serverless" it made me think that "stateless" does not apply only to 
"serverless" but also to many long-lived apps running on regular VMs. In my 
experience I have developed many apps reading/writing from/to external 
storage (MongoDB in Mongo Labs, DynamoDB, S3, RDS on AWS, etc) and 
communicating over HTTP, SNS, SQS with outside world that would not need to 
store anything locally except for logs (even that can be set up to be 
pushed to a remote logging service like Loggly 
(https://www.loggly.com/docs/java-logback/)). 

But more to the point: if one wanted to use OSv for serverless or stateless 
service I think that ramfs instead of zfs would be the best file system to 
use. It would allow for fastest boot time as well as disk I/O (am I right 
here?). As I understand the existing ramfs implementation in OSv has some 
limitations like size of the image related to how kernel get decompressed, 
etc. Also comes with unnecessary linked-in zfs code and possibly dependant 
libraries. Also it probably unnecessarily probes storage devices which 
means the storage drivers code could also be removed. 

Could someone please elaborate/summarize the status of current ramfs 
implementation? What features does it have? Please see some questions below:

   - Is it read-only?
   - Is it faster than zfs?
   - How does it utilize memory relative to the application?
   - What limits does it have
   - Does size of the image affect boot time? 

Also what would be the list of things to be enhanced/fixed in OSv to make 
ramfs images more "production-ready" and applicable to bigger apps (running 
on JVM) in priority order?

I experimented with ramfs a little and I was able to build and run ramfs 
image with httpserver module. For some reason I failed to create and run an 
image with java app possibly due to the image size limit - I think the 
build process at some point got stuck. I used openjdk8 compact 3 with java 
beans which I think is under 50MB uncompressed. I thought I found an 
example of someone successfully building and running spring boot on ramfs.

Also I found more information here:

   - 
   
https://groups.google.com/forum/#!searchin/osv-dev/zfs$20less%7Csort:date/osv-dev/dK3jDR-TYyk/069QUCJeCQAJ
   - https://github.com/cloudius-systems/osv/pull/646
   - 
   
https://github.com/cloudius-systems/osv/commit/714cfd97e48ba5fecba224430762d2c8aac7c0eb
   - https://github.com/cloudius-systems/osv/issues/195)
   
Waldek

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to