[Flask] AWS Lambda integration module idea

Sean Davis seandavi at gmail.com
Tue Nov 6 11:37:33 EST 2018


There is also the zappa project that might be considered a related
solution.

https://github.com/Miserlou/Zappa

Sean


On Tue, Nov 6, 2018 at 10:31 AM Vicente Neto <sneto.vicente at gmail.com>
wrote:

> Hi there!
>
> To be honest, I didn't have time to read all your email... but your idea
> looks like the Chalice Microframework.
> You can read more about it here
> <https://chalice.readthedocs.io/en/latest/?badge=latest>.
>
> PS: I'm sorry if I didn't fully understand your idea and gave you a
> generic answer. :p
>
> Kind regards!
>
> On Tue, Nov 6, 2018 at 8:23 AM <mischa at mvstg.biz> wrote:
>
>> Hello all, I wanted to get feedback on a proposal for a flask extension
>> to make writing AWS Lambda web applications and services with Flask easier.
>>
>> AWS Lambdas are little zip files of code and dependencies that can be
>> executed without any extra infrastructure and can be provided as HTTP
>> services.
>>
>> I've found that Flask is really great for making even complex lambdas,
>> and can be nearly as easy to maintain and manage as say a Heroku
>> application. Except they run for basically free and you don't have to worry
>> about having hosts to run your application or scaling web servers. I wrote
>> about my setup here
>> https://spiegelmock.com/2018/09/06/serverless-python-web-applications-with-aws-lambda-and-flask/
>>
>> I wrote a basic Flask service hooking into AWS SSM Parameter Store to
>> provide encrypted secrets from AWS to the application, using aws-wsgi (
>> https://pypi.org/project/aws-lambda-wsgi/) to bridge lambda http proxy
>> requests and responses with WSGI, and a small bit of tooling to vendor the
>> application dependencies because they need to be shipped in the zip bundle.
>> Code demonstrating all of this can be found here -
>> https://github.com/revmischa/qanda/.
>> Local running and testing is handled by AWS SAM Local (
>> https://github.com/awslabs/aws-sam-cli). It uses flask-apispec with
>> marshmallow to make serialization and swagger generation effortless.
>>
>> The project I made with integrating flask and lambda is in my opinion
>> quite smooth and makes writing a serverless Flask application as
>> straightforward as any other app. What I want to do now is find a way to
>> make this pattern reusable for myself and others, but it's not so clear to
>> me how to approach this. I think the combination is a very powerful and
>> useful one but I realized I could use some help in designing something
>> opinionated yet reusable with the goal of making a new Flask-based lambda
>> web service as fast and painless as possible.
>> I took a crack at beginning to do this with
>> https://github.com/revmischa/flask-serverless but I'm open to different
>> ideas. What I'd like is provide configuration via AWS SSM or lambda config
>> vars, aws-wsgi bridge, a way to bundle dependencies along with the
>> application, CORS, marshmallow, and apispec all in a neat little starter
>> kit to make it possible to create little flask webserverlesses with minimal
>> setup or copy/pasting.
>>
>> There do exist some third-party projects like Zappa and Serverless that
>> provide some of these pieces, but I am trying to see how far I can get with
>> Flask and AWS' own tooling.
>>
>> Thanks for your input!
>> Mischa
>> _______________________________________________
>> Flask mailing list
>> Flask at python.org
>> https://mail.python.org/mailman/listinfo/flask
>>
> _______________________________________________
> Flask mailing list
> Flask at python.org
> https://mail.python.org/mailman/listinfo/flask
>


-- 
Sean Davis, MD, PhD
Center for Cancer Research
National Cancer Institute
National Institutes of Health
Bethesda, MD 20892
https://seandavi.github.io/
https://twitter.com/seandavis12
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/flask/attachments/20181106/52ed45d0/attachment-0001.html>


More information about the Flask mailing list