From File Systems to the Cloud and Back
From File Systems to the Cloud and Back
Cloud storages today are a fantastic alternative to keeping information on local computer system or in NAS storage. Started with Amazon S3, such options are provided by a lots of companies, consisting of Microsoft with their Azure Blob Storage.
The benefits of cloud storage are nearly limitless storage capacity (use as much as you require, not as you have), the distance in between the storage and your area (the data will not be lost in a mishap or fire, and gain access to of 3rd parties to your information is badly limited), reduced expense of information management.
At the same time cloud storage works in the manner in which doesn't match routine approaches to storage access, such as hierarchical file systems and relational databases. Internally designed as substantial tables with an index and BLOB field for information, they do not offer sufficient versatility that file systems or database management systems can use to the developer and user. The designer needs to perform translation between the information he has in the application and the back-end cloud storage.
One more significant disadvantage is a distinction in between APIs, used by various services. While the majority of services use so-called REST API, this API remains in reality a format for demands and actions sent out over HTTP. Request commands, parameters and functions offered by services, vary significantly. Due to this switching between cloud services requires writing of different code for each API.
Finally, the primary factor of (in) approval of storage based services is a question of guaranteeing data safety. Though provider tell us about encryption used on their side, such file encryption is carried out on their systems and there's no warranty that it's truly trustworthy and if it is even carried out. So safety of the information is a genuine problem and not a dream of cloud storage opponents.
Thankfully, there exists a possibility to resolve all of the above issues in a simple and really affordable way.
Strong File System (SolFS) provides the missing 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, but with blocks (sectors on the disk, pages in memory) of repaired size. This makes it easy to back SolFS with nearly any storage.
To make such backing possible SolFS supports callback mode, in which it asks your application to shop or recover the block to or from the back-end storage. So all you need to do is execute two basic functions "put the page #X to the cloud storage" and "obtain the page #X from the storage" in your code, which's all - you have a file system in the cloud!
But that's not all SolFS can offer. The file system offers numerous sophisticated functions, such as built-in file encryption and compression (carried out in your corner, if you remember the cloud security issue referenced above), almost limitless possibilities for storing metadata (numerous extra details about the primary file or information), and to perform SQL-like search for files. Moreover, if you need custom-made file encryption (eg. utilizing keys stored 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 issues 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 works with them via database management system of your option.
One more advantage of SolFS is that moving from one cloud storage service to another is as easy as rewriting 2 fundamental functions for saving and recovering 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 shops and recovers fixed-sized files (each page has the exact same size) by page number, than to attempt to implement 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 parts that provide uniform access to different cloud storage services. These components both provide uniform access to cloud storages (Amazon S3, Microsoft Azure at the moment with more to come) and offer improved file encryption capabilities, such as certificate-based encryption of data. So if you are moving to the cloud, you don't require to discard recognized paradigms and existing code. Upgrading them to modern market offerings is easy and quick.
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