一 写在开始
IT狗一枚,但不是天生的IT狗(大学不是此专业,也没想过搞信息化)。凭着误打误撞的本事进入此“坑爹”却没处说理的行业,搞过delivery engineer,搞过PM,搞过产品经理,搞过Solution Sales,唯独没Coding过(因为不会,好像也学不会)......做过的产品也很多很杂,搞过的项目行业不一。说是有点经验吧,但却拿不出太多可以量化的积累。和一个同行的朋友聊起自己的困惑,无独有偶,他好像也有类似的困惑。于是乎,趁着这股子热乎劲,两人商量着吧写点东西(更重要的其实是梳理知识)以量化自己所知,不为布道解惑,只为自己有所记录。如果有幸能为看到的朋友们带来点什么,那就再好不过了。选择简书这个平台来记录也比较简单,喜欢简书的Logo(就是这么耿直)。
想了很多主题,那就先从云计算开始吧。
二 云计算是个啥?
云计算现在已经不是什么新名词了,但是了解一个东西首先还是要从这东西是个啥讲起。
2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在世界搜索引擎大会(SESSanJose2006)首次提出“云计算”(Cloud Computing)的概念。这是我所了解到的Cloud Computing一词最早出现的地方。
正如上文所述,云计算一开始只是个“概念”,提出的早并不代表实践的早。Amazon(现在全球最大的云计算服务提供商)老板贝索斯在2002年给公司内部全员发过一篇公开信(严格意义应该叫做命令.....).
1 从今天起,所有的团队都要以服务接口的方式,提供数据和各种功能。
2 团队之间必须通过接口来通信。
3 不允许任何其他形式的互操作:不允许直接链接,不允许直接读其他团队的数据,不允许共享内存,不允许任何形式的后门。唯一许可的通信方式,就是通过网络调用服务。
4 具体的实现技术不做规定,HTTP、Corba、PubSub、自定义协议皆可。
5 所有的服务接口,必须从一开始就以可以公开作为设计导向,没有例外。这就是说,在设计接口的时候,就默认这个接口可以对外部人员开放,没有讨价还价的余地。
6 不遵守上面规定,就开除。
后来的故事大家也知道了,Amazon除了电商业务之外,AWS在贝索斯的带领下逐步发展成全球最大的云计算服务供应品牌,营收、利润逐步成为业界No.1。很多人事后提到,贝索斯的这一观点是只是叫大家开发的时候尽量服务化,可云计算不就是一个服务吗?
引用一下NIST对云计算的定义(2011年9月版,备注时间戳是因为NIST的定义也随着技术演进在逐步细化、精确化):
Cloud Computing is a model for enabling ubiquitous,convention,on-demand network access to a shared pool of configurable computing resources(e.g.,networks ,servers,storage,applications and services)that can be rapidly provisioned and released with mininal management effort or service provider interaction.This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.这一版的定义强调Cloud Computing是一种Model,一种使用者能便捷、按需、无地理限制的使用各种服务的Model。我个人非常偏向于这一版的粗颗粒的定义,它注重的是“道”而不是“术”。简书和CSDN都有对这一定义的详细解读。
简书:https://www.jianshu.com/p/2a18491e8507
CSDN:https://blog.csdn.net/zhaisharap/article/details/17020451。
三 云计算优势
自动扩展、主动扩展、按需供应、开发/交付周期有效缩短......这些都是云计算技术带来的技术优势,再将各行各业的业务属性和特质带入后,就演变出无数的技术优势,各个玩家也都在挤破头皮包装自己云计算产品的技术优势,反正互联网上各种牛皮满天吹,我这块不多讲技术,咱从经济效益的层面罗列一下。
1 将企业的固定资本投入变为可变资本投入,最大化经济投入效益:个人曾经有幸参与运营商IDC机房的项目,了解过很多数据中心之前的建造模式,不管是啥业务,IBM小型机来一套,Oracle来一套,网络接入设备来一套,操作系统N套.......,但是实际业务到底需要多少资源?很多人说不清楚,或者当时建造的时候说清楚了,随着时间的推移,业务的萎缩(or扩大),后面也就说不清楚了。其实间接的就造成了资源的浪费或者资源的不够用。而后,运营商逐步提出数据中心虚拟化、云化改造,与其不明就里地投资重金构建数据中心和服务器,不如使用云服务,这样您只需在使用计算资源时分配即可。这其实就是再算一个经济账,云计算技术将运营商的资本投入变成了一个可变的,换言之,我某一段时间内的资本投入是可以量化的而且是最小的。
2 不用去猜测/预测容量的变化,做到资源最大化利用:很多企业每年经常会做的一个动作就是预测明年的业务量,考虑要不要提前扩容等动作。这都是因为在部署应用程序前就确定了容量,要么出现昂贵的闲置资源,要么为有限的容量而发愁。而利用云计算,这些问题都不会出现,大家伙都可以按需访问任意规模的资源,可多可少,并根据需要扩展或缩减,一切只要几分钟就能完成。
3 加速应用的交付速度和灵活性,快速产生价值:在云计算环境中,新的 IT 资源只要点点鼠标就能配置到位,这能显著节省时间,将开发人员调配资源耗费的时间从数周缩短到几分钟。这让组织的灵活性能够大大增加,因为用于试验和开发的成本和时间明显减少了。这显然是提速增效的有效手段。
4 业务想怎么拓展就怎么拓展,鼠标点击拓展到全球:只需点击几下,即可在全世界的多个区域轻松部署应用程序。可以用最少的成本轻松帮助客户获得较低的延迟和更好的体验。
5 让应用开发部门和业务部门专注于自己的主要项目:基础设施,甚至于PaaS层的能力都只是支持上层应用的基础,而非终极目标。云计算让企业专注于自己的客户拓展和经营,卸下安装和维护服务器的繁重工作,将IT彻底变成一个支撑公司发展的工具而不是累赘。
四 云计算玩家阵营
云计算这个玩意相比于通信、IT信息化、互联网出生的晚,但是行业的巨头都不想错过这一波技术浪潮,都想在其中分一杯羹。总的来说,现在云计算(公有云)玩家分为以下四类:
1 传统IT(软件和硬件都囊括)厂家:HP、IBM、华为、新华三、浪潮、Dell、Oracle(数据库+Sun小机)、思科、还有IT界的霸主微软......。这些在以前硬件和独立软件为王的时代,是赚的盆满钵满,云计算IaaS层的技术革新首先要革的就是这些厂家的命。不管是为求自保也罢,还是谋求在未来能有所发展的,都重金砸入云计算的无底洞中。不过这些个厂家大多的优势也聚焦在IaaS层,更接近硬件的层面,毕竟中台、软件开发这些基因不是花钱就能解决的,需要长期的积累。且看这些个玩家后续如何吧。
2 电信运营商:没错!国内就是给我们卖手机套餐的这三个货!他们也玩云计算,而且玩的不错!电信天翼云在2018年的中国公有云市场份额已经能排在第三的,紧跟马爸爸和鹅厂。在云计算服务中,运营商的优势主要在网络、数据中心、大规模可靠性、运营能力、企业信誉、企业客户资源与关系等方面,同时通过对原有业务架构进行优化和云化改造,为中小企业、政府及行业客户提供公有云和私有云托管及定制服务,优势主要集中在IaaS层。国外的电信运营商AT&T、Verizon起步的更早,感兴趣的同学可以百度或者Google这些个运营商玩家。
3 互联网巨头:云计算对于互联网巨头来说,介入是比较容易的,生于互联网浪潮之中的这些企业本身聚集了太多的可以开放的能力,这些本身服务于他们自身业务的能力逐步开放出来,大大方便了他们的云计算服务的广度和深度。在IaaS领域,互联网企业采取与软件厂商合作,提供软件开发的基础性服务;在PaaS领域,主要提供服务于第三方开发的平台服务,为开发者提供应用中间接口;在SaaS领域,则通过与终端客户和渠道商联合,以良好的用户体验提供系统集成服务。总之,互联网厂家的优势能力集中在PaaS层和IaaS层,PaaS拥有积累多年的能力,SaaS层拥有多年的开发经验和用户触角。国内当属BAT,金山这些大佬们,放眼全球当属亚马逊一枝独秀,还有百度的老朋友Google GCP。
4 云计算创业公司:云计算诞生以后,有一批初创公司定位很准确,我就是要搞云计算服务,深耕细分市场。比如,QingCloud,UCloud,这都是财报,口碑看起来不错的创业公司。这些个企业开始就盯着一些微小、买不起机房,买不起带宽的互联网公司,为这些公司提供公有云服务。当然,对着技术和应用场景的扩展,青云和UCloud也在逐步拓展私有云、混合云的解决方案。
五 云计算主流技术阵营
1 开源-Openstack:
Openstack应该是在云计算开源架构中杀出重围最早、目前拥护者最多的一个开源架构。用很多从业者的话讲,Openstack应该是目前最流行的开源的云操作系统的内核。(云操作系统哦,阿里是用飞天滴)。Openstack的出现给了传统IT场景参与云计算革命的一根稻草和捷径,上文提到的传统IT厂家,主流运营商都逐步加入到Openstack的社区中,成为白金会员(目前8个)和黄金会员(目前23个,还有一个位置),为社区交钱,为社区代码维护做贡献,核心都是想把Openstack这个生态玩起来。
关于Openstack的技术讲解,核心要记住:Openstack不是云本身,只是构建云的关键组件的集合和框架,提供了搭建云计算的内核、骨干、框架和总线。详细的技术细节互联网上的材料应该是最多的了,打一些官方的链接,英文好的看原版,差一点看大V和主流博主的解读即可。
官网:https://www.openstack.org/, 官方文档:docs.openstack.org 中国社区:https://www.openstack.cn/
另外再附上几个博主对Openstack的中文版解读,大差不差,参考着看即可,
https://blog.csdn.net/Peter_Changyb/article/details/86218627
https://www.cnblogs.com/snow-wolf/articles/8889400.html
https://www.cnblogs.com/klb561/p/8660264.html
业界也有很多种说法说OpenStack要挂了,基本没啥前途了。 但这是仁者见仁智者见智的事情,毕竟玩家在,Openstack也在动态的扩展,个人相信还是有未来的,只不过是不太适合所有人而已。
为什么不看好OpenStack:它的没落不可避免: http://baijiahao.baidu.com/s?id=1604873703910079879&wfr=spider&for=pc
IDC数据揭露:云计算头部玩家最强攻略,自研才能走得更远!:https://baijiahao.baidu.com/s?id=1623241405129210913&wfr=spider&for=pc
2 开源-CloudStack
Apache的又一力作,目前国内吹这玩意的比较少。官网:http://cloudstack.apache.org/ 中国社区:http://www.cloudstack-china.cn/
全球最大基于CloudStack云服务供应商ShapeBlue官网:https://www.shapeblue.com/
先来个官方对CloudStack的说明吧:CloudStack是一个开源的具有高可用性及扩展性的云计算平台。支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Hyper-V等。同时CloudStack是一个开源云计算解决方案,可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。CloudStack形成的基础设施云使得企业、数据中心运营商可以快速,轻松地建立在其现有的基础设施提供云服务的需求和弹性云计算服务。
简而言之,CloudStack也是一个开源的云计算操作系统。那这玩意和Openstack又有啥区别呢?
转载一篇以汽车(汽车零件)为例子的文章,个人认为解读的还算客观。https://blog.csdn.net/m0_37842042/article/details/73565106
OpenStack和CloudStack对比研究报告:https://www.iteye.com/blog/fengbin2005-2172519
概括一下就是:1)CloudStack技术门槛低,适合大小公司都去用;Openstack相对灵活,但是入门门槛高,技术要求较高 2)CloudStack有Apache这个干爹,前途无量。
3 非开源-阿里云:(未完待续)
4 非开源-AWS: (未完待续)
5 非开源-Azure:(未完待续)
6 非开源-Google GCP:(未完待续)
六 云计算行业金勃勃-云计算架构师
我并不是一个Coding控,简单从个人所涉及的云计算行业链中的职位来讲,云计算架构师是我认为的在整个产业链中最关键、最吃香的一个角色。正如前文提到的,云计算更注重的是“道”而不是“术”,如果自己不是在开发环节具备特殊爱好和天赋、又或者是想在这个行业中想长期正向的从事偏技术(非Coding)的工作,云计算架构师应该是一个不错的选择。
不Coding不代表不需要懂代码,严格意义上来讲,云计算架构师需要的是全才,如果成为一个优秀的云计算架构师,可以参考下文作者的描述,我就借花献佛一波。https://www.jianshu.com/p/6690cf41dda3
好了,就先写这么多,感觉不像个总结,倒是像个概述 , 希望有用。
下一篇预告:阿里云-Ali-Cloud简述 (END)