如何评价一个云厂商到底好不好呢,确实不好一言以蔽之。
云计算市场竞争非常激烈,作为领头羊的AWS要扭过头来面对微软、谷歌、IBM、Oracle、SAP、Rackspace、Linnode、Digital Ocean、阿里云什么的,不同厂商背景不同,优势不同,同一类方案的实现方式也不一样,有的做出来比AWS好,有的差不多是一个水平,还有的有自己的老本可以吃,在某个方面起点很高。
比如,如果你写的是微软的.net的代码的话,在微软的Azure跑起来会更流畅,如果你想用谷歌的G Suite,肯定跟谷歌云(GCP)集成的更好。
尽管许多厂商在一些领域比AWS有优势,但整体而言,AWS在许多方面做的都比较好,许多方面都有多重不同的实现方式,多管齐下擅长组合拳,在一些云厂商那里,AWS产品目录就是云厂商产品经理的To Do List。
AWS的东西很全,光是数据库就有八种,存储也有六种,计算类型的话也分了好多类,单单是云主机的话也有十几种类型,每个类型下又有不同的内存和CPU、网络配置。
AWS最大的优势可能就是给用户的选项多,不过,这些选项并不是为了秀肌肉的,而是反映出了用户的实际需求,AWS的发布会从不说什么Roadmap,产品路线都是跟用户聊出来的,面对这么多的产品,用户要做的就是擦亮眼睛,做出选择,找到适合自己的。
有媒体总结出了AWS的13个优点或者说亮点,我们简单看一下,有几点总结的还是比较好的。
1 ,中立性
AWS作为基础设施服务商,中立地位使其很容易与用户和友商建立合作,跟别人打成一片。
比如,微软的Office在全球企业办公领域占有主导地位,谷歌的G Suite则掌控着剩下的大部分市场,AWS有一个Alexa for Business可以与两者很好的协作。微软旗下有著名的IDE工具Visual Studio,开源的IED Eclipse用户也很多,AWS对这些也进行了集成,推出了AWS Toolkit for Visual Studio,AWS Toolkit for Eclipse。
AWS有非常高的兼容性和开放性,可以支持各种现有的标准,比如用户原来就用的是微软的SQL Server或者Oracle,上云之后也可以接着用,不强迫用户重写任何代码来用AWS专有的云数据库服务。
AWS上有一个谜之操作,就是能平稳地运行很多竞争对手的产品,比如Oracle数据库,微软SqlServer数据库,谷歌自己开源的K8s更有意思,AWS说,大多数的K8s节点其实是在AWS上运行的,而不是GCP,AWS还说,绝大部分云中的Tensorflow也运行在AWS上。只留得谷歌谷老师在旁边无声叹息。
不过,AWS的中立性也是相对的,AWS上的电商用户不多,与AWS最像的阿里云跟AWS一样也是发源于电商平台,国内一些同类电商平台也不愿意把电商工作负载放在阿里云上。
2,细分的行业服务
早前,AWS主要是交付标准化的产品服务,计算,存储网络什么的,而后来,AWS推出了越来越多的针对特定细分领域的专业服务,比如客服呼叫中心Amazon Connect,比如关于游戏开发的Amazon GameLift,比如关于区块链的,甚至还有量子计算和卫星服务,不得不说,卫星服务这个真的是太跳跃了。
也许你不需要这些特别具体的服务,但是随着AWS的这类有针对性的服务越来越多,很有可能AWS某个披萨饼团队正在开发你需要的东西呢。
3,聚焦容器与云原生
以容器技术为核心的云原生正在普及阶段,所有云厂商都非常重视Docker容器技术,但AWS的做法则更进一步,推出了一个精简版的Linux Bottlerocket,这一发行版把代码进行了大幅精简,只留下能保持机器运行的代码。
在容器服务方面,AWS除了推出托管K8s的EKS以外,还推出了自己的容器编排服务ECS,容器方面还有一个叫Fargate的服务,这是一个Serverless版本的K8s,用户只管用就可以了。
最近外媒传出消息称,AWS将上线托管的开源K8s方案OpenShift,OpenShift本来就能在AWS上运行,此次合作中,新增了对于AWS自身服务的集成,AWS将其包装为另外一个服务,这样一来,创建和管理OpenShift就会变得更容易。
容器是继虚拟化之后,IT基础设施领域的又一大创新,带来的价值和产生的影响对于当下和未来IT发展都产生了巨大影响,都2020年了,架构里没点容器技术公司其实就是Out的代名词了。
4,Lambda无服务器计算
2014年,AWS发布了全球第一款云上Serverless(无服务器)服务,而后的几年,包括GCP、Azure、阿里云等厂商也推出了类似的服务。
AWS Lambda最初的设想非常简单,就是用一个简单的shell脚本将云中的所有操作集合起来,当有些偶尔要进行的计算任务时,就调用AWS Lambda,它不用再单独配置一台主机,用的省事儿,计费也简单。
AWS Lambda的场景也比较有针对性,比如,每天晚上都需要运行一次的后端进程,比如,托管一个内容很好,但目前读者很少的博客。
Serverless(无服务器计算)的方式正在普及,人们会越来越多的意识到它的优势,特别是处理偶尔出现的复杂的后端处理进程,如果说一个服务器的空闲时间超过了工作时间,那么就该考虑无服务器计算了,因为它会节省一大笔资金。
如果要做一些零星的业务处理,Lambda可能是云中托管重要工作负载的最经济的方式了,当用户意识到这一点后,会将越来越多的工作负载迁移上来,Lambda已经是AWS最重要的服务之一了,可以说,只要一天AWS还活着,那么Lambda就会一直有。
5,广泛的AI平台
如果用户想在自己的平台上加入智能服务,可以看看AWS的众多AI服务,比如,SageMaker是一个处理数据、训练和部署模型的神器,AWS凭借在AI上的广泛布局,吸引了许多用户,AWS曾宣称,85%的云上Tensorflow都运行在AWS上。
除了SageMaker,AWS还提供了针对特定行业的工具,Amazon Comprehend Medical通过处理非结构化医疗文本资料了解医疗流程,帮助找出治疗方案,Amazon Fraud Detection则可以辅助辨别恶意欺诈行为。
虽然微软和谷歌的云在AI方面的积累也颇深,但AWS的AI服务的广度还是无人能及。国内的云厂商也有宣称自己有AI开发平台的,但感觉反响有限,主要精力还是在于把AI能力做成了特定应用场景的API服务,比如图像类的证照识别,语音识别和语音生成类的,这种标准化的服务更简单一些也更务实一些。
6,Amazon Aurora:分布式的MySQL或者PostgreSQL数据库
AWS宣称Amazon Aurora是增长最快的服务,据说也是最赚钱的云上服务之一,可以说是AWS的一个杀手级服务。
Amazon Aurora 是兼容MySQL和PostgreSQL的数据库,对于开发者来说,Amazon Aurora看起来像是MySQL也像PostgreSQL,开发者可以选择自己喜欢的开源SQL版本。Aurora把数据存储在高性能的,基于SSD的虚拟存储层上,性能表现也很好。
由于Aurora将数据分布在多个Region的多台服务器上,数据在三个不同Region中的数百个存储节点之间进行切分,以确保可靠性和访问速度。Aurora可以在所有存储节点上执行并行查询,以此加快访问速度,大规模查询的速度有明显提升。AWS说,Amazon Aurora比MySQL快五倍,比PostgreSQL快三倍。
7,性能突发实例
2010年AWS发布了t1.micro,随后,T系列主机越来越多。目前,其实包括阿里云在内的云厂商也有类似的能力,阿里云在追赶AWS的脚步上走的比较快,百度搜一下突发实例,几乎全是介绍阿里云的。如果你搜Burstable Instance,全是说AWS的。
AWS很久以前就意识到云主机并不是一直处于高速运行状态,像Web服务器这种会有明显的负载波动,一段时间高速运行后,负载会有所下降。
很多EC2主机都具有突发能力,比如T3系列主机,在需要更高计算能力的时候,可以突发提供更强的计算能力,平时,当计算负载低于基线水平时,累积积分,当突发到更高性能时候消耗积分,而当持续突发的时候则需要支付额外的成本,总体而言,这样用户实际上是以相对低的价格享受到高性能机器。
8,EC2竞价实例
EC2实例每运行一天就得掏一天的钱,如果想少掏点,而且,当前的工作负载又不是那么火烧眉毛,其实可以考虑AWS的Spot实例(竞价实例),价格会随需求有所波动,但肯定比标准的EC2便宜许多,AWS说最多能便宜90%。
出价高的话,会优先享受到资源,如果想省钱的话,可以出价低点,不过,等待的时间可能要多一点,比如一个假日的夜晚价格可能会比平时低很多。
AWS与许多云厂商的策略不一样,有的厂商是通过给用量大的客户打折,有而AWS则是推进闲置资源的使用,目前还没听说过AWS给谁打了折。国内的华为云和阿里云在营销打折方面做的比较喜闻乐见,拉新还能有奖励。
9,基于浏览器的开发环境
AWS支持命令行的方式进行开发,也支持IDE的开发方式,为了优化开发体验,AWS收购了Cloud9——一个基于网页的IDE工具,并且将部署和管理这些代码的各种工具进行了集成。
Cloud9带来了很大的便捷性,比如,当你创建Lambda函数的时候,直接在浏览器里操作即可,无需下载任何东西,另外,这里还有许多所谓的无代码开发工具,比如有一个GraphQL API可以让你通过点几下鼠标来创建API接口,很快,能在浏览器里进行的操作会越来越多。
许多人可能并不喜欢云上的开发环境,不过,随着Web技术的进步,云上的IDE用起来也挺好的,最近体验了一些AWS的SageMaker Studio,没有感觉出来特别明显的不适。
未来,随着云原生的进一步发展,那些喊着让云原生应用在云上开发,云上迭代部署,在云上消失的人更可能会选择云上的IDE。毕竟对于大多数人来说,本地环境中对接云资源也没什么问题。
10,免费的游戏引擎
如果你打算开发游戏,你可以在AWS上找到许多独立的游戏引擎,当然也可以选择AWS的免费游戏引擎Lumberyard。
AWS免费的游戏引擎的商业模式也很简单,当用户使用AWS的其他资源的时候则需要付费,换句话说,当游戏玩家上线之后,工作负载运行起来之后,才需要付费。
说到底,AWS卖的还是资源,以资源为核心的服务,营造的是生态。
11,EB级数据传输服务Snowmobile
这是一个开创性的云服务。
互联网可以传输数据,但如果数据非常大,大到100PB的那种,那用互联网传输数据就不太好使了。
为了快速传输大规模数据,AWS打造了Snowmobile,这是全球第一个EB级的数据传输方案,再快的带宽也比不上一个能转载100PB数据的卡车快,AWS可以用Snowmobile把这个容器放到你的数据中心里,直接以本地的高速网络传输数据。
如果你有只1PB的数据要传输,可以考虑用AWS的Snowball,Snowball是一个存放数据的箱子,由于体积比较小,所以它能以快递的方式运送给你。
12,降本增效的操作多
类似的操作有很多,性能突发实例和竞价实例本身也是类似的出发点。
在降本增效上最极致的要属Nitro了,用专有硬件替代通用CPU计算做一些计算工作,给用户交付足额的计算能力,降本增效。
比如,归档存储一般是处于离线状态,当有请求发过来的时候才会变为在线状态。AWS的Glacier Select可以让用户以类似SQL的查询语句在S3桶里进行查询,无需把所有数据放到本地,Glacier Select可以把需要的那部分数据拿回来,以此降本增效。
比如,出于提高效率降低成本的考虑,AWS最近发布了一个叫UltraWarm的存储层,为介于S3和EBS之间Elasticsearch应用做缓存层,也是达到一个降本增效的效果,AWS在以各种方式降低成本,提升使用体验,以此笼络用户。
作为规模效应的典型行业,云计算行业的发展将因为技术创新带来的降本增效效应,让跟随者越来越辛苦。作为AWS的用户则可以保持着一些期待,没准哪个更新就能让自己的账单又便宜一截。
13,AWS的产品化程度高、文档全
作为一个常年薅云厂商羊毛的技术爱好者,大致上了解几家主流云厂商的一点区别。
最大的感受是,AWS的产品成熟度高,使用体验好,关键的是,AWS的文档做的太好了,个人感觉比Azure,GCP要好,国内云厂商的文档水平还是不要评价的好,提到谁就是在黑谁了。
最近趁某某云打折我入了两台云服务器,结果,马上就有人给你打电话加你微信好友了,我薅AWS羊毛好几年了,AWS我不主动发邮件,人家从不主动搭理我(骚扰我)。国内云的做法,可能是因为有许多人反馈店大欺客,对用户爱答不理,所以才这样做的吧。
另外提一句,国内云厂商单就使用体验来讲,阿里云的使用体验是很不错的,还有一些厂商的方案就略显粗糙了。不过,个人最推崇的还是AWS了,这种推崇可能来自常年薅人羊毛的愧疚,也可能来自先入为主的印象吧。orz
以上是几点个人比较认可的说法,如果认为说法不妥或有所补充,评论区见~