From File Systems to the Cloud and Back
Cloud storages today are an excellent alternative to saving information on regional computer system or in NAS storage. Started with Amazon S3, such services are provided by a dozen of companies, including Microsoft with their Azure Blob Storage.
The advantages of cloud storage are almost infinite storage capacity (usage as much as you require, not as you have), the distance 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 data is significantly restricted), decreased expense of data management.
At the very same time cloud storage operates in the manner in which doesn't match routine approaches to storage access, such as hierarchical file systems and relational databases. Internally created as big tables with an index and BLOB field for information, they do not provide enough flexibility that submit systems or database management systems can use to the developer and user. The designer requires to carry out translation in between the information he has in the application and the back-end cloud storage.
One more considerable disadvantage is a distinction between APIs, offered by various services. While most of services use so-called REST API, this API remains in reality a format for requests and reactions sent out over HTTP. Request commands, parameters and functions used by services, vary significantly. Due to this changing between cloud services requires writing of separate code for each API.
Finally, the primary factor of (in) approval of storage based options is a question of ensuring information safety. Though provider tell us about file encryption used on their side, such encryption is performed on their systems and there's no assurance that it's really dependable and if it is even performed. So security of the data is a real issue and not a dream of cloud storage challengers.
Thankfully, there exists a possibility to resolve all of the above problems in an easy and very economical way.
Strong File System (SolFS) offers the missing out on pieces that fit well into cloud storage architecture.
As the majority of file systems, SolFS is page-based. This indicates that it runs not with random series of bytes, however with blocks (sectors on the disk, pages in memory) of repaired size. This makes it easy to back SolFS with practically 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 implement 2 simple functions "put the page #X to the cloud storage" and "obtain the page #X from the storage" in your code, and that's all - you have a file system in the cloud!
But that's not all SolFS can offer. The file system provides a number of advanced features, such as integrated encryption and compression (performed in your corner, if you remember the cloud security problem referenced above), almost limitless possibilities for storing metadata (different extra details about the main file or data), and to carry out SQL-like search for files. Furthermore, if you require customized 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 problems either! You can utilize your preferred DBMS and have it store it's files on the virtual disk, produced by SolFS (System Edition). By doing this the database files are kept in the cloud storage, and your application deals with them by means of 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 two standard functions for storing and obtaining of pages to and from the cloud storage.
You can state that you still require the code, that works with the cloud. This is right, however it's much easier to compose the code that shops and recovers fixed-sized files (each page has the exact 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 a solution for you too. It's CloudBlackbox - the parts that provide consistent access to numerous cloud storage services. These elements both provide uniform access to cloud storages (Amazon S3, Microsoft Azure at the minute with more to come) and supply boosted file encryption abilities, such as certificate-based file encryption of data. So if you are relocating to the cloud, you don't need to discard recognized paradigms and existing code. Upgrading them to contemporary 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