使用阿里云也算是一年,并且还是阿里云的MVP,工作的内容,其实也是和阿里云有关,到目前也算算告一个段落,所以怎么都要从我都角度来评估一下阿里云,也算是对国内对公有云做一个整体评估。
基本服务
公有云的用户,百分之90以上,基本都是使用虚拟机,网络和存储服务,那么这几项阿里云和国外同行,基本上已经基本一样,你运行的虚拟机,负载均衡,防火墙,基本上已经感受不到不稳定。
其实这也是非常不容易,这几年阿里云应该还是下来大功夫在底层,稳定性和可靠性,真的已经非常不错。虚拟机的存储,已经全部是闪存,网络都是必须使用vpc,虚拟机的规格,也基本固定下来,一个cpu对应4G内存。备份,快照,镜像,这些在私有云上很难处理的问题,在阿里云上真的可以说做的很流畅。
表扬完,就要说一下阿里云的不足。
计费
阿里云上的项目已经很多,各个项目的计费周期不一样,按小时,按日,按月,包年,内部对这个也是没有一个统一的要求,估计更多的是KPI考核。
阿里非常希望搞生态圈,对应开发,测试者来说,这样都计费模式,肯定是不友善的,测试一下,你就只能支付一天的费用。
Azure,AWS上,也确实是有某些服务,是如果你使用,是计费方式是按天的,例如那种存档,这种服务,按小时,还是比较不合算。但是这不是主流,真的也不是因为KPI,这样设计计费模式,更多是业务,技术代价导致的。
现在阿里云的IP,带宽的使用,已经改成按天计费,这就是KPI驱动导致的设计,一定能提高收入,但是一定会逐步影响你的生态圈。
我测试阿里云的功能,如果是按小时收费,那么我基本没啥担心费用,如果按天,就很难受,我就基本不去测试。很多新的东西,我也懒得去推荐使用。
例如阿里云上的对象存储,就可以模拟成一个nas,共享给虚拟机使用,让用户备份啥更加方便,不需要去理解S3的API。我测试一下,按天计费,我就懒得去折腾,很多时候,需要多次来测试。
API
阿里云上线一个产品,服务,有什么基本的要求呢,需要满足那些条件,才能上线呢?我过去一年,其实使用,测试过不少阿里云的产品,只能说,内部还是比较乱的。
2003年,AWS就提出,一切的交付,是用API。到今天阿里云还是没法做到。很多新的服务提供是没有API,这个估计老大销售压力很大,导致变形,有很大关系。
新的服务上线,产品经理考虑的最多的,应该还是KPI,而不是阿里云的长远的发展。
产品,服务要满足什么条件,才合适去上线,其实阿里云内部,我相信也是很清楚的,都是明白人。
曾经和阿里云的朋友探讨过,公有云的收入里,通过外部调用API的比例和通过控制台使用的比例是什么情况,如果是这个指标去对比Azure,AWS,基本就没法看。
账单
我当了一年公司阿里云的管理员,负责管理,协助公司内部各个项目,团队,部门使用阿里云的资源。那么我首先想到的在阿里云上的费用的拆分,逻辑的隔离项目的资源。
如果你今天去问负责你的阿里云的销售,售前,他们给你的答案,应该还是无法实现,要实现,要通过CMP。你再去外面问一圈,都是阿里云的红人,结果都没解决过这样的问题。
这样的需求,难道很变态,不合理吗?大家都认为阿里云肯定就有这个功能,但是很可惜是没有的。
如果让我去帮各个项目创建资源,每个月给他们计算费用,搞定发票,我估计真都啥都不用干。
我都需求就是一个项目需要使用阿里云都资源,我给他们团队一个人开通一个账号,让他负责管理资源,他可以创建资源,创建用户,知道自己都消费是多少。不能超过你申请都费用。如果超过了你申请的费用,你就没法使用资源。
也很感谢阿里云的研发的朋友,把做好的功能,第一时间给我用上,解决了我这个公司阿里云管理员的管理上的重大难题。
通过阿里云的:资源目录,这个功能,是可以很好解决这个问题,用起来后,真的感觉很爽,负责这个产品的弟兄,也是非常有想法,借鉴了AWS,没有闭门造车。这个问题阿里云的最终解决的办法,其实比国内其他厂商都要强。
主账号对各个资源目录,或者说子账号的财务管理,做的还是非常值得夸赞,就是这是不同的team做的东西,很少人全部搞明白。我是折腾了一遍,应用上线,碰上过大坑,通宵折腾阿里云弟兄帮忙解决。
资源组
我是因为折腾这个功能,对阿里云的认识逐步加深。Azure,AWS都有资源组的概念,不过真正好用的,其实是Azure,真的做的非常不错。
资源组,对我来说,我的使用,就是把项目使用,涉及的资源,都放到一个资源组里,用完后,统一删除。Azure解决了一个公有云一个难点:创建资源容易,删除难,在Azure上,你基本可以直接删除资源组,就把下面资源删掉,除非你有备份都设置,估计有点麻烦。
阿里云上都资源组,我测试都时候,出现了很多很有意思都事情。
- 不支持api在资源组创建资源
- 很多资源不支持资源组管理
- 对着阿里云官方都文档进行操作,我居然无法创建出虚拟机。不是我水平的问题,是阿里自己压根就没对着自己的文档测试过。
我专门也问了外面几个生态圈的伙伴,他们都抱怨给阿里都资源组坑过,坑多了,就没有朋友了。
据说2021年,阿里云要重构资源组都功能,上次看阿里云都资源组都产品经理demo演示都视频,其实很不容易,很多坑,不是一个人能搞定,在江湖呆久,看视频演示,也都能看出问题,他有意回避都地方,基本就是一堆问题,没法解决的,例如前端UI在不同资源组切换,资源的显示,缓存,都是麻烦事。
文档
对于公有云来说,文档的重要性,超出你的想象。AWS上,其实是没有客服,你了解一切,都只能是通过文档,不会出现文档更新不及时都情况。AWS,我都理解真都一切交付是API和文档,你看文档来用API。
如果你开发都过程,没把文档搞定,指望产品上线后,再去更新文档,注定是悲剧。
如何开发过程,自动生成api文档,做到完全同步,业界应该已经很多实践,还是看领导层的意识。
培训认证
微软玩培训认证,搞生态圈是高手,微软自己的培训,肯定不是为了挣钱,微软的培训都是第三方,合作伙伴来进行,考试也是让第三方来搞。
阿里云上的培训,认证,都是自己搞,据说他们还有收入的KPI。为了挣点培训,考试费用,对于阿里云来说,真的比较low。
疫情期间,我看了Azure,AWS,Google cloud的培训视频,基本都是免费,放到油管上,真的已经非常完善,讲师通过公开的视频,能获得收益,持续的更新,这就是一个很好的生态圈。
培训是生态的关键环节,你的产品,应该如何使用,是需要依靠培训去洗脑。
安全合规
安全和合规,这是私有云最后一根稻草,阿里云也开始意识到这个问题,这这方面发力,解决企业在安全合规上的担心。
阿里云是互联网基因,满足互联网客户,没有问题,但是企业的基因,2B方面比较欠缺,这方面,就要好好跟Azure学习。
企业合同流程
一般企业内部的财务的流程,都是签订合同,合同完成,验收结束,给发票,90天后付款。你现在和阿里,微软做业务,基本都是这样的一个流程。
对于企业来说,如果按照这个流程来使用公有云,就会遇到麻烦,根本走不通。如果阿里集团要采购阿里云的服务,也肯定是没法进行。我专门去看了一下Azure是怎么解决这种问题的。
Azure 不愧是有企业基因,设计了一套合同支付的流程,是可以满足企业目前的流程的。
对于很多外企来说,企业的管理,都是依靠流程,修改流程,是一件不可完成的事情。流程的设计其实也有他合理的地方,我们需要在流程下,完成自己的工作。
目前我其实还是没解决这个企业的流程问题。
省钱
云平台都是希望增加收入,但是如何增加收入?帮助用户省钱,用好阿里云,长远来看,实现盈利呢?
同事让我介绍一下,如何使用阿里云,我这里就做一个总结。假设你上第一次登陆账号,应该如何处理。
- 使用资源组来管理项目到资源,默认到资源组Default,如果你不指定资源组,就会创建在这个Default资源组。一个账号里,日后都会有不同到项目在运行,所以建议才有资源组来管理,当然资源创建后,也是可以修改资源组
- 选择region,根据你需要到资源,选择区域,要注意,你需要到资源,可能不会在一个区域里,可能是分布在多个区域。
- 创建vpc,规划好ip地址段,不同区域,一个子网。这个玩一下,就明白。可以数据库在一个子网,web在两位一个子网。甚至你可以一个vpc跑数据库,另外一个vpc跑web,通过vpc互联来实现web访问数据库。我个人倾向一个vpc,不同的子网。阿里云的网段可以自己指定,虚拟机的ip地址,你也可以指定。
- 创建安全组,设置好自己要开放的端口。规则。这个比以前使用的防火墙方便多来。
- 申请floating ip,一定要注意,公网IP,单独申请,不要在创建虚拟机的时候申请,这是不一样的,导致后续很麻烦。创建虚拟机时候申请的公网ip,和虚拟机是紧密绑定,会导致你删除虚拟机后,公网ip就给删掉,收费必须和虚拟机一致。
- NAT网关:可选,当你的虚拟机超过10个,公网的ip地址超过5个,这个时候,你可以考虑通过NAT网关来提高灵活性,降低带宽成本。如果你只是2,3个ip地址,那么就没必要使用。
- 创建虚拟机,需要注意:虚拟机的规格,磁盘大小,都是成本的关键。记得关掉快照。记得上面提到的,不要选择申请公网的IP。计费模式,选择按需,后续确定满足需求,再转成包月。从包月转按需,或者包月后,调整配置,都是很麻烦的事情。虚拟机的规格,2core,8G,基本可以满足企业的百分之90以上的需求的,目前的虚拟机的cpu。
- 应用部署完成后,不要使用快照来做备份,要使用镜像,这个最便宜的。虚拟机关机,成本仅仅是减少cpu的成本,存储的成本,带宽还是在的。
- 根据实际情况,可以先把虚拟机转成包月,带宽观察一段时间,再决定。
- 数据库,尽量使用RDS,不过要测试,应用的数据库可能用到的某些功能,RDS是禁用的,这个需要测试,否则比较麻烦。数据库的迁移,就把备份放到对象存储上,可以直接倒入到RDS。
- 公有云的虚拟机后续的运维,基本都是磁盘满了,所以要用心处理应用的日志,虚拟机要装上agent,才能监控到磁盘的使用情况。这个比较关键。
- 安装的文件,就放对象存储上,上线后,可以考虑把虚拟机做一个镜像,这样成本很低,完全可以忽略。
- 备案,目前哪怕用ip地址访问,日后都会有麻烦。所以你还是注册一个域名,备案。这个需要提前准备,提工单来解决。流程不同时候,不同区域是不一样的。
- 安全,就是安全组尽量少开端口。很多时候,可以登陆阿里云的后台,web登陆console来维护,尤其windows,这样是最安全的。平衡一下,大部分时候,你都是不需要公网访问3389端口,22 ssh端口。
- ssl证书,这个就用免费就可以,需要注意的是免费的证书,我的理解,3个月,需要update一下,这个实际场景,需要留意,用脚本,工具来实现自动更新。ip地址访问,其实也是可以考虑自己签发证书,来加强安全。http:// 是明文传输,都要改成https。
- 阿里云上镜像跨账号,跨区域共享,做的还是非常不错。你对一个虚拟机做镜像,镜像的内容会包括你的系统盘,数据盘,你可以通过镜像创建出来,非常方便。可以考虑测试的时候,测试通过的虚拟机,通过这种方式,迁移到生产环境的账号里。
- 阿里云上,资源大部分都是收费的,要搞清楚那些是收费,那些是免费。资源不使用就删掉。ssh的密钥,公钥都是要收费的。对象存储,免费的额度,估计就足够你使用。
- 快照,在应用的升级的时候,可以考虑使用,确认没问题就删除快照就可以。日常你的数据库备份,如果你没使用RDS,就通过脚本进行备份到对象存储上。web应用,上面基本是没数据,做一个镜像就可以。
操作记录
你接手一个账号,你最想知道的是什么,反正我是想搞清楚,上面的虚拟机是谁创建的。很遗憾,你只能提交工单,让他们后台查询,用户自己搞不定。
一般的web应用,对用户的修改,创建的操作,都会记录,这样方便解决问题,阿里云上,这样的功能,都希望引导用户使用付费的服务。
阿里云对控制台的操作的记录,是出过问题,我对账号里的财务的一个设置,阿里云平台升级,导致我这个设置给修改。那么这个时候,是平台升级修改,还是我自己修改的呢?
我最终是靠自己证明清白,我那天没人登陆过后台。最终证明是升级导致。
升级出现小问题,我是可以理解的,不过你修改数据,没做任何的记录,这是很危险的。当时是因为升级,我马上发现,如果这种问题,拖几天,估计排查就更加困难。