AWS re:Invent 2024 - 8 周内实现从零到无服务器生产

🚀 使用无服务器架构在紧迫期限内构建 ADHD 处方集成 🌐💊

2024 年初,我们在 **Chemist4U** 开展了一个令人兴奋但充满挑战的项目,该公司是英国第三大在线药店,每月配发的药品数量高达 **175,000-200,000 件**。我们的使命是什么?为一家专门从事 ADHD 诊断和治疗的**诊所**构建一个安全、可扩展的集成系统。这个新系统将取代该诊所现有的药房合作伙伴,后者正努力随着需求的不断增长而扩大规模。

由于期限紧迫、风险高,这个项目是一场与时间的赛跑,以确保患者能够继续不间断地接受关键药物治疗。以下是我们实现这一目标的方法!💪

🎯 挑战:我们需要解决什么问题?

我们的任务是构建一个全面的解决方案来解决:

  • 安全数据集成:一种传输敏感患者和处方数据的安全、可靠的方法。
  • 法规遵从性:ADHD 药物受到严格控制,需要检查患者病史并严格遵守英国法规。
  • 无缝支付处理:私人处方需要安全的支付处理,而 NHS 处方需要准确开具报销发票。
  • 客户服务支持:为支持团队配备工具,以有效地回答患者的询问。
  • 仓库集成:确保我们的 ERP 和仓库系统顺利处理处方。
  • **截止日期**:八周⏳

    🔧 为什么是无服务器?

    考虑到复杂性和紧迫性,**无服务器架构**是完美的选择。原因如下:

  • ⚙️ 内置高可用性:无需管理正常运行时间 — — 它已内置。
  • 📉 低管理开销:免去管理 EC2 实例或 Kubernetes 的麻烦。
  • 🚀 快速开发:AWS CDK 等工具使我们能够更快地制作原型并部署功能。
  • 📈 自动缩放:轻松处理处方量的高峰和低谷。
  • **对无服务器感到好奇?** 查看 AWS 的无服务器架构指南。🌟

    💡 方法:先进行原型设计

    我们跳过了**概念验证**阶段,直接开始构建**工作原型**。原型设计让我们能够在现实条件下测试我们的想法,同时为快速迭代留出空间。

    🛠 工具和技术

  • AWS CDK:用于基础设施即代码 (IaC)。
  • Vitest:从第一天开始进行单元测试确保了可靠性。
  • Biome:自动化的 linting 和格式化节省了宝贵的时间。
  • 六边形架构:支持模块化开发——团队合作必不可少!
  • 无服务器框架:与 AWS Lambda、API Gateway 和 DynamoDB 结合实现后端功能。
  • React 和 Vite:用于前端界面。
  • 🎉 第一天获胜!

    通过利用预先构建的样板代码和自动化工具,我们推出了:

  • 使用 AWS Cognito 的基本身份验证网站。
  • 由 API Gateway 提供支持的带有验证的存根 API。
  • 用于自动化部署的 CI/CD 管道。
  • 完全隔离的开发环境,实现高效的并行工作。
  • 🏗️ 构建核心集成

    该系统的核心是与诊所现有平台的集成。以下是我们的实现方式:

    1️⃣ 尽早定义接口

    为了避免延误,我们部署了一个使用 Swagger 进行验证的 **存根 API**。这使得诊所团队能够同时进行开发。

    2️⃣验证处理

    最初,我们使用 API Gateway 的内置验证。然而,**通用错误消息**是测试期间的瓶颈。切换到 **Zod** 后,我们得到了以下好处:

  • 可定制的验证消息。
  • TypeScript 中的一致逻辑重用。
  • 更清晰、更可操作的错误处理。
  • ⚡ 使用 AWS CDK 设置基础设施

    我们的无服务器架构包括:

  • API 网关:管理 RESTful API 端点。
  • Lambda 函数:执行核心业务逻辑。
  • DynamoDB:安全存储处方和患者数据。
  • S3 Buckets:托管 React 前端并存储文档。
  • **想要学习 CDK?** 查看此 CDK 文档。📚

    🌈 使用无服务器进行快速迭代

    无服务器使我们能够:

  • 快速部署隔离的开发环境。
  • 使用 IaC 进行可重复的更改。
  • 通过自动化测试保持稳定性。
  • 🛠 经验教训

    💡 **原型设计是关键**:从工作原型开始,尽量减少返工。

    💡 **更好的错误处理很重要**:切换到 Zod 大大提高了测试效率。

    💡 **无服务器加速**:通过卸载基础设施管理,我们可以专注于实现商业价值。

    🎯 结果

    在短短**8周**内,我们就交付了一个功能齐全的系统:

  • 保护敏感的患者数据🔒。
  • 遵守严格规定的自动化工作流程✅。
  • 与诊所和仓库系统无缝集成⚡。
  • 扩大规模以满足对 ADHD 处方📈日益增长的需求。
  • 📺 原创视频

    想要深入了解我们的流程?请观看 YouTube 上的原始视频:

    您觉得我们的方法怎么样?您是否参与过类似的紧迫项目?请在评论中告诉我们!👇