For python devs, this is a great framework to easily create and deploy them - https://github.com/aws/chalice.
I use their Python-based chalice framework (https://github.com/aws/chalice) which allows you to add a decorator to a method for a schedule,
@app.schedule(Rate(30, unit=Rate.MINUTES))
It's also a breeze to deploy. chalice deploy
Very Flask like and includes CLI components to automate deployment. Even includes simple decorator based event mapping for S3, SQS, scheduled tasks, etc.
Chalice is super awesome. I'm planning to write a blog post on the tech.
Actually, we just open-sourced a template for using Lambda with Chalice and Terraform that automates this and many other relevant steps: https://github.com/chanzuckerberg/chalice-app-template. It's not 100% directly applicable to this use case yet, because SAM/CloudFormation templates don't have a good way to manage bucket event subscriptions. But domovoi (https://github.com/kislyuk/domovoi) can manage S3 event subscriptions (direct or bridged through SNS, SQS, or SNS-SQS) in an idempotent declarative (non-IaC) process.
I have yet to deploy a production service with it, but the development experience has been positive.
1) Is there a problem with python, or a problem with flask? Isn't this what chalice is for? https://github.com/aws/chalice
2) How are you dealing with cold starts?
I learned stuff from this post, but I would have learned more with some background about the workload etc so I could reason about what generalizes and what doesn't.