As part of our UKCloud for OpenShift offering (see our previous blog for an insight into OpenShift), one of the questions we regularly get from our customers is around options for cluster resilience and recovery, especially for Enterprise organisations. Last year, we started looking at the tooling available and found that the best option to solve some of these problems was via the integration of Portworx Enterprise storage technology into an OpenShift cluster.
Before we could make Portworx available to customers, we needed to carry out some internal work. This involved the automation of deployments along with integration with our existing architectures, followed by robust testing of the features inline with customer use cases.
As a team we wanted to briefly go over the most compelling solutions offered by Portworx, albeit this is from a technical perspective rather than a sales and marketing viewpoint. From our testing, we’ve found these features solved specific production issues that customers typically face. We will now go through these features:
Replication of volumes for increased fault tolerance. For persistent storage in OpenShift we’ve previously leveraged the OpenStack or vSphere Cloud Provider to provision, attach and detach volumes to nodes where workloads are running. Portworx creates and manages volumes within OpenShift itself, providing the ability to replicate data between multiple Portworx nodes. This feature increases fault tolerance in the event that a node is lost due to an external event.
Decrease in failover times due to storage-aware scheduler. Previously when using OpenStack or vSphere provided storage solutions, the scheduler was responsible for detaching and reattaching volumes (utilising the Cloud Provider API) from one node to another as part of the recovery process. Portworx bundles the STORK scheduler which has visibility of a replica placement within a cluster and helps to significantly decrease the time it takes to recover an affected workload.
Ability to snapshot volumes to provide a point-in-time recovery mechanism. Whilst there are a number of solutions available to perform backup and recovery of volumes in standard OpenShift clusters, to us it made sense to try and find a solution which could provide a one-size-fits-all approach as part of any deployment. Portworx provides functionality to take a point-in-time clone of a volume either as a one-off or on a schedule. These snapshots can be stored either locally within a cluster or external to a cluster. Whilst this functionality doesn’t provide an end-to-end backup solution, we believe its ease of use makes restoring volumes easy and acts as a useful tool within a wider backup strategy.
Disaster recovery through volume replication between clusters. By deploying an OpenShift cluster in each of our geographically separated datacentres, we can support an active-passive failover of a workload across sites through Portworx’s ability to asynchronously replicate data. In the event that the primary site went offline, the secondary site could be configured to take over as a result of a disastrous event with minimal impact.
Better data security through encryption at rest and in transit. Whilst encryption doesn’t directly provide resilience and recovery benefits, it is a feature we felt important to mention. Typically, volume encryption is at the mercy of the cloud provider in terms of the features supported, and often will be encrypted at rest at best. Portworx enables encryption of data both at rest and in transit within an OpenShift cluster, by using an AES-256 cipher stored as a secret. What’s also useful, is that this can be specified at either the storage class level or individually per Portworx volume which enables more granular control of your encryption.
Sharing of volumes between containers. A limitation of using some types of cloud provider backed storage is that the API will only allow one node to attach a volume for consumption by an application at any given time, often referred to as Read/Write Once (RWO). This results in a disadvantage in that in order to share the volume between multiple containers they must all be scheduled to the same host; which doesn’t provide much in terms of redundancy. Portworx enables a single volume to be mounted within multiple containers, often referred to as Read/Write Many (RWX), providing easy scaling for applications such as a webserver serving static content. For more information see this article on the OpenShift knowledge base.
As you see Portworx significantly helps to overcome many of the resilience, recovery and backup challenges faced by organisations. UKCloud customers can now seamlessly leverage Portworx delivered as an integrated service for their OpenShift clusters, helping to reduce complexity and realise the benefits of Portworx Enterprise faster. For more information on UKCloud for OpenShift visit our Knowledge Centre.