Tutorials and news on serverless computing, mainly AWS Lambda, with Python examples and conference recaps.
HN commenters link it for practical Lambda guides, such as scheduling EBS snapshot backups and testing with emulators.
There's a warmup time when a function is first executed in a container that can be up to 2 seconds depending on what libraries you include (you pay for this time [1]). After the first execution, your function environment will stay "warm" for 10-15 minutes and it will only take 10-150ms to execute your function on a new event.
The other big downside is every time your function goes "cold" you pay the cost of all the extra (anything not in standard lib, ImageMagick, or the AWS Nodejs SDK) libraries you need.
The upside is that you only pay for the time your code actually runs. I've replaced a cronjob server and saved ~90% on the bill to run my jobs. Mostly they were scheduled backups and other misc integrity checks on AWS and 3rd-party infra, so nothing that intense.
More limits/downsides: http://serverlesscode.com/post/aws-lambda-limitations/
1: the cost for 2 seconds of execution time on a 512-MB execution environment is 0.00001668 USD, so it's not likely to break the bank. If you have a high-traffic function it's likely to stay "warm" pretty much all the time. And if your function is low-traffic, it's likely you fit inside the free tier.
"Serverless" is the trendy term that the community is describing this particular architecture. I didn't invent the term.
http://serverlessconf.io/
https://serverlesscode.com/
https://github.com/serverless/serverless
Of course there are servers out in the cloud somewhere. But you're not renting them 24/7.
I'd love to experiment with a completely server-free P2P system, perhaps using WebRTC and WebTorrent (although in that case, there are still some servers involved).
It seems like having local lambda emulation would be useful as a companion to this. If I ever do some lamba development I'd love to see integration with emulators like https://github.com/HDE/python-lambda-local, https://serverlesscode.com/post/emulambda-testing-aws-lambda/, or https://ashiina.github.io/2015/01/lambda-local/ (some or all of these may work already, I can't tell just by eyeballing the projects from a distance)
We've been running a stripped down version of numpy + scipy + matplotlib in lambda. We'd build the environment in a docker container with Amazon linux, manually remove unneeded shared objects and then rezip the local environment before uploading to s3.
A similar method is described here: https://serverlesscode.com/post/deploy-scikitlearn-on-lamba/
Layers should make this entire process easier.
Serverless[0] does support Python (the CLI tools are just written in JS). Zappa[1] 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.
[0] https://serverlesscode.com/post/python-on-serverless-intro/
[1] https://github.com/Miserlou/Zappa
A good blog post about snapshots with CloudWatch and Lambdas can be found here:
Part 1: create snapshots
https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups/
Part 2: expire old snapshots
https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups-2/