Cloud Native Principles
Storage
Reference URL: https://thenewstack.io/achieve-persistent-storage-kubernetes-production/
In my quest to understand what the narrative is for storage and persistence in a cloud native architecture, I found that while container related technologies such as Docker and Kubernetes may have solved many problems for coding within the cloud, it still needs to provide a more complete solution for persistence and storage.
Ideally, some of the principles that a Cloud Native Storage should provide are:
Application-centric: Storage that is provided to and consumed by the application rather than the OS or hypervisor.
Platform Agnostic
Declared and Composed: Just like any other resources required by applications and servers.
API Driven: Making them easy to provision, consume, move and manage.
Natively Secure: Integrate security features such as encryption and RBAC
Agile: Be able to move application data between locations, dynamically resize volumes for growth and create snapshots for retention, backup and quick restore.
Available: Be highly available, durable and consistent.
Unfortunately, current storage solutions available do not come close to meeting the above principles of cloud native storage.