Presented at ServerlessConf NYC 2016.
It's great that we don't need to manage servers anymore and can just use a service. Let them worry about the availability. Endless capacity ftw.
Reality is that we are just entering another abstraction layer and the same problems need to be solved:
- what if the server goes down vs what if the service goes down
- how many servers do I need vs how many req/sec do I need ask Amazon to provision
- how do monitor my servers vs how do I monitor my service vs how do I monitor my functions
- how to control who gets access to my servers vs who can access my services
- how do I keep track of my server versions/dependencies vs how do I keep track of my functions versions/dependencies
A lot of the *-ilities revolve around trust. Trust in the system. And not just the technical side, also including the people side.
The promise of an API is not enough, it's the promise of a ecosystem of services.
It's only a small step from running a function on AWS Lambda vs using an external service.
Why run the function at all if someone is better at it? Because we have more 'control'?
In the presentation I will provide examples of real projects we did at Small Town Heroes (http://www.smalltownheroes.be) where we are leveraging the power of serverless. And how we try to expand our internal devops collaboration beyond the api boundaries to focus on the full stack service and not merely the components.
Winter is coming