云计算服务多租户设计浅析

随着云计算的兴起和普及,越来越多的软件产品和服务都以云服务的方式交付出来。传统的软件都是直接面向用户的,云服务通常面向的是租户,租户下又有用户,因此,租户概念的引入,给设计云计算产品带来了复杂性。

本文站在个人的角度通过分析多租户的概念,云计算产品中为什么要用多租户,多租户是怎么设计的,分享下个人对多租户管理的看法。最后,通过一个实际的例子具体看一下DeepNote是怎么设计多租户的。

什么是租户?

提到“租户”,相信大家的第一反应是跟房子有关的租户。租户跟房东签约租赁业主的房子、房子里的各项设施以及房东的各种服务。

租户与业主签约,签约的内容一般包括:

租赁范围:居住空间、床、沙发、电视、水、电、煤气等等

租赁期限:一般签1年或者3年。

双方的权责:业主负责房屋以及各项设施的保障并从租户那里收取租金。租户缴纳租金,享受房屋以及房屋内各项设施的使用及服务。

云计算中的租户也差不多,租户与云服务商签约,租赁云服务商提供的IaaS、PaaS、SaaS等服务。签约的内容包括:

租赁范围:IaaS、PaaS、SaaS等服务

租赁期限:按时长、包年包月

双方的权责:云计算服务商向租户收取租金,提供云计算服务并保障服务的稳定性。租户享受云计算服务商提供的服务并向云计算服务商缴纳租金。

为什么要租赁云计算服务?

对于客户来说,建设和运维自己的业务系统需要花费的周期太长,不利于业务的迅速构建和推广,前期建设的成本也会很高。通过租赁云计算服务的方式,前期可以在有限成本下迅速将自己的业务推向市场,同时云服务的稳定性、可用性、安全性等由云服务商兜底。

目前很多新兴的互联网公司就是把服务架设在云计算服务之上的,比如大家熟知的拼多多,就使用了腾讯的基础设施(IaaS)云服务。

云计算租户管理应该具有哪些能力?

在云计算平台中,一个租户可以是一个个人用户或者一个组织单位。租户在云计算平台上租赁云服务商提供的服务,租户需要提供身份信息、联系人及联系方式信息,以及用于支付云服务租金的扣款账号信息。对于组织性质的租户,还应提供个人用户账号的管理,方便组织内用户使用云服务,同时需要对使用云服务的用户根据角色,授予不同的权限。

一、对租户信息管理的能力

租户的身份信息,对于个人用户,维护身份证、手机号、扣款账号等信息。

对于组织租户,维护营业执照、扣款账号、联系人、联系人手机号等信息。

二、租户内用户管理的能力

如果租户是一个组织的话,使用云服务的最终还是组织内的个人用户。每个组织性质的租户都应有一个管理员,负责维护租户信息、租赁服务信息以及本租户内用户的管理。

具体的用户管理功能包括用户的添加删除和用户权限的分配管理。对于权限的分配,通常采用RBAC模型,即通过为角色授权以及建立用户和角色的关系为用户授权。

三、租赁服务的管理能力

租户管理员和有权限的用户都可以租赁云服务商的服务,对租户服务的管理能力包括服务租赁、退租、续租等操作。进一步,租户管理员可以限制每个用户可租赁服务的配额,以控制本租户租赁云服务的支出成本。

云服务商还应为租户提供已租赁云服务的监控能力,比如用量、性能、可用性、稳定性、安全性等指标,进一步可提供可视化数据报表。

四、查看订单与计费的能力

租户管理员需要知道每一笔订单的详情,每一分钱的去向,因此,云服务商需要为租户提供多维度、精细的订单与费用报表。

订单记录了订单生成的时间,发起订单的用户,租赁的服务及价格等信息。此外,云服务商还应为租户提供账单,账单记录了某一计费周期内每一笔钱的花费情况。

进一步,云服务商还应为租户提供费用统计等可视化报表。

以DeepNote举例

DeepNote由一个位于旧金山的小团队开发,它是一种云协作、云硬件,上云的 Notebook 编程环境,可与现有的Jupter兼容,方便部署,并且免费,是新一代的数据科学notebook。

DeepNote提供的是一种SaaS化的Notebook服务,功能类似Jupyter Notebook,租户在DeepNote上租赁Notebook服务,同时向DeepNote缴纳租金。每一个用户对Notebook来说都是一个租户,用户还可以创建团队,把一个团队作为一个租户。我们来看下,DeepNote对多租户管理的能力。

一、管理租户

默认情况下,每个用户都有一个My space,用户也可以创建团队账户。其实My space本质上也是一个特殊的团队账户,只不过这个账户仅有一个成员。


二、管理用户

对用户的管理包括用户和权限,DeepNote对权限的管理是把用户绑定为不同的角色,每个角色权限不同。

DeepNote定义了三种角色:Viewer、Member和Admin,其中Viewer权限最少,Admin权限最多。


三、管理服务

DeepNote把每个Notebook用一个Project表示。DeepNote提供了3中类型,以小时为周期租赁服务。

用户启动服务就表示了租赁服务的开始,停止服务表示租赁服务中止。


四、查看订单与计费

我实际没买DeepNote的服务,因此订单和账单都看不到,暂时不放DeepNote的截图了。截了一张滴滴云的图来示例订单和账单。


小结

云计算服务通过多租户管理为租户提供可复用的能力。租户从云计算服务商租赁服务并向云计算服务商支付租金,云计算服务商对多租户的管理能力主要包括:管理租户、管理用户、管理租赁服务、提供订单和账单的查询等服务。

你可能感兴趣的:(云计算服务多租户设计浅析)