[TOC]
如何进行架构方案选型和推进【Docker】
架构选型
-
架构选型和方案落地要全局观点,就是要考虑到方方面面才能落地推进
- 比如docker这块,要真正落地,除了容器编排marthron和kubernetes的选型外,还必须要考虑到,日志,配置,镜像,监控,网络等等,只有每个细节都细化了,才能推进
-
如何设计 && 如何选型
-
各个细节可选方案的对比,如
- 编排: mesos和kubernetes
- 网络: calico和fanllnel
-
整体把控
-
具体细节可以有几个可选方案,只要知道业界有人再用,那就有方案可选,具体哪个到时候可以进一步细化,深入研究
-
但是细节外的,整体上的方案,都要面面俱到,如镜像管理,日志,监控
-
如何整体把控?
- 思考,如果这条系统要用起来,从无到有,都要经过哪些过程,需要有哪些基本功能
- 比如docker容器化方案,那么首先,就需要镜像管理,镜像打包,然后就是如何启动一个容器,配置文件怎么处理,容器启动后,怎么管理,怎么监控,后续如何扩容缩容等等,一整套流程是如何的
-
但是呢,刚开始的时候,肯定考虑不全面,没关系,慢慢细化,逐步完善,要有开始,开始后,慢慢递增
-
-
选型和推进的另外一点就是时间,这个非常重要,怎么说呢?意思就是每个方案的落地,要能够很快的给出解决方案,整体的解决方案,可以允许有遗漏,不完善,但是一定要尽快给出一个初步可行的方案
- 比如docker,我看了很久,但是没有总结出来,没能够总结整理、归纳,没形成体系,当然,也就没有能给出一个完整的方案
- 怎么做呢? 研究方案初期,就要开始进行总结,归纳,一步一步如何进行,一期一期的如何落地,逐步完善
- 强迫自己在给定的时间里面去完成
-
-
快速试错和调头
- 新方案的研究和实施,或者前期比较,需要快速实施和落地,这样,即便选择错误,方案错误,那么也能尽快调头,实施新方案
- 比如docker网络,花一天时间理清整个网络架构,花一天时间进行对比网络方案
- 网络方案对比,当然需要物理机,在物理机上做压测,压测的目的是为了验证理论,比如calico是三层的,那么没有nat转换,理论上效率应该比host差不了太多,压测就是为了验证这点
快速学习方法
-
学习新技术的时候,要学会边学边理解和整理、总结
- 看技术文章的同时,看的时候就要仔细看,深入思考和理解,然后按照自己的思路去整理一套大致的东西, 千万不要和以前一样,看了一遍啥也不记录,然后等回过头来再重新看一遍再整理,这样太耗时
-
对于新技术,先不要太深入,先看整体框架,把框架先理清,这个应该很快就能够理解,然后自己整理,自己不整理,不总结,那么就没有印象,这样看完之后,不能很好的理解,也记不住
-
另外一点很重要的就是时间,时间紧迫,不能拖拖拉拉,只有在有时间观点的情形下, 才能促使自己的能力发挥出来,逼迫自己在规定的时间内把某个东西整理完,理解清楚