𝗖𝗹𝗼𝘂𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲 𝗮𝗻𝗱 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: 𝗧𝗵𝗲 𝗡𝗲𝘅𝘁 𝗟𝗲𝘃𝗲𝗹 𝗳𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀
你的 Web 应用程序在本地机器上运行良好。你以为任务已经完成了。其实不然。
你必须决定你的应用部署在哪里。你必须决定如何保护它。你还必须决定当成千上万的人同时使用它时会发生什么。
迁移到云端不仅仅是上传代码。你还需要理解架构和安全。
PaaS(平台即服务)是开发者的绝佳起点。通过 PaaS,云提供商会管理服务器、操作系统和网络。你可以专注于代码和用户体验。
顶级的 PaaS 选项包括:
• AWS App Runner:非常适合容器化 Web 应用。它负责处理部署和扩展。 • Azure App Service:如果你使用 GitHub Actions 或 Azure DevOps 等 Microsoft 工具,它是完美的选择。 • Google Cloud Run:非常适合无服务器(serverless)容器。在无人使用时,它可以缩减至零以节省成本。
云安全是你的责任。提供商会为你提供工具,但你必须正确使用它们。
请遵循以下安全规则:
- 使用最小权限原则。仅向用户和服务授予其所需的权限。在 AWS 中使用 IAM,在 Azure 中使用 Microsoft Entra ID,或在 Google Cloud 中使用 Cloud IAM。
- 永远不要硬编码密码。在代码中使用
const password = "123"是非常危险的。 - 请改用环境变量。在代码中使用
process.env.DB_PASSWORD。 - 务必将
.env文件添加到.gitignore中。 - 在云提供商的控制面板中设置真实的密钥,而不是将其放在代码仓库中。
考虑数据主权。你必须了解你的数据存储在哪里,以及适用哪些法律。如果你有欧洲用户,你必须遵守 GDPR 规则。
为流量激增做好准备。如果一位网红分享了你的链接,你的服务器可能会崩溃。你可以通过扩展来防止这种情况:
• 垂直扩展 (Vertical Scaling):通过增加 CPU 或 RAM 来提升机器性能。 • 水平扩展 (Horizontal Scaling):创建更多应用实例,并使用负载均衡器来分摊流量。
始终确保你的网站使用 HTTPS。这可以保证通信的加密和安全。
如何实践:
- 为一个简单的 Web 应用创建一个代码仓库。
- 确保代码中不包含任何敏感数据。
- 使用 Vercel 或 Netlify 进行部署。
- 验证你的网站是否使用了 HTTPS。
Source: https://dev.to/xinlin25/arquitectura-y-seguridad-en-la-nube-el-proximo-nivel-del-desarrollador-1bnd