4 ms·
If you are frustrated by the complexity of packaging Python-based Lambda applications, I highly recommend checking out Chalice: https://github.com/aws/chalice h
by ak217 8y ago
If you are frustrated by the complexity of packaging Python-based Lambda applications, I highly recommend checking out Chalice: https://github.com/aws/chalice https://github.com/aws/chalice. It's very well engineered and drastically simplifies the process (for example, it handles pre-built wheels properly, so you can cross-compile your Lambda (build and deploy it from a Mac, etc).
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 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 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.
- kstrauser 8y agoWe use Apex (http://apex.run http://apex.run) for the same reason. We packaged stuff ourselves at first, but down that road lies madness.
- sciurus 8y agoSeconding chalice! It's very easy to get started with and made whipping up my first lamba-powered web app (https://github.com/mozilla-services/pagerstatus https://github.com/mozilla-services/pagerstatus) a breeze. I do wish their approach to managing environment variables was more flexible, and that their deployment tooling could do a bit more (e.g. assign cudtom domains and ssl to the API gateway) for me.