Tuesday, 21 July 2015

Where Is My Data?

Availability and Control

Everyone with an interest in data and data management will know that there are scaling levels of availability and assurance. With increasing availability levels comes a decreasing control over exactly where your data resides and, to some, a security risk. Let’s consider a humble word document (other document types are available) and your control over it as it progresses up the availability tree.

Location
Availability
Control
Hard drive (Laptop or PC internal/external USB etc.)
Back it up. Lose it and it’s a restore from last known good backup, sometimes with less than optimal results.
It’s there, in front of you and you can literally see the external drive itself and know that your doc is in there, but depending on where you backed it up to you could potentially lose it in a disaster situation[1].
Simple RAID
RAID two drives together (1 or 10), lose one and you still have another one. Also back it up.
You’ll still be confident that your doc is on both those drives and under your control but, again depending on where you back it up, you could still lose it in a disaster situation.
Storage Array
More complex raid levels (5, 6, DP etc.) so you can potentially lose more than one drive and still have data availability confidence.
Starting to get a little hazy on exactly where your data is. It’s on those hard drives but accessing those drives individually you’d really struggle to get your data back.
Multiple site storage arrays
RAID levels locally which will keep your doc safe and will replicate it across to another site some distance away. Alternatively, the whole array is clustered so it is “highly” available on both sides.
Seems a lot of expense and effort for a little word document …
So exactly where is that doc? Does it exist on both sides? How different are they, in terms of a point in time? Can you put your finger on exactly where it is at any given time? Doubtful.
Private Cloud
Multiple arrays across multiple locations that could be being served, storage wise, from one of any number of platforms. Loss of an entire site can be tolerated.
You can still cling to the fact that your doc is still in one of your datacentres somewhere but it is a very indistinct. The precise location is all but impossible to discern from the end user point of view
Public Cloud/Distributed
AWS, vCloud, Azure etc. potentially utilising object oriented storage[2] and erasure coding to keep data as available as it can possibly be, recoverable even if you lose multiple sites
Your doc now exists as a somewhat ethereal entity. If erasure coding is in play to ensure data is available in the event of multiple site failures, your word doc is pulled apart, combined with other hashing data and spread out over multiple locations. Any single piece of this will be unrecognisable. Try to reassemble it in flight and it will be unrecognisable.

Or …




With increasing availability your word doc moves further away from being under your direct control. Data sovereignty considerations aside, if you want to keep your data in a known state and location, you’ll need to compromise on availability. There’s an intersect somewhere between the two storage options that many organisations occupy, somewhere around the dual site, replication, clustering sort of area. These organisations also increase control with security measures like in-flight and at-rest encryption technologies that work happily alongside distributed data environments, but nonetheless you can’t honestly say “I know exactly where my data is”.
Clearly, knowing the exact location of your data may not be such a good thing in some situations. You can be compromised into divulging the details of your data if you know its’ exact whereabouts but the idea of giving up control of your data to a third party or to technology is still anathema to some.

Control is an illusion

Control is an illusion. No matter how much you think you can control your data there will always be scope for something to take a situation out of your control, so how would you lessen the impact of the relinquishing control? Let’s add another line to the little graph – responsibility.




It follows the availability line closely because, as you give over control, responsibility for loss of the data goes with it. Although you won’t ever lose all responsibility even when you’ve given over complete control, you no longer have the additional overhead of managing the data yourself and being responsible, financially or technologically, for its well-being. Perhaps more importantly, along with a diminished likelihood of data loss, there is greater scope for recourse if it does happen with contracts in place such as service level agreements, uptime guarantees and the like.

Availability is real

At the risk of everyone now having a certain song in their head for the rest of the day, I’ll say “let it go”. Not knowing the precise location of your data is a positive, both from an availability and security perspective. You may not know precisely where your word doc is, but neither does anyone else and, more to the point, in the age of error coded data and 2048bit encryption, it doesn’t actually matter. Being able to access that word document anywhere and in the face of some fairly high end disaster situations is more than a fair compromise for knowing exactly where it is at any given moment.





[1] A disaster can take many forms and mean many different things to the individual and the business but in general a flood fire or earthquake would have a similar impact on both in terms of data loss.
[2] See this related object oriented storage blog