AppSync 和被锁定在 AWS 中的想法

AppSync and thoughts on being locked in AWS

我一直在考虑使用 graphQL 构建后端。

目的是让后端团队的生活更轻松,迭代更快,而不必为每个数据集 retreivale 构建 REST 端点或 wss 操作。

GraphQL 似乎是解决方案之一。我们非常熟悉 Lambda 环境,因此在我们的研究中我们发现了 AppSync。我看起来是一个完美的解决方案,但是我担心被锁定在 AWS 中以及围绕 AppSync 设计整个架构。

无服务器的美妙之处在于,借助无服务器框架,我们可以将所有功能重新部署到另一个云提供商 (Azure Functions),甚至可以将功能停靠在本地部署。

我担心使用 AppSync 时,无论是在其他云提供商中还是在内部部署中都没有其他选择。有人对此有任何经验吗?在 lambda 中部署一个 appolo 服务器并使用如下内容将 connectors/listeners 构建到我们自己的数据源是否更值得:https://github.com/michalkvasnicak/aws-lambda-graphql/tree/aws-lambda-graphql%400.13.0#design-michalkvasnicak ?

恕我直言,这归结为 GraphQL 端点的客户端将如何保护数据。一种策略是使用 IAM 和 Cognito 等亚马逊身份服务来保护应用程序。 Amplify 的优势在于与 IAM、Cognito、API Gateway、DynamoDB、S3 和 AppSync 的安全集成。例如,AppSync 上的安全 GraphQL 端点。每个 AWS 云服务中托管的数据都可以使用 Amplify 进行保护,还有许多其他策略。

serverless framework 是无服务器开发人员操作的突破。框架很漂亮。我不同意您对 Am​​plify 生成的 cloudformation 不可移植的担忧。 Cloudformation 是不同于 Serverless 框架的 DevSecOps 文化。 Amplify 生成的 DevSecOps 代码直接进入 Cloudformation 文化。

我对云上的 GraphQL 非常陌生,FWIW。我没有在 Lambda 上使用 Apollo 的经验。我哭了,虽然经验丰富的专业人士可能知道,但自动化安全看起来很难。我当然希望您能达到永远不必丢弃任何一行代码的地步。我什至还没有接近。

AWS 生态系统的一个简单入口点是使用 AWS Amplify

它有关于安全、GraphQL API 等方面的文档指南