设为首页 收藏本站
查看: 709|回复: 0

[经验分享] 未来架构师的平台战略范例(3)_DOCKER

[复制链接]

尚未签到

发表于 2018-5-27 12:19:47 | 显示全部楼层 |阅读模式
未来架构师的平台战略范例(3)


作者:高焕堂,misoo.tw@qq.com   

首页:Back

下一篇:《未来架构师》的平台战略范例(4):大数据


主题:如何构思Docker云平台?


  


一、介绍Docker容器(container)的发展

Docker的角色

  在过去的3年来,计算机云平台的Docker容器(container)技术,可说是红透半天边,而且势如破竹、蔚为风潮,正在强力改变云(cloud)服务的世界。这跟半世纪前,海上船运业的容器(集装箱)风潮,对整个产业的革命性改变,其力道来源和产生经济效益,可说具有异曲同工之妙。

回顾半世纪前的船运集装箱风潮

  在半世纪之前,容器(集装箱)发挥了巨大的力量,改变了整个运输产业,也改变了人们的生活。容器(集装箱)的威力是来自于它提供了一致的接口,简化了运输业的工具。例如以前,在容器(集装箱)尚未普及之前,在公路上,必须为汽车业而设计特殊的拖车;在港口码头,也必须为木材业而设计特殊的卸货吊车及仓库等等。这些特殊设计对于运输管理、港口管理、仓储管理等都是很麻烦的事。有了容器(集装箱)之后,就出现了专门运容器(集装箱)的容器轮,也有专门拖容器(集装箱)的拖车,高速公路的弯曲度也因容器(集装箱)拖车的安全而修正,仓库的管理也变得很单纯。容器不一定带给汽车业、木材业、玩具业带来直接的方便,也许反而带来不方便(如大汽车必须拆解开来才能装进容器里)。但是运输业等获得好处,所以运输业会很乐意把容器拱起来,促成容器的革命性风潮。

  将之对应到Docker风潮,可知道Docker容器(集装箱)的效益在于:让所有云服务都有一致的操作(operation)接口,包括部署、管理等方式。众多云平台就像众多码头一样,都使用一致的方式来操作容器(集装箱),例如卸货器具、拖车等。Docker公司的Johnston曾说道:“你将不再需要使用各项单独的IT管理工具来分别进行App的管理、部署、监控和扩容等功能操作,在整个企业内这些操作都可得到一致性、统一性”。

从<国王的皮鞋>领悟Docker容器(集装箱)的经济效益

  古代有一位国王在它的国境里视察,因为路面崎岖不平,还有很多碎石头,刺得国王的脚又痛又麻。


  回到了王宫后,他下了一道命令,要将国内所有的道路都铺上一层牛皮。让他自己和]全国的人走路不再受刺痛之苦。众大臣听了国王的话都一筹莫展,知道这很难。即便杀尽国内所有的牛,也凑不到足够的牛皮来铺路,而且花费昂贵。这时,一个聪明的仆人向国王建言:可以试着用牛皮将脚包起来,大王的脚就不会忍受痛苦了。国王听道而顿悟了,便收回命令,采纳了建议,于是,皮鞋就这样发明了出来了。

  我想,大家一定都听说过上述的皮鞋故事了。其解决脚痛不方便的方案有二:第1方案是:将所有道路都铺上一层牛皮(如VMware),实在不经济实惠。 第2方案是:用两片牛皮包住脚,这就是皮鞋(Docker集装箱)。那么,你领悟到什么呢? 至少明显知道第2方案可带来可观的经济效益。

  从上述皮鞋故事的比喻,可知道传统的虚拟化(Virtualization)技术就相当于在各道路(实体机器)上铺一层牛皮(VM, 虚拟机),然后让国王的脚(App)在牛皮(VM)上走路(执行)。传统上云平台采取虚拟化手段来满足用户个别的资源需求分配,以及确保其可用性和隔离性。然而无论是KVM还是Xen等Guest OS都很浪费资源又难于管理, 都不如Docker容器(集装箱)(皮鞋)来的更加灵活、快速和节省资源。

Docker如何运输(Ship)容器(集装箱)?

  顾名思义,Docker就是"码头搬运工人"之意。 而容器(集装箱)的主要用途就是运输东西。所以,我们把焦点放在Docker容器(集装箱)和如何运输上,也就是从运输(Shipping)的角度来认识Docker和其容器(集装箱)。

DSC0000.png



DSC0001.png

  由于Docker容器(集装箱)及其镜像,是由Dokckerfile文件的脚本所创建的;所以也可直接将Dockerfile传输到云平台,并依据其脚本内容而在云平台上创建新的容器(集装箱)。容器(集装箱)的Dockerfile文件和镜像两者都是模子,在各云平台上都能创建容器(集装箱)实例,并让App顺畅执行起来。

二、从复杂设计出简单框架

  物的简单,来自其元素不多(最好不超过4个),元素关系明确。例如,道尔顿(Dalton)的原子(atom)模型,只有3个元素: 质子、中子、电子。足够简单,人类可无中生有许多how-to来操作它,并藉之驾驭复杂多变的人们周遭事物。我也从知识3.0的复杂中设计出简单结构,就如同道尔顿的原子(atom),我的简单含有4个元素: 问题(problem)、愿景(vision)、假设(Hypothesis)和事实(reality)。

DSC0002.png

  这是我从复杂而设计出来的简单框架。在知识3.0里,像上述的的简单思维框架,并不是唯一的,而是人人都可以设计出自己的简单框架,并基于自己的简单框架,而找到许多how-to来操作这些框架。如此,即可设计出最佳方案、解决问题、驾驭复杂。例如,针对平台(platform)而言,《未来架构师》从一个产业的复杂失序(混乱无序)的现实中,设计出简单(即平台架构),然后找到许多how-to去操作它,藉之驾驭复杂,最后带来了新次序,让产业回归一个有序的状态。于是,我针对商业平台,而设计出一个简单的思维框架,其包含4项元素: 现实(reality)、序(order)、愿景(vision)和设计(design)。

DSC0003.png

  以上只是一个思维框架,展现了《未来架构师》如何构思平台战略,然后基于这项简单设计,以创新的how-to来操作它,藉之驾驭复杂,带来新次序,让产业回归一个有序的状态。

三、流程演练:以运输业的集装箱为例  

现在就来演练我设计出来的流程(how-to)。

Step-1. 在传统基于虚拟化的云计算平台上,一切井然有序,即使从外观看来,是<乱中有序>的。如下图:

DSC0004.png

Step-2. 关注问题:产业失序了。随着商业环境的改变,互联网、物联网等愈来愈普及,操作技术和工具也变化多端。此外,客户的需求更加多样化、布署要求更加迅速,维运要求更加灵活。传统重型虚拟化技术不堪负荷,导致云平台变得混乱无序了。如下图:

DSC0005.png

Step-3. 观想美好的愿景:盼望更具弹性、更轻量化的美好平台,让云平台恢复井然有序的状态。表示如下图:

DSC0006.png

Step-4. 愿景就像北极星,指引人们发现更多可通往愿景之路径。就大胆建立假设性方案,也就是通往愿景的可能路径。例如,师法自然界的造物法则:“单纯形式、不同内涵、重复组合”三项特性。以及联想到集装箱的<序中有乱>设计。项特性就俗称为:<序中有乱>。于是,Docker公司的团队设计出简单形式:Docker境像(Docker Image)。表示如下:

DSC0007.png

Step-5. 大胆建立假设性方案,也就是通往愿景的可能路径。例如:依循<序中有乱>而设计出了集装箱。表示如下:

DSC0008.png

Step-6. 基于这个简单设计(Docker境像),就可继续努力寻觅各种<how-to>来操作这些Docker境像了,例如Docker公司的团队开发了软件工具(如Docker引擎)。然后,透过这些操作来驾驭复杂,于是新平台实现了,带来新现实,回归到新次序。表示如下:

DSC0009.png

Step-7. 渐入佳境,迈向新平台的繁荣时期了。至今Docker境像的<序中有乱>仍然为全球的云平台服务带来美好的次序。

DSC00010.png

别忘了,人人都可以设计出简单,创新how-to去建立可操作性的平台,成为企业(或产业)的平台大战略。


四、结语:集装箱(容器)之道、单纯与美丽

从复杂到简单(单纯与美)

  在我写的《思考软件,创新设计:A段架构师的思考技术》一书里,我特别阐述如何发挥软件集装箱的对称、单纯和美丽。依据爱因斯坦《相对论》的说法:“事物看上去是相对的,可是不要被善变的外貌所愚弄了。”摘自K.C.Cole的The Universe and the Teacup一书。

简而言之,当某事物在某种变化中不变,则称该事物具有对称性(symmetry)。也就说,当你把某个对象变换后,其形状不变的话,就找到一种对称性了。例如一个正方形,当它被旋转90度之后,就形状而言,你看不出有什么地方不同;此时你已经看到不变性了,因此找到对称性了。所以,寻找对称性也就是寻找不变性(invariance)。当你发现两个事物是对称的,就会想到两个事物幕后的不变性,它蕴含单纯和美丽。因此会想到如何表达出这个单纯美丽的密切联系。

  例如,当我们把一堆鞋子放入一只集装箱里;经由轮船运抵对岸之后,将鞋子倒出来,成为空集装箱。接着,又把一堆袜子放入该只集装箱里。此时,可观察到鞋子和袜子两项内涵(content)的对称性,其幕后的集装箱造形(form)的不变性,也蕴含了单纯和美丽。

操作简单,搬动大山

  被尊称为“史上最伟大的平面设计师”的保罗·兰德(P. Rand)也说,我们会从最复杂的部分开始着手,最后的成品却具有<简单性>。这个减法过程本身是复杂的,然而一旦达到简单了,就能发挥杠杆作用,让人们能面对变化、掌握复杂。苹果公司的乔布斯(Jobs)也曾说到:“简单比复杂更难,因为必须努力让你的想法变得清晰明了,让它变得简单。但终究是值得的,因为只要你获得了其<简单性>,就能搬动大山了。”(Simple can be harder than complex:you have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.)

~ End ~

                                      

著作:《思考软件、创新设计:A段架构师的思考技术》

演讲:创新思维框架(2016 Tid大会/北京/国家会议中心)

相关文章:

如何培养《未来架构师》

《未来架构师》的平台战略范例(1):VISA信用卡

《未来架构师》的平台战略范例(2):集装箱的序中有乱

《未来架构师》的平台战略范例(3):Docker云平台

《未来架构师》的平台战略范例(4):决策爱上大数据


  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481778-1-1.html 上篇帖子: 修改docker的默认存储路径 下篇帖子: 基于Docker、Jenkins和Saltstack的持续部署方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表