While watching the Building Complex Serverless Applications talk from re:Invent 2016 I discovered The Serverless Compute Manifesto. I couldn't find it reproduced in an easy to use format, so here it is for future reference - yours and mine:

Function are the unit of deployment and scaling.

No machines, VMs, or containers visible in the programming model.

Permanent storage lives elsewhere.

Scales per request; Users cannot over- or under-provision capacity.

Never pay for idle (no cold servers/containers or their costs).

Implicitly fault-tolerant because functions can run anywhere.

BYOC - Bring Your Own Code.

Metrics and logging are a universal right.

I'm not sure who came up with it originally, but that talk was by David Potes and Ajay Nair from AWS.