本文总结新技术学习经验和方法,探讨如何能更高效的更成体系的完成一项IT技术的学习和提升。如何评价掌握了一项IT新技术?可以分为以下三个阶段:
如何掌握原来和理念
要学习掌握一项新技术,不建议一开始就搭建测试环境,从部署配置开始,而应该从了解这项技术的背景开始。背景非常重要,知道这项技术从何而来,如何演变,有利于了解这项技术的设计思路,架构,更快的掌握这门技术。
一项技术的背景,一般需要了解如下信息,以OpenStack为例:
1.产生的背景是什么,主要是为了解决什么问题?
答:随着硬件性能的提升,如果解决资源充分利用和管理成为一个课题,随着虚拟化技术出现和成熟,通过虚拟化技术可以解决资源细粒度的切分、迁移、平衡及集中管理。
更进一步,在纵向上,为了解决从硬件到存储、到系统,再到应用的管理,在横向上,解决网络、数据中心的资源管理和调度,出现了云计算,OpenStack就是搭建云的利器。
2.有没有竞争的技术,是开源还是闭源?
答:最早出现的云是亚马逊的AWS,底层采用开源的XEN,但是整个体系是封闭的,进一步,一般公有云都不公布自己的源代码,对外提供的是服务。
私有云方面,商业闭源的,并且目前实质上市场份额最大的是VMware。
OpenStack是开源的云建设方案,但是并不是唯一的开源云方案,还有CloudStack、OpenNebula等竞争的开源方案,但是OpenStack因为有多个厂商和组织的贡献,有基金会和项目机制,后来居上,目前得到比较广泛的认可。
3.该项技术的原理和架构是什么?
答:总的来说,OpenStack的理念是软件管理硬件,分层分模块分布式,更详细的资料很多,这里就不介绍了,但是建议如果下决心要掌握OpenStack,先从这些资料入手,另外,建议自己化下思维导图,有利于形成自己的思维体系。
动手实践,形成自己实践和配置管理能力
读万卷书,行×××路,知行合一,通过逐步动手上机实践,才能形成自己的配置管理能力。这个过程的长短和软件的复杂程度有很大关系。比如FTP的配置,可以是一周时间,OpenStack的配置,可能需要一年时间。而且是一个反复的螺旋式过程。
另外,还要注意一点,生产环境和实验环境的操作,差异很大,生产环境的配置,一定要自己明确是什么意义,并且经过测试环境的验证,并且要有数据。生产环境尽量不要自己到网上贴一段配置,直接放上去,这个往往就是日后的一个大坑。
如何提升排错能力,持续深入学习,持续提高
一项技术项目,一般都有博客、论坛、邮件列表、知识库,通过翻阅这些资料,可以进一步的深入学习,持续提高。
通过微信订阅号、微博、微信和QQ群等社交媒体也是一项学习方法,但是应视为补充,优先程度低于官方的知识体系,因为社交媒体的学习一般是碎片化的,而且很容易注意力被其他内容吸引走,学习效率比较低。
通过问题学习,是难得的学习机遇,如果碰到问题,解决方案建议按照以下步骤:
另外,问题是提升的最好手段,解决问题的过程,就是对这项技术反复熟悉的一个过程,往往是问题解决了,发现自己对这项技术的理解又上了一个台阶。这时候,建议把对问题的解决过程,自己的技术的理解整理成问题,最好是写成博客,是对别人的分享,更是对自己的总结。