关键字: [亚马逊云科技中国峰会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 的首选。此外,活动还详细介绍了亚马逊云科技秉承客户至尚的原则,通过与本地合作伙伴一起支持行业客户数字化转型和创新,提供安全、稳定、可信赖的服务,以及持续深耕本地、链接全球,助力客户在中国和全球化发展的道路上取得成功。