我相信看到这个题目很多人都会感觉好奇,怎么可能同时是公有云和私有云?如果你有这个疑问,请你带着这个问题把这篇文章看完。

我相信看到这个题目很多人都会感觉好奇,怎么可能同时是公有云和私有云?如果你有这个疑问,请你带着这个问题把这篇文章看完。

如何在公有云上部署私有云?

一直以来大家都习惯于直接购买 ECS 实例,但是忽略了阿里云的另外一种特殊的云资源形态,那就是专有宿主机(Dedicated Host)。顾名思义,就是指一台物理服务器(Physical Host)归某一个单一租户专有。这是一个非常有别于传统公共云“多租户”的概念,所以有用户才说:专有宿主机就像是一朵公有云上的私有云。

 

宿主机 IP docker 宿主机架_宿主机 IP docker

 

为什么需要在公有云上部署私有云?

让我们先从私有化部署(on premise)说起,传统的 IT 部署方式是采购一批服务器,然后部署上架,构建一个固定容量的资源池用于 IT 环境的搭建。

 

私有化部署方式的缺点大家都清楚

  1. 没有弹性,扩容周期长,为了保证业务的需要,常常需要保留一部分冗余资源以备不时之需,从而导致了 IT 投入的浪费;
  2. 运维负担重,从机器采购、上架部署,到后续的维护、机房的风火水电,都需要有专门的人员负责。如果是在第三方机房托管,也不能完全省心。

 

既然有这么多的问题,那为什么还有很多企业依然采用私有云呢?

那是因为私有化部署的一些优点,公有云的多租户形态没有办法完全取代。这些优点可以用两个字总结,那就是:可控。

 

每个企业都是独一无二的,有着不一样的业务场景和 IT 需求。就像我们去商场买成衣,虽然有丰富的样式和尺码可供选择,但肯定没有订制的西服穿上得体。对于企业,“得体”体现在符合企业的实际情况,而要完全符合需求,需要对 IT 环境尽可能的可控,包括预算的可控、成本的可控、还有环境部署的可控。

 

下面咱们看看阿里云专有宿主机是如何做到预算可控、成本可供、部署可控的。

阿里云专有宿主机如何做到三个可控?

预算可控

Flexera 在 RightScale 2019 云计算现状报告中指出,无论是大型企业还是中小企业,有相当比例的企业主都认为管理云上的支出是一个很大的挑战,投票占比高达 84% 和 69%。

 

这个挑战并不是说云计算会比传统部署方式更贵,而是新的部署形态给 IT 预算的管理带来了新的困难。资源组、预付费实例、预留实例券都是云计算衍生出来的概念,旨在帮助企业更好的管理预算,但显然这个困扰依然存在。

 

那么是否可以在公有云上,以私有化部署的方式采购一批服务器,然后按资源池的方式交付给各个业务部门或者项目团队呢?

 

宿主机 IP docker 宿主机架_公有云_02

 

专有宿主机能够满足这个要求。企业可以创建一个“物理机”集群,然后将他们交付给业务部门使用。因为宿主机的资源是固定的,只需要对不同的业务部门分配固定的资源池,并禁止在宿主机外创建资源,就能够将 IT 资源消费控制在预算范围内。同时,专有宿主机支持分配资源组,支持打标签,可以做到不同部门间的灵活分配。

 

另一个企业关心的财务问题是资源利用率的考核

专有宿主机上可以完整看到可用资源,以及其资源剩余情况,同时能够查看到宿主机整体的CPU使用率,以此判断每台宿主机当前和过去一段时间内的资源使用情况。对于运维团队,可以实时查看的资源使用率和整机负载,从而更合理的给开发团队分配资源。

 

宿主机 IP docker 宿主机架_IT_03

 

不过等一等,这种方式是不是就抛弃了公有云的弹性了?

这是个好问题,宿主机本身的弹性由阿里云保证,如果宿主机不够了,可以在 20 秒以内完成扩容。而在宿主机上创建 ECS 实例,和在多租户环境下创建 ECS 实例完全一样,支持包年包月创建和按量创建(实例不需要再次付费),也支持不同的规格。所谓的弹性损失,只是扩缩容的粒度从 ECS 实例变成了宿主机粒度,如果是一个相对稳态的业务,基本的弹性需求不会受到影响。

 

成本可控

阿里云提供门类非常丰富的实例规格供用户选择,就像去商场买衣服,我们可以买到 T 恤,毛衣,羽绒服,以应对不同的天气,同时每个款式提供从 XS、S、M、L ... XXXL 各种尺码,以满足不同体型的顾客。而对应到阿里云  ECS 实例,有不同的规格族应对不同的业务类型,不同的规格支撑不同的业务负载。

 

宿主机 IP docker 宿主机架_公有云_04

 

 

宿主机 IP docker 宿主机架_公有云_05

 

对于追求弹性和灵活的企业(比如处在高速发展的互联网公司),这是再合适不过的购买体验了。找到最合适的款式和大小,立即下单立即就能使用。然后对于大部分业务都是稳态业务的企业,情况可能不太一样。

 

下图是一家企业 24 小时的 CPU 负载监控,可以看到整体的负载平均值只有 1%~2%(上图),但是依然有一些虚机的负载超过了60%,甚至接近于100%(下图)。

 

宿主机 IP docker 宿主机架_IT_06

上图:24小时平均CPU使用率

下图:24小时Top20虚拟机CPU使用率

 

针对这种大部分应用是低 CPU 负载,夹杂着小部分带有波峰波谷的业务,是否有更经济的部署方式?

我们可以通过 CPU 超分的方式提升低负载应用的资源使用率,同时使用 CPU pin 来保证高负载应用的性能稳定性,同时对于一些特殊负载的应用还可以创建非标准 CPU 内存配比的 ECS 实例。这些都需要涉及自定义,所以又回到了那两个字:可控。

 

可控的关键在于 CPU 超分的程度可以由企业自己控制,要避免CPU超分带来的多租户争抢,找到最贴合自身情况的性价比平衡点。可控的关键还在于企业能够获取到宿主机的负载,可以根据实际情况将 ECS 实例在不同的宿主机间进行灵活迁移。这些在专有宿主机构建的资源池内都可以实现。

 

宿主机 IP docker 宿主机架_IT_07

同样的资源,可以创建的节点数是原来的N倍,单节点成本相应变成原来的1/N

 

CPU 超分能够很大程度上帮助用户降低应用的部署成本,你可以检查下你管理的服务器的 CPU 使用率,哪些有可以优化的空间?这种方式很便捷,支持简单的提升部署密度,并不涉及应用改造。

部署可控

云计算通过虚拟化技术对用户屏蔽掉了底层物理硬件,向用户提供标准化的计算资源,避免物理硬件的运维对于用户的困扰,这种标准化也在逐渐的朝 Serverless 的方向演进。或许有一天我们真的可以不用再关心服务器,只需要通过接口和事件,就能够完成计算能力的交付。

 

不过等等,当我们回到现实,大部分企业还处在物理机或者虚拟机的时代。

可能是因为行业监管或者安全审计要求必须物理机独占;可能是因为商业许可证要求和物理机绑定;也可能是因为核心业务系统希望做反亲和性部署,降低单点宕机造成影响。总之,当前依然存在一些场景,需要我们去感知物理部署环境,所以物理机的概念还没办法完全从 IT 架构设计的字典中删除。

 

而实际的业务场景,对于部署的要求可能无法穷举。

特别是私有化部署的企业,因为物理资源一直是在自己的完全控制之下,部署的习惯不仅带有行业属性,甚至带有很多的企业运维文化。当你问一个企业理想的云上部署形态是什么,可能仁者见仁智者见智。那么最简洁而直接的办法就是给用户完全的部署控制权。

 

宿主机 IP docker 宿主机架_私有云_08

 

专有宿主机是一台物理独占的服务器,可以满足更严格的行业监管要求,同时支持商业许可证的自带许可证上云(BYOL)。而对于 ECS 实例的部署位置,企业可以自由选择,同时能够将 ECS 实例在不改变网络环境的情况下在不同宿主机间迁移。专有宿主机构建的是一个独占的资源池,但并不是一个和公有云环境隔绝的小环境,专有网络的互通性依然保留。

 

结语

公有云为用户提供了一个免运维,免部署的弹性资源池。专有宿主机在继承了公有云优势的同时,给予企业更大的灵活度,让企业对 IT 基础设施能够更加自主可控,构建属于自己的公有云上的私有云。

 

最后,总结一下私有化部署和专有宿主机部署的差异

宿主机 IP docker 宿主机架_私有云_09

 

 

--------- END ------------