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.