首页 > 云计算 > 公有云实践 > 亚马逊云科技针对SaaS多租户架构的运维实践
关键字: [ 亚马逊云科技中国峰会2024, Saas 多租户架构, 运维实践, 隔离级别, 权限管理, 自动化部署]
本文字数: 1400, 阅读完需: 7 分钟
薛佳庆在亚马逊云科技中国峰会2024 上介绍了”SaaS 多租户架构下的运维实践” 。在这个演讲中, 他讨论了在SaaS 多租户架构下如何实现隔离, 具体解释了应用内隔离、计算资源隔离和计算网络完全隔离三种隔离级别, 以及针对不同隔离级别需要考虑的权限管理和自动化运维实践。演讲重点介绍了亚马逊云科技如何通过CloudFormation 、CDK 等工具, 为客户实现云资源的有效管理, 从而支持SaaS 多租户架构下的安全性、隔离性和自动化运维。
以下是小编为您整理的本次演讲的精华,共1100 字,阅读时间大约是6 分钟。
在SaaS 多租户架构下的运维实践中, 首先需要回顾SaaS 应用在多租户场景下的隔离级别。根据服务的隔离级别以及隔离成本, 可以将其分为三类。
第一类是应用内隔离。在这种情况下, 通常会基于服务或用户的ID 或前缀来实现相应的隔离。例如, 可以利用用户ID 作为前缀, 将不同用户的数据存储在不同的数据库表或文件系统路径中, 从而实现应用层面的隔离。
第二类是计算资源隔离。在当今容器化时代, 以Kubernetes 为例, 计算资源隔离通常是以namespace 为单位或基于亲和性将相应用户的计算资源调度到某一个或几个节点上来实现隔离。具体来说, 可以为每个租户创建一个独立的Kubernetes namespace, 将该租户的所有工作负载调度到该namespace 中, 从而实现计算资源的隔离。或者, 也可以通过设置节点亲和性, 将某个租户的工作负载调度到特定的一组节点上, 与其他租户的工作负载物理隔离。
第三类是资源与网络的完全隔离。对于一些对安全性和隔离性要求较高的SaaS 应用, 如数据库服务, 通常需要为每个租户提供一个单独的VPC(Virtual Private Cloud), 在该VPC 内部署相应的资源, 实现计算资源、存储资源和网络资源的彻底隔离。这种方式可以最大程度地保证不同租户之间的安全性和独立性, 但也带来了更高的资源开销和管理复杂度。
在确定了隔离级别之后, 运维实践中需要重点考虑权限管理和自动化两个方面。
权限管理方面, 首先需要明确谁在什么情况下可以访问哪些资源。一般而言, 需要针对应用开发流程的不同工作负载使用不同的资源环境, 如将开发环境与生产环境隔离开来。其次, 每个实体( 如开发人员、运维人员等) 应当只拥有最小的必要权限, 以避免由于过度授权而导致的安全风险。例如, 如果某个开发人员被授予了过于宽泛的权限, 一旦出现误操作, 可能会删除或修改其他租户的重要资源, 造成严重后果。因此, 需要为每个实体设置合理的权限边界, 规定其最大权限能到什么级别。此外, 还需要将实体的权限与企业的AD(Active Directory) 系统集成, 实现基于员工生命周期的权限管理, 确保离职员工的权限能够及时收回。最后, 需要保留完整的审计日志, 以便在出现问题时追查根源。
自动化方面, 持续集成与持续交付(CI/CD) 是软件开发领域的一个重要话题。在开发环境中, 开发人员更注重灵活性, 希望能够快速获取所需的资源和权限。因此, 可以为开发环境配置相对宽松的权限, 但同时也需要与生产环境和测试环境进行适当隔离, 避免开发环境的变更影响到生产系统。相比之下, 在生产环境和测试环境中, 更需要关注软件质量和环境安全性, 可以采用更严格的权限控制机制。
根据不同的隔离模型, 自动化实践也有所不同。如果采用应用内隔离的模型, 可以基于代码实现CI/CD, 即通过代码定义应用的配置和部署逻辑, 实现自动化构建、测试和部署。但如果采用资源与网络完全隔离的模型, 则需要将云上资源的部署也纳入CI/CD 流程中, 通过基础设施即代码(Infrastructure as Code) 的方式, 使用像CloudFormation 或Cloud Development Kit(CDK) 这样的工具, 在代码中定义云资源的配置, 并自动化地创建、更新和删除这些资源。无论采用哪种自动化方式, 其目的都是尽量减少人为操作, 避免由于手工操作而导致的错误, 从而提高运维效率和系统的可靠性。
在亚马逊云科技( 亚马逊云科技) 上,CloudFormation 是一个早期提供的基础设施即代码服务。它允许使用JSON 或YAML 格式定义云资源模板, 然后由CloudFormation 服务根据模板自动创建和配置所需的资源。但是, 一些客户反馈JSON 或YAML 模板定义过于复杂, 尤其是对于大型的云资源堆栈而言。为了解决这个问题, 亚马逊云科技后来推出了Cloud Development Kit(CDK), 允许使用熟悉的编程语言( 如Python 、Java 、C# 、TypeScript 等) 来定义云资源,CDK 会在部署时将这些代码定义转换为CloudFormation 模板, 从而实现云资源的自动化管理。
总的来说, 在SaaS 多租户架构下的运维实践中, 需要根据隔离级别和安全性要求采取相应的措施, 包括应用内隔离、计算资源隔离或资源与网络完全隔离。同时, 还需要重点关注权限管理和自动化两个方面, 通过合理分配最小权限、设置权限边界、与AD 集成以及保留审计日志来加强权限管理; 通过CI/CD 实践和基础设施即代码工具来提高自动化水平, 降低人为操作风险。亚马逊云科技提供了CloudFormation 和CDK 等工具, 为实现基础设施自动化提供了有力支持。
下面是一些演讲现场的精彩瞬间:
在容器化时代, 亚马逊云科技提倡通过命名空间或亲和性将计算资源隔离调度到特定节点, 实现资源隔离。
亚马逊云科技中国峰会2024 上, 演讲者强调了云计算中更 别的隔离对于提供更高安全性和隔离级别的重要性, 例如为数据库SaaS 用户单独部署虚拟私有云。
亚马逊云科技中国峰会2024 上, 演讲者强调了在云环境中实施严格的权限管理策略的重要性, 包括隔离不同环境、最小化权限、设置权限边界、与企业AD 集成以及保留完整审计日志等, 以确保云资源的安全性和合规性。
亚马逊云科技中国峰会2024 上, 演讲者强调了自动化在云计算环境中的重要性, 包括根据不同工作负载分配适当权限、建立完善的开发环境, 以及采用代码或云资源持续集成和持续交付等自动化方式。
亚马逊云科技在亚马逊云科技上推出了云开发工具包(CDK), 允许客户使用熟悉的编程语言定义和管理云资源, 简化了云资源的部署和管理。
在SaaS 多租户架构下, 运维实践需要重点关注权限管理和自动化流程。权限管理方面, 需要为不同工作负载分配最小必要的权限, 设置权限边界, 与企业员工生命周期相结合, 并保留完整审计日志。自动化流程方面, 需要根据隔离模型采用不同的自动化方式, 如代码CICD 或云资源CICD, 并为不同环境提供相应的权限级别。
亚马逊云科技提供了CloudFormation 和CDK 等工具, 帮助客户更好地管理云资源。CloudFormation 允许用JSON 或YAML 定义云资源模板, 而CDK 则可以用熟悉的编程语言定义云资源, 最终翻译成CloudFormation 模板进行部署。通过这些工具, 客户可以实现云资源的有效管理, 满足SaaS 多租户架构下的运维需求。
总的来说, 在SaaS 多租户架构下, 权限管理和自动化流程是运维实践的关键。亚马逊云科技提供了多种工具和服务, 帮助客户更好地实现这些目标, 提高运维效率和安全性。
2024 年 5 月 29 日,亚马逊云科技中国峰会在上海召开。峰会期间,亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松全面阐述了亚马逊云科技如何利用在算力、模型、以及应用层面丰富的产品和服务,成为企业构建和应用生成式 AI 的首选。此外,活动还详细介绍了亚马逊云科技秉承客户至尚的原则,通过与本地合作伙伴一起支持行业客户数字化转型和创新,提供安全、稳定、可信赖的服务,以及持续深耕本地、链接全球,助力客户在中国和全球化发展的道路上取得成功。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3019111/ ,如需转载,请注明出处,否则将追究法律责任。