笔者从2018年下半年开始研究公有云服务,契机是由于公司领导想将一部分业务转向云端。笔者向身边很多人请教,发现传统行业用云计算的人还不是特别多,很多人对于云的理解比较片面和极端,一些人把云计算仅仅是理解为虚拟机,他们用云计算就是在阿里云或腾讯云上建很多主机;一些人认为云计算无比可靠,不需要冗余和备份;一些人认为只要用云,就一定能省钱;还有一些人鼓吹去云化。正如从不同的角度看问题,得到的答案是不一样的。从云计算使用者、正在上云的使用者、云计算销售、管理者来看,他们眼中的云计算也是不一样的。

今天,笔者是做为传统的IT工程师,向云计算转型的工程师,云计算的学习者和使用者来看待云计算,也向各种读者来聊聊传统IT工程师眼中的云计算。

云计算是什么:

在学习云计算之前,我们先来搞清楚云计算是什么。云计算服务,即云服务。中国云计算服务网的定义是:指可以拿来作为服务提供使用的云计算产品。包括云主机、云空间、云开发、云测试和综合类产品等。官方的定义啰嗦一堆,笔者总结为“云计算就是按需的资源服务”。大家看下窗外蓝天上的白云,是一块一块的。可以是圆形的,可以是方形的,可以拼成小猫,也可以拼成小狗,是没有一个固定的形态的。再举个例子来说,云计算就是用现成的,吃现成的。传统的数据中心可以理解为是自己买来电饭锅,电磁炉,面粉,蔬菜,调料,然后自己当厨师或请个厨师来做饭,做菜,它是基于你的设备的,你需要存储空间就要买硬盘,需要计算资源就要买服务器,需要网络就要买交换机,然后搭建应用,数据库,部署代码,才能有成果(包子或馒头吃);而云计算就是花钱吃,可以直接花钱订外卖(这就是SaaS,全包服务,连门也不用出),可以去吃自助(相当于PaaS,商家提供平台,吃什么自己决定);也可以去现在游行的那种DIY吃饭,店家提供炊具,水电,你拿着食材去了自己做(相当于IaaS,商家提供基础架构,你自己做饭)。可以说,云计算就是云计算服务商把资源进行池化整合,再以服务的形式打包进行售卖,而用户不需要再建设机房,不需要关心动力,电力,制冷等环境系统,不需要再关心固定资产投入,只需要按自己的需求来购买相应的云计算资源即可。还是以吃举例,你以前10个人吃包子,自己做的话要计算买多大的锅,买多少面粉才能做出够10个人吃的包子,而使用云计算以后,你直接打电话订10个人的包子就行了。几年前笔者对云计算也是嗤之以鼻,以为云计算就是虚机而已,其实也是一个不完整的认识。虚机只是云计算Iaas中的一种。

云计算的优势

了解了什么是云计算之后,我们的问题就是那为什么要用云计算呢,好好的自己的数据中心,自己的服务器不用,干啥非要上云呢?以下就是云计算的优势

灵活性和快速的应用:这是云计算的第一大优势,即灵活快速的部署。我们自己建设一个IT系统,哪怕只是一个应用,也需要最少一台服务器,一台交换机,一个机柜,哪怕这个应用只需要16G内存,50G硬盘。而相应的,还需要UPS,空调,这看起来太不合适了,而使用云计算,你上阿里云或AWS开一台16G内存,50G硬盘的虚机即可,什么机房,UPS,空调,机柜,服务器,存储都不用管了,这就是灵活性。而对于一些小企业或初创公司来说,哪有钱来建机房,买设备,云计算这时候就是最佳选择了。再说快速应用,一个小企业原来业务量只有1000人,只需要一台服务器,但随着业务的增加,一个月后业务就需要10台服务器来处理,这时候如果是使用自建的方案,光采购的时间就得3个月,别说部署应用了,而使用云计算,只需要10分钟再买10台虚机就行了,这就是灵活性。

按需使用,按需付费:在企业的发展过程中,业务量是有增有减的。在传统的自建机房模式中,我们采购服务器总会留有一些余量做备用,而这些资源平时是用不到的。而在云计算下,则用户不需要提前准备资源,云厂商的资源可以理解为永无止境,用户只需要用多少,买多少就可以。我可以买1年,1个月,1天,1个小时,甚至1分钟的资源。例如电商网站在平时只需要100台虚拟机就够用,而在做活动的时候需要1000台,但只需要10天,于是就买1000台10天就好了,而且只需要付10天的钱,如果是传统的方案,则要自己买1000台服务器,然后一年中其他的时间这些设备都在空闲,而且还在费你的电。用多少,买多少,花多少钱这是云计算的一大优势。举一个实际的例子,一个软件开发公司做项目,项目时间为半年,他们需要10台服务器,如果是传统方案,则要买10台硬件服务器,一台交换机,还要租一个机柜;如果是虚拟化方案,则要买2台服务器,一台交换机,租一个机柜;而使用云计算,则只需要付费买10台虚拟机,半年时间即可,显然,云计算的成本在这种情况下是大大低于传统方案的。而有些同学会说,我买的硬件服务器以后还可以再用啊。这一看就是技术工程师思想,老板只会想这个项目要用到多少钱,而不会考虑说以后还会用;当你投标一个项目的时候,你使用硬件的成本是别人公司使用云计算成本的两倍,这时候你连标都中不了,后面啥也没有了。

将固定资产支出转变为运营支出:这个优势可能一些同学一开始不太明白,首先一个企业,或者说站在甲方的角度,一个IT部门是会存在两种成本支出的。一种是固定资产,即你买了一件东西,它就是你的了。例如买了10台服务器,1台存储,5台交换机,这些东西就永远是公司的了,这叫做固定资产,是固定的,固定资源也叫做CAPEX。第二种是运营费用,即你买了1台服务器,12W,但每年需要再给供应商1万元/每年做为维保,这个维保费用就叫做运营费用,它是持续在花的,每年都需要去付。像维保费用,供应商调试费用,带宽费用,这些在运营时持续需要的费用,一旦不交就停止服务了,这种就是运营支出,也叫OPEX。再简单理解,CAPEX就是买东西,永远是自己的,OPEX就是租东西,租一天是一天,用一天花一天。讲完这两点,我们再返回来看,传统的自建方案就是CAPEX支出,因为买来的服务器都是自己的;而云计算的支出就是OPEX,一旦你不交钱了,啥也没了。而在企业的运营过程中,老板们更喜欢运营支出,这样他们能够评估费用的花费,预估预算。例如老板可以说OA系统每年花20万服务器成本,是用的AWS的云计算。而如果采购的硬件服务器,第一年采购设备花了60万,之后每年10万维保,则老板不好评估OA到底每年花多少钱,自己的运营成本到底是在增加还是在减少,这个费用如何计算。再有,可能老板去一下申请60年也很难申请到。总结一下,云计算将固定资产转变为了运营费用,更加利于企业投入。

成本降低:成本降低就是省钱,不管干啥子事,谁不希望省钱呢。云计算服务商的一大卖点就是省钱。我们来谈一谈云计算是如何省钱的。在传统的IT下,我们有购买固定资产的支出,就是买服务器、存储、交换机、防火墙、路由器、UPS、机柜花的钱,有维保的费用,即服务器、存储、交换机、UPS等等的维保费用,有维护这些设备的工程师的人力成本支出,有购买操作系统License,应用程序License的费用,这些都是IT的成本支出。而在使用云计算服务以后,固定资产支出都没有了,变成了按时间付费的运营成本,每年的维保费用也没有,统一在云计算服务费用中了,各种应用程序的License也可以包含在云计算服务器一起购买,而既然没有服务器、存储、交换机这些硬件了,这些工程师也就不用了,这个人力成本也就省下来了,相当于你的云计算花的钱包括了机房、电力、制冷、硬件维保、软件许可,人力运维成本,总的算下账来是省了好多钱,当然能省多少钱要看怎么算。反正是能省很多钱。这个道理是没错的,尤其在西方国家人力成本很高,不加班,所有产品都正版,但云计算的费用较低的情况下(以AWS举例,美国的比亚洲和中国便宜很多),但实际情况是在国内,初创或一些小型企业,人力成本在老板看来不是成本,员工拼命加班,一半产品不是正版的情况下,从传统的IT架构迁移到云环境,并不一定能省到钱。笔者举例,一个企业有100台服务器,用的一半是Windows,一半是Linux,其中Windows都不是正版,而且100台服务器都不买维保,买了一直用到坏,工程师一个当仨个用,天天加班,出了问题就用人扛,服务死了半夜起来重启,硬盘坏了周末来换,在这种情况下把现有的环境迁移到云上,算一下成本是省不了钱的。所以这一点我们也要认识到,云计算对于一部分传统公司,省钱可能并不是最大的优势,反而要真正用起来可能会比自己建设要费很多钱。这个主要看如何来考虑成本的问题,以及公司当前的业务方式。

可靠性:谈到可靠性,这确实是云计算的一个优势。云服务商有专业的IT建设团队,专业的机房,供电,制冷,冗余设施,可以做到99.95%甚至更高的可用性。例如AWS有多个区域,每个区域有多个可用区(相当于是数据中心集群),服务器、存储、网络都提供了冗余和高可用,这是一般小企业所难以做到的。如果自建的话每个业务都要两台物理服务器,两台存储,两台交换机,那成本就实在是太高了,而云服务器通过大规模采购,建设实现了这一点,用户只需要使用它的优势就好了。但要注意的是,云服务商也不是万无一失的,即使他们已经构建了高可用,但也没有承诺百分之百的可用,因此我们在设计的时候仍要考虑可用性,也要考虑数据的备份和灾难恢复。AWS之前也已经出现过多次故障,腾讯云之前一个用户的数据就是完全丢失找不回来了(网上可找到相关资料),不要把云计算当成绝对可靠。

可扩展性:传统的本地建设当业务增加,扩容的时候是非常费力的,不管是网络、存储还是业务。而在云环境下会变得更简单。首先采购周期缩短,传统架构要采购硬件,就需要几个月,使用云后,只需要点几下;第二操作更加简单,传统架构下扩容需要设备上架,连线,有时候还需要停机,而在云环境下只需要在一个网页操作就可以了。再有一个,就是云厂商的服务往往是遍布全球,例如AWS在全球有22个区域,即在全球有22个城市有AWS的服务,并且所有区域之间都是通过AWS的骨干网相连接,用户不管在全球哪个国家开展业务都可以就近把服务开启在当地,并且可以通过AWS内部的网络服务把自己的内网打通,而完全不用自己建机房,买硬件设备等操作。

为什么要学云计算

我们了解了什么是云计算和云计算的优势之后,可能有人想问,我是搞网络的,我是搞服务器的,我又不是做云计算的,我也不打算做云计算,我学这东西干什么。那笔者想说的,不管我们现在做什么,我们都需要学习和了解最新的知识,我们可能现在不使用它,但一旦使用,我们就有储备,而云计算是现在也是未来IT领域的一个趋势,越来越多的公司会把业务或一部分业务放在云端,而在云上也有服务器,也有存储,也有网络,而懂得这些的人会更有竞争力。很多时候,我们不是被同行打败,而是被跨行业所打败,康师傅不是败给了统一,而是败给了外卖;柯达不是输给了胶卷,而是输给了数码相机。因此,我们需要储备知识,而云计算就是IT工程师一定要储备的一个知识。

如何学习云计算:

本系统专栏是为初学者而讲,即希望读者在完成这个专栏的学习后,能够了解云计算是什么,云计算的分类,基本概念,提供哪些服务,如何进行设计和基础的实施。和大牛聊天的时候不至于落伍,和客户聊天的时候可以吹牛,也便于以后更加深入的学习。在课堂的选择上,笔者选择了亚马逊的AWS来进行讲解,比较其他国内的公有云云服务,AWS开放性更好,提供一年的免费账号,很多实验读者可以自己注册进行实验而不用花钱;在文档上,AWS的文档要更加丰富,包括官网的文档中英文都有,还有一些电子书;在技术上,AWS是第一个提出云计算并开始出售云计算的企业,很多技术都是它发明的,更加先进。而技术这个东西,是一通百通,关键在于理解。这样的话,AWS做为入门的教材再合适不过。

还有人会说,我听说AWS现在在国内没人用,阿里云,腾迅云才是主流。这话倒是没错,在国内阿里云是拥有第一市场份额,并且技术实力也很强。因为国外的云服务,不管是AWS还是Azure,在国内是没有资质直接去运营云计算的,他们必须依托一个国内厂商来卖他们的产品,因此落地并不好,即很多功能在国内版本没有。但在学习上,笔者觉得是相通的,尤其是AWS是全球第一个云计算厂家,很多云计算厂商都有借鉴和学习AWS产品,不仅功能模式相似,甚至名字都差不多。例如云虚拟机AWS叫EC2,阿里云叫ECS;虚拟私有网络AWS叫VPC,阿里云也叫VPC;云负载均衡AWS叫ELB,阿里云叫SLB;云关系型数据库都叫RDS,因此可以说学一种其他的再看看就明白个七八。而在新手学习的话,AWS做为入门有免费账号,有电子书,资源更多。

下图是云计算基础架构服务的Gartner的一个魔力象限的图,可以看到在领导者的是亚马逊的AWS,微软的Azure和Google,可以说AWS是云基础架构服务商的老大,我们学AWS入门,错不了。
从云下到云上,传统IT工程师的转型

本系列专栏,定位于入门初学者,将介绍AWS的基本概念,如Region区域,可用区等术语,也会介绍计算资源EC2,ELB,Auto Scaling;存储服务,块存储EBS,对象存储S3,文件存储EFS;网络服务VPC,NAT Gateway,DirecConnect,ROUTE53等;数据库服务RDS,安全服务如安全组,ACL;身份管理IAM等主流的基础服务,并会配上相应的实验。每个知识点过后,笔者都设计了一些实验,大家一定要动手作一做。

再谈一个如何学习的问题,其实在IT行业,不管是学习什么知识,不管是网络,服务器,编程还是云计算,很重要的一句话就是百看不如一练。光看是看不会知识的,这在云计算上同样适用。很多知识需要大家理解它的原理和工作过程,而这就需要大家去动手操作。想学好云计算就去使用它,多做实验,在实验中理解相关的技术,这就是我想告诉大家的。

最后,希望大家看完这个专栏能够进入云计算的学习行列。

案例分享:

最后,我们来看一个企业上云的案例。下图是我爱我家一部分业务上AWS云的架构图。可以看到,在这个案例中使用了AWS的托管负载均衡服务ELB,将流量分发给两个不同可用区中的EC2,EC2上采用了容器技术,而后台的数据库使用了Amazon的托管的关系型数据库RDS。而备份数据,日志数据,WEB资源和静态文件则使用了AWS的对象存储S3服务。同时,由于我爱我家只是一部分业务上云,可以说是一个混合云的模型,本地数据中心使用了AWS Direct Connect的专线服务和V P N服务与AWS云上进行连通。这可以说是一个比较典型的云上方案。
从云下到云上,传统IT工程师的转型