From File Systems to the Cloud and Back
Cloud storages today are a fantastic alternative to keeping data on regional computer or in NAS storage. Started with Amazon S3, such options are offered by a dozen of companies, consisting of Microsoft with their Azure Blob Storage.
The benefits of cloud storage are almost infinite storage capability (use as much as you require, not as you have), the range in between the storage and your place (the information will not be lost in a mishap or fire, and access of 3rd parties to your information is significantly restricted), lowered expense of data management.
At the exact same time cloud storage works in the way that doesn't match regular techniques to storage gain access to, such as hierarchical file systems and relational databases. Internally created as substantial tables with an index and BLOB field for information, they don't offer sufficient versatility that submit systems or database management systems can offer to the designer and user. The developer needs to carry out translation between the data he has in the application and the back-end cloud storage.
One more considerable drawback is a difference between APIs, used by various services. While most of services offer so-called REST API, this API remains in fact a format for requests and reactions sent out over HTTP. Request commands, parameters and functions used by services, vary substantially. Due to this switching between cloud services needs writing of different code for each API.
Lastly, the main aspect of (in) acceptance of storage based services is a question of ensuring data security. Though company inform us about encryption used on their side, such encryption is carried out on their systems and there's no warranty that it's actually reliable and if it is even carried out. So safety of the data is a genuine problem and not a dream of cloud storage challengers.
Thankfully, there exists a possibility to deal with all of the above issues in a basic and really cost-effective method.
Solid File System (SolFS) offers the missing out on pieces that fit well into cloud storage architecture.
As many file systems, SolFS is page-based. This means that it runs not with random sequences of bytes, but with blocks (sectors on the disk, pages in memory) of fixed 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 shop or obtain the block to or from the back-end storage. So all you need to do is carry out two simple 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!
However that's not all SolFS can offer. The file system uses a number of sophisticated functions, such as built-in encryption and compression (performed on your side, if you keep in mind the cloud security issue referenced above), almost endless possibilities for saving metadata (numerous additional details about the primary file or information), and to carry out SQL-like look for files. Additionally, if you need customized file encryption (eg. utilizing keys kept on cryptographic hardware tokens), this is possible with 2 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 store it's files on the virtual disk, created by SolFS (System Edition). In this manner the database files are kept in the cloud storage, and your application works 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 easy as rewording two fundamental functions for storing and obtaining of pages to and from the cloud storage.
You can state that you still need the code, that works with the cloud. This is proper, but it's a lot easier to compose the code that stores 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 do not wish to write cloud-specific code at all, we have a solution for you too. It's CloudBlackbox - the elements that offer consistent access to different cloud storage services. These components both provide consistent access to cloud storages (Amazon S3, Microsoft Azure at the moment with more to come) and offer enhanced encryption abilities, such as certificate-based encryption of data. So if you are moving to the cloud, you do not require to dispose of established paradigms and existing code. Upgrading them to contemporary industry offerings is easy 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