Facebook’s Restricted list

Imagine the situation, a family member befriends you on Facebook and you foolishly accept, then find their replies on your posts to be inappropriate or annoying… after all, you can choose your friends but not your family, right?Well, it turns out that

Well, it turns out that Facebook has a feature for situations like this – the Restricted list.

“Putting someone on the Restricted list means that you’re still friends, but that you only share your posts with them when you choose Public as the audience, or when you tag them in the post.

For example, if you’re friends with your boss and you put them on your Restricted list, then post a photo and choose Friends as the audience, you aren’t sharing that photo with your boss, or anyone else on your Restricted list. However, if you tag your boss in the photo, or chose Public as the audience, they’ll be able to see the photo.”

May be useful to know…

Deleting large quantities of Facebook notes

A few years ago, I followed the example of a “social media guru” and set Facebook up to consume my blog’s RSS feed and republish each post as a note.

This was A Bad Thing for a number of reasons, not least:

  1. Copyright – I’m sure that when I upload anything to Facebook, I give them some rights over it (which is why my images are still on Flickr).
  2. Traffic – reproducing content on Facebook might get eyeballs, but it takes that traffic away from your own website and only Facebook gains any revenue. This may be OK if you are selling goods/services that can be monetised via Facebook links but my revenue is from ads: ads on my site = revenue for me; ads on a Facebook copy = revenue for Facebook.
  3. Layout – invariably, despite my best efforts to write good XHTML, the blog posts look better on my site than when scraped into Facebook as notes.

I turned off the feed but deleting the notes was far from trivial. There is no bulk delete option that I can find, and that meant opening each note, scrolling down, clicking delete, etc. In a word, tedious.

I forgot about the notes until last week, when I switched over to timeline view. Arghh. Yes. Must delete those…

…and then I found another method – much quicker – using the iOS Facebook app.

By opening the Notes section of the Facebook app on my iPad, a quick swipe and press was all it took to delete each note. Still tedious, but a lot quicker to get through…

Designing a private cloud infrastructure

A couple of months ago, Facebook released a whole load of information about its servers and datacentres in a programme it calls the Open Compute Project. At around about the same time, I was sitting in a presentation at Microsoft, where I was introduced to some of the concepts behind their datacentres.  These are not small operations – Facebook’s platform currently serves around 600 million users and Microsoft’s various cloud properties account for a good chunk of the Internet, with the Windows Azure appliance concept under development for partners including Dell, HP, Fujitsu and eBay.

It’s been a few years since I was involved in any datacentre operations and it’s interesting to hear how times have changed. Whereas I knew about redundant uninterruptible power sources and rack-optimised servers, the model is now about containers of redundant servers and the unit of scale has shifted.  An appliance used to be a 1U (pizza box) server with a dedicated purpose but these days it’s a shipping container full of equipment!

There’s also been a shift from keeping the lights on at all costs, towards efficiency. Hardly surprising, given that the IT industry now accounts for around 3% of the world’s carbon emissions and we need to reduce the environmental impact.  Google’s datacentre design best practices are all concerned with efficiency: measuring power usage effectiveness; measuring managing airflow; running warmer datacentres; using “free” cooling; and optimising power distribution.

So how do Microsoft (and, presumably others like Amazon too) design their datacentres? And how can we learn from them when developing our own private cloud operations?

Some of the fundamental principles include:

  1. Perception of infinite capacity.
  2. Perception of continuous availability.
  3. Drive predictability.
  4. Taking a service provider approach to delivering infrastructure.
  5. Resilience over redundancy mindset.
  6. Minimising human involvement.
  7. Optimising resource usage.
  8. Incentivising the desired resource consumption behaviour.

In addition, the following concepts need to be adopted to support the fundamental principles:

  • Cost transparency.
  • Homogenisation of physical infrastructure (aggressive standardisation).
  • Pooling compute resource.
  • Fabric management.
  • Consumption-based pricing.
  • Virtualised infrastructure.
  • Service classification.
  • Holistic approach to availability.
  • Computer resource decay.
  • Elastic infrastructure.
  • Partitioning of shared services.

In short, provisioning the private cloud is about taking the same architectural patterns that Microsoft, Amazon, et al use for the public cloud and implementing them inside your own data centre(s). Thinking service, not server to develop an internal infrastructure as a service (IaaS) proposition.

I won’t expand on all of the concepts here (many are self-explanitory), but some of the key ones are:

  • Create a fabric with resource pools of compute, storage and network, aggregated into logical building blocks.
  • Introduced predictability by defining units of scale and planning activity based on predictable actions (e.g. certain rates of growth).
  • Design across fault domains – understand what tends to fail first (e.g. the power in a rack) and make sure that services span these fault domains.
  • Plan upgrade domains (think about how to upgrade services and move between versions so service levels can be maintained as new infrastructure is rolled out).
  • Consider resource decay – what happens when things break?  Think about component failure in terms of service delivery and design for that. In the same way that a hard disk has a number of spare sectors that are used when others are marked bad (and eventually too many fail, so the disk is replaced), take a unit of infrastructure and leave faulty components in place (but disabled) until a threshold is crossed, after which the unit is considered faulty and is replaced or refurbished.

A smaller company, with a small datacentre may still think in terms of server components – larger organisations may be dealing with shipping containers.  Regardless of the size of the operation, the key to success is thinking in terms of services, not servers; and designing public cloud principles into private cloud implementations.