Flywheel takes great pride in providing a world-class scientific data management solution that minimizes risk of data loss or corruption. Data integrity is largely a function of the underlying storage infrastructure. Depending on whether Flywheel is deployed in the cloud or on premises, data integrity responsibilities rest either with Flywheel (based on the underlying cloud provider) or with the customer (on premises).
For reasons of security, scalability, maintainability, and finally data integrity, it is our general recommendation to deploy Flywheel in the cloud.
In the Cloud
Flywheel can be deployed on any of the major public cloud providers: Amazon Web Services, Google Cloud Platform, or Microsoft Azure. As our primary deployment experience lies with Google Cloud Platform (GCP), it will be discussed in detail below. The mentioned concepts, however, apply to the other providers as well.
When deploying on GCP, Flywheel utilizes Google Cloud Storage (GCS, object storage) for all persistent file storage. All GCS storage classes have 99.999999999% durability, achieved through erasure coding that stores data pieces redundantly across multiple disks located in different power and network failure domains.
In addition, Flywheel will configure fully-automated, nightly GCS bucket-to-bucket replication of the primary storage bucket to a secondary coldline bucket. This backup bucket is configured with object versioning, and will act as a perpetual archive of all data uploaded to or generated by Flywheel, even when objects are deleted from the primary bucket.
When Flywheel is deployed on premises, on customer-managed physical or virtual hardware, providing a highly-available and highly-durable storage system becomes a customer responsibility. Flywheel does not assist with or advise on the choice, configuration, deployment, tuning, administration, or security of such system.