It's basically a wrapper around a AWS Lambda function. So, Amazon is the one doing the care, planning, and implementation.
That's not how it works.
How does it work?
The reality involves a bunch of Engineering by Poking. Did you get all the IAM roles and permissions right? How about hooking up logging--more IAM poking. S3, database service, CloudFront? More poking. Certificates, CORS, domain aliases, throttling, etc?
The docs might be clear but you need to already be an expert in how everything fits together to do it right the first time. The problem is an embarrassment of riches in terms of configurability, which makes for longer learning and poking times.
I'd change the title to: "Have your MVP publicly facing within 15 minutes with Serverless." IMO takes a lot more care, planning, and implementation details before I'd consider something a truly prod env.
You can manage staging with API Gateway, the AWS service that manages which HTTP requests map to which Lambdas.
All functions are documented in Lambda with a description if you wish, and of course because the serverless framework is basically a node app with hooks that knows how to turn it into a Lambda app, you can use any/all of the same tools as you would for documentation.
Role management is standard AWS IAM.
At my workplace we like the idea of Lambda, but we're building some Ansible playbooks for it and banning Serverless.io because part of its structure is that all devs have root access to CloudFormation and can do whatever they feel like. For smaller shops, it's probably ideal though.
I'm not sure any product is viable if it takes just 15 minutes to develop and deploy.
Aside from that: Does serverless support proper staging, documentation of all deployments, role management (who is allowed to deploy to what stage)?
Because that would be actually useful for us.
This is such a good idea! I love the concept of an MVP to quickly test your business ideas. However it's usually painful to rapidly test an idea in the web world. The fact that I can run such a test so quickly is amazing. Keep it up!
Serverless does support Python (the CLI tools are just written in JS). Zappa is also a great option if you want to deploy a WSGI compatible app (flask/django) to Lambda.
I've used them both in production and have had a great experience.
AWS Lambda supports:
* Node.js – v4.3.2
* Java – Java 8
* Python – Python 2.7
* .NET Core – .NET Core 1.0.1 (C#)
The Serverless framework is predominantly geared towards node and I believe Python, and making it simple to deploy not just to AWS Lambda but IBM's OpenWhisk FaaS. Google has a FaaS in closed beta at the moment - Google Cloud Function - that is also Node and Python.
I'm expecting all of them to support Go and Ruby as first class citizens by the end of the year.
Cool idea. Anyone know of a python flavoured version of this?