知乎热榜 ( ) • 2024-04-17 11:38
gashero的回答

这个问题挺有意思的。过去这些年实施过多个部署到云平台的项目,有些感触。简单说是IT系统上云,分拆越细致,越是能充分利用云平台的优势,降低成本并提高开发效率。今天我从拆分设施、数据库、带宽、大数据等几个角度来聊聊。


云平台提供服务最早的是虚拟机,一些对云平台部署的公司大量使用的也是虚拟机。但如果只是用虚拟机就特别可惜。把云平台的很多优势错过了。把系统分拆成应用服务器、数据库、对象存储等多个部分,充分利用云服务商提供的成熟服务,会使得系统开发和部署事半功倍。服务器作为硬件终归会坏的,但云服务商经历了足够多的硬件故障,会有冗余系统来帮助自动处理这些故障,并将绝大部分故障处理到用户不可见。这就使得系统的设计会清晰很多,不用担心太多硬件故障。

几年前我就见过个公司在虚拟机里装数据库,而没有用云平台提供的数据库。他们的理由是担心他们用到的一些特性在云平台的数据库里兼容性有问题,来不及做测试。但这么做还是相当可惜的,毕竟这就需要自己定期做数据备份等数据库运维操作。而如果用了云服务商的数据库,例如阿里云的PolarDB数据库,就可以用上双十一和12306同款的高性能高稳定性数据库。把服务器损坏,数据备份等繁杂事务由阿里云处理了。相信自己做过数据库增量备份和恢复的公司都理解这个过程的繁杂。

成长型公司的一个成本大头是带宽。甚至可能占到总成本一半。如果只是按传统机房的方式使用云服务,都用BGP带宽的成本就很高。随着深入上云,可以把大量的资源访问拆分给云服务商的CDN,利用CDN的带宽低价优势,就可以大幅度降低整体应用成本。比如在国内,阿里云CDN有着巨大的带宽余量,应对突发业务增长或恶意攻击时,更加游刃有余。一些系统经过充分优化以后,可以把90%的带宽都交给CDN,在成本控制和扩容灵活性上都会有大幅度的提高。

常用的优化办法是先做动态内容静态化,再把静态内容版本化。动态内容静态化可以将一些元素变为静态文件,这些文件的URL就可以放心地交给CDN来提供服务了。静态文件版本化则是在URL中用参数来指定文件版本,这样文件更新时就相当于修改URL。使得文件的缓存可以用永久性缓存。这两者的结合使用就可以大幅度降低主站带宽用量,降低80%以上是不难的。不仅省了主站流量,也使得用户使用本地缓存,速度飞起。

最近几年兴起的Serverless使得开发流程灵活性提高很多。Serverless开发模式只需要对特定事件开发对应的处理函数即可,无需指定这个函数部署在哪个服务器上。开发流程的缩短,配合NoSQL数据库,使得一些项目由前端工程师就可以独立搞定。部署过程也不再有服务器的概念,更不用担心服务器的部署和运维等。开发流程的缩短使得验证产品原型的速度很快,对市场反馈的验证可以让企业更快的发展。现代的APP开发和网站开发,大部分逻辑都是可以适用Serverless方式的服务器,处理些常见逻辑。


波斯登的上云历程就很典型。大家熟知的波斯登羽绒服,很早就开启了数字化,近些年利用云平台的优势,在开发阶段就使用云原生的开发模式,即开发阶段和部署阶段都使用阿里云ACK容器。波斯登随着发展,生成过程所需的SKU迅速增加达到上万种,生产和销售过程的流程也在逐渐变得复杂,需要更灵活的开发支持。开发过程通过阿里云ACK容器,使得从本地开发到部署上云更加顺畅,加快了开发迭代速度。对很多企业来说,更快的迭代速度就是快速进化的关键,有阿里云的辅助就省掉了很多麻烦。

大数据用于企业决策的发展,使得企业对大数据处理能力的需求越来越高。现代的大数据架构已经不是一般企业能承担的了。基于阿里云的大数据基础设施使得大数据系统搭建成为可能,哪怕是PB级别的数据量,也可以充分复用成熟数据库接口来完成计算和决策支持。自建机房想做大数据,往往一个机柜也只能存储下1PB左右的数据量,数据规模更大一些的管理难度让人头大。阿里云的PolarDB数据库则可以充分利用MySQL等协议进行查询和管理,使用中不用自己作数据分片等操作了。


在AI的时代,阿里云也提供了基于数据库接口的AI使用流程,包括训练-预测的全流程方案。机器学习工程师可以把精力集中于AI系统,仅通过类似SQL的语句,就能控制训练样本的使用过程,免去了大量繁杂系统,以更快的速度进行机器学习模型的开发和测试过程。以部署在阿里云的中国自己的AI原生企业——"童语故事"为例,是过去半年刚刚创业的初创企业,产品模式是利用AI大模型将孩子作为故事的主角生成故事。对于这种新模式产品,迅速开发迭代验证是抢占市场的关键。利用3个月迭代了超过20个版本,每月IT成本还不到一万元。

小微企业想要以最快的方式验证产品模型,可以把应用分为几个几个大块来做。服务器端逻辑尽量用开发部署最简单的Serverless,数据库用兼容MySQL协议的PolarDB,静态文件放在对象存储里并公网服务。这样的模式对大部分工程师都是很熟悉的,本地开发调试也有对应的开源环境,部署到阿里云非常顺畅。

初创公司的ICP备案等政策性工作也有7x24的专属客服帮助迅速解决,使得验证想法的时间非常短,也迅速占领了市场。


云计算发展以来,人们对云平台的应用越发细致,也把越来越多的繁杂流程交给了云平台获得更多便利。可以说对云平台的应用越细致,就能获得更多效率的提升,在商业上也能获得更多优势。对个人开发者,阿里云帮助大幅度降低了验证想法的流程,也在AI时代使得超级个体成为可能。