From File Systems to the Cloud and Back
Cloud storages today are a terrific alternative to saving data on regional computer or in NAS storage. Begun with Amazon S3, such services are used by a dozen of companies, consisting of Microsoft with their Azure Blob Storage.
The benefits of cloud storage are nearly boundless storage capability (use as much as you require, not as you have), the range in between the storage and your location (the information will not be lost in an accident or fire, and gain access to of 3rd parties to your information is seriously restricted), decreased cost of information management.
At the same time cloud storage works in the way that doesn't match routine techniques to storage access, such as hierarchical file systems and relational databases. Internally developed as big tables with an index and BLOB field for information, they do not provide adequate versatility that submit systems or database management systems can offer to the designer and user. The designer needs to carry out translation between the information he has in the application and the back-end cloud storage.
Another considerable disadvantage is a difference between APIs, offered by different services. While the majority of services offer so-called REST API, this API remains in reality a format for requests and responses sent out over HTTP. Request commands, specifications and functions used by services, differ substantially. Due to this changing in between cloud services needs writing of separate code for each API.
Lastly, the primary aspect of (in) approval of storage based services is a question of ensuring information security. Though service providers inform us about encryption used on their side, such file encryption is performed on their systems and there's no warranty that it's really dependable and if it is even carried out. So security of the data is a real issue and not a dream of cloud storage challengers.
Luckily, there exists a possibility to resolve all of the above issues in an easy and extremely economical method.
Solid File System (SolFS) offers the missing out on pieces that fit well into cloud storage architecture.
As a lot of file systems, SolFS is page-based. This suggests that it operates not with random sequences of bytes, however with blocks (sectors on the disk, pages in memory) of repaired size. This makes it simple to back SolFS with nearly any storage.
To make such support possible SolFS supports callback mode, in which it asks your application to store or retrieve the block to or from the back-end storage. So all you need to do is carry out 2 basic functions "put the page #X to the cloud storage" and "recover the page #X from the storage" in your code, which's all - you have a file system in the cloud!
However that's not all SolFS can offer. The file system offers a number of advanced functions, such as built-in encryption and compression (carried out in your corner, if you keep in mind the cloud security problem referenced above), almost limitless possibilities for storing metadata (numerous extra info about the primary file or data), and to carry out SQL-like search for files. Additionally, if you need customized file encryption (eg. using keys kept on cryptographic hardware tokens), this is possible with two other callbacks - "encrypt page #X" and "decrypt page #X".
And what if you need not a file system, but a relational database? No problems either! You can use your favorite DBMS and have it keep it's files on the virtual disk, created by SolFS (System Edition). This way the database files are kept in the cloud storage, and your application deals with them by means of database management system of your choice.
One more advantage of SolFS is that moving from one cloud storage service to another is as simple as rewording 2 basic functions for keeping and obtaining of pages to and from the cloud storage.
You can say that you still require the code, that works with the cloud. This is appropriate, but it's much easier to write the code that stores and recovers fixed-sized files (each page has the very same size) by page number, than to try to carry out a relational database or a file system in the cloud yourself.
If you don't want to write cloud-specific code at all, we have an option for you too. It's CloudBlackbox - the elements that offer consistent access to various cloud storage services. These components both offer consistent access to cloud storages (Amazon S3, Microsoft Azure at the moment with more to come) and provide improved file encryption abilities, such as certificate-based encryption of information. So if you are relocating to the cloud, you don't need to dispose of recognized paradigms and existing code. Upgrading them to modern-day industry offerings is simple and fast.
PLease visit our site: https://evrhub.com/10xdrive-review/
https://respectfulsuccubus.tumblr.com/post/190793036305
https://randomgirl543.tumblr.com/post/190793048237
Comments
Post a Comment