我是AWS的新手,想了解如何使用AWS部署动态网站。我来自一个自我托管的角度(digitalocean + flask应用程序),所以我对AWS的过程究竟是什么感到困惑。
使用自托管解决方案,过程类似于:
使用 AWS ,我了解以下内容:
令人困惑的部分是如何为用户生成网页,而不仅仅是返回JSON数据?我看到两个选择:
1)以某种方式让AWS Lambda使用Jinja2模块,并在查询db for data之后使用它来构建HTML页面。 API网关将只返回完成的HTML文本。缺点是这将不再是纯粹的api,因此我失去了灵活性。
2)将Flask应用程序部署到Amazon Beanstalk。 Flask处理应用程序代码,例如会话处理,路由,HTML模板生成,并调用Amazon的API网关以获取页面的任何必要数据。
我认为(2)是做事的“正确”方式;我得到了使用Beanstalk扩展烧瓶应用程序的好处,并且我可以灵活地使用API网关调用API。
我错过了什么吗?我是否误解了(2)服务网页的内容?是否存在另一种方式来托管动态网站而不使用像Flask通过AWS这样的Web框架,这是我不知道的?
答案 0 :(得分:1)
使用lambda和不使用EC2托管服务器的推荐方法是:
答案 1 :(得分:1)
您必须权衡通过API GW和Lambda为动态网站提供服务的优缺点。
优点:
缺点:
您提出的两种解决方案都能很好地运作,这取决于您如何看待利弊。