11

OpenStack培训的用户体验

 3 years ago
source link: https://blog.csdn.net/xiaoquqi/article/details/51001427
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

尽管在云计算领域仍然有很大的争议,但是OpenStack事实上已经成为Iaas云平台的事实标准和首选的平台。从培训市场的火热也证明了这一点,现在的OpenStack培训有很多,讲的内容也不尽相同,那么哪一种培训才是用户最需要的呢?
这篇文章并不是要评价任何一个OpenStack培训,只是想从用户体验的角度分析一下,到底什么才是用户真正需要的。如果文章观点有任何不妥,还请各位前辈和大牛们多多海涵。

简单来说,我带过OpenStack产品的研发团队,谈过OpenStack的合作,做过OpenStack培训讲师,也卖过OpenStack的私有云产品,也和大量的用户聊过OpenStack,所以还算是对OpenStack这个行业整体上有个清晰认识。

OpenStack培训的目标群体

我做过的OpenStack培训大体上分为两类,内训和外训。

内训是面向公司内部,因为我曾经带过的两个团队都是以开发OpenStack私有云产品为主的,所以我的培训对象主要是研发、运维、售前和销售人员。

外训的对象很多,包括知名的国企、外企和民营企业以及学校,行业大部分以传统行业为主,涉及通讯、金融、系统集成等,面向的群体主要是研发、IT和售前,培训的内容以OpenStack的基础和研发为主。

所以我把OpenStack培训的目标群体定义为:研发人员、系统工程师和运维人员、售前、销售人员、学生。

针对不同的群体,到底需要哪些培训?

现在做OpenStack生意的无外乎两种:产品和服务。无论是哪一种,对传统的销售人员都是一种极大的挑战。云平台并不像传统软件一样,能够一眼看明白他到底是做什么的,解决了用户的哪些痛点。并且在企业中,能够做决策的人往往并不全是技术出身,所以想和他们解释清楚OpenStack到底能做什么,又是难上艰难。

所以对于销售人员来讲,培训的重点应该有以下几点:

  • 使用培训:我觉得无论为哪一类群体培训,演示如何使用OpenStack,都是最有效的帮助人理解的方式。但是这里的演示,必须要设定场景,即传统的业务形态下我们的业务系统是什么样子的,迁移到云平台后该如何部署,从这种比较中,加深对OpenStack的理解。销售人员通过对OpenStack操作,加深对OpenStack或OpenStack产品的理解。毕竟图形是最高效的一种记忆方式。
  • 理解什么是开源软件:开源软件一定是未来的发展趋势,如果无法对开源软件有一个清晰的认识,也就无法理解清楚OpenStack这个项目出现的价值和意义。
  • 了解OpenStack的发展历史、OpenStack基金会以及OpenStack社区的运营方式:学习这些的目的是为了给用户讲故事,让用户了解为什么要选择OpenStack,为什么OpenStack项目有持续的生命力,让用户相信使用了OpenStack能够保证未来的基础架构灵活面对业务层面敏捷性的需求。
  • 案例学习:案例最大的价值就是教育用户,VMWare花了十几年的时间教育了用户,OpenStack不可能在短短的几年时间内就改变这样的局面,所以“学会用别人的案例来教育自己的用户”,是在销售人员OpenStack培训中非常重要的一课。

售前人员不但要从技术层面让用户信服产品,而且还要结合用户的业务系统需求提供建设方案,外企中的很多售前工程师还要承担搭建POC环境的职责。售前人员沟通的主要对象是企业中有实际需求的业务部门,也是最有可能落地的部门,沟通的成败决定了是否能签单,所以需要更多的专业知识来满足和用户的沟通需要。 培训的重点应该是:

  • 使用培训:理由同上,但是我觉得售前人员还需要站在用户的角度来思考一下,我的用户到底会如何使用云平台?业务系统迁移到平台后,会有哪些问题?
  • 如何部署:部署培训向来是各大OpenStack培训必讲的内容,而且90%的内容都是围绕部署展开的,例如某知名企业的OpenStack授证培训。对于售前人员,我认为OpenStack部署训练还是很有必要的。一方面,能够帮助培训对象快速理解OpenStack的架构;另一方面,也能在未来的方案设计上提供参考和依据。由于云平台在使用上与企业传统的IT环境有较大的区别,所以售前人员在学习过程中,应该更多的了解OpenStack部署的特点,服务和服务之间的关系,云平台高可靠等和生产环境部署息息相关的问题。另外还要关注,用户的业务系统迁移到云平台后,可能带来的变化以及应对方式。例如:OpenStack里的网络分为fixed ip和floating ip,但是用户原有的业务系统只会有一个IP,这时候就需要考虑如何为用户选择适当的部署方案。
  • OpenStack架构:掌握OpenStack模块的基本工作原理和模块的详细作用。学习这些内容,是为了帮助售前人员在和用户后续交流中,帮助用户选择适当的模块解决用户的需求。
  • OpenStack的发展趋势:这部分内容就是能够引导客户未来的项目需求。例如在分布式存储,NFV和SDN方面。

系统工程师和运维人员

Iaas云平台不但是对传统的企业IT架构进行了变革,也从管理上对企业原有的流程形成了冲击。需要培训的用户往往集中在自用OpenStack云平台的企业。

  • 使用培训,不同于上面两种简单的使用,运维人员要求对OpenStack管理部分的使用也要有很深的理解,而且还需要掌握命令行方式的相关操作。
  • OpenStack架构,了解OpenStack内部的工作原理,有助于快速定位问题,对系统进行维护。这部分包含的内容比较多,从OpenStack自身的原理到虚拟机,存储,再到虚拟网络的实现都需要有一个系统的了解才可以。
  • 部署培训,要求详细掌握安装的过程,了解全部配置文件的功能及常用选项和参数。
  • 自动化部署培训,手动部署即耗费时间又不能保证准确,所以作为运维人员,必须要掌握至少一种自动化部署的方法。这方面的方案有很多,从TripleO、Fuel到Puppet,Salt,Ansible。个人还是推崇应该选择Salt或者Ansible的一种进行学习和掌握。
  • 运维培训,要求就是在云平台出现问题之后快速定位问题。
  • 自动化运维培训,DevOps作为未来运维的趋势,反复被提到。云平台自动化运维的内容很多,部署、监控、告警、自动巡检、健康检查等等,使用的工具无外乎上面提到的Salt或者Ansible这样的工具。自动化运维不仅仅是云平台未来培训的一大趋势,也是企业有需求的培训内容。

开发人员对OpenStack培训的需求主要和未来的工作有关(除了是公司强制或者兴趣之外),从我的经验来看:一种是基于OpenStack API开发,一种是开发OpenStack。所以针对两种不同的需求,培训内容需要单独进行设计,总体来说后一种包含前一种培训。

与之前几种培训不同,我认为部署培训对开发人员并不是必须的,因为在实际工作中,开发人员很难有机会真正接触到安装过程,这部分工作往往由公司的IT人员去完成,并且其中涉及到大量的Linux基础命令,很多研发人员其实对这部分并不是十分熟悉,所以即使学习了安装内容,也还是一知半解。与其在安装上浪费时间,不如多了解一些架构方面的细节。

  • 使用培训,帮助开发人员快速了解OpenStack。
  • 了解社区的开发流程,OpenStack之所以发展到今天的程度,和社区的代码的管理流程密不可分,所以这部分是值得每一名开发人员学习的。
  • 搭建研发环境,既然要开发OpenStack就应该按照开发的方式搭建研发环境,这样屏蔽了很多安装上的细节,并且让开发人员有个快速能使用和开发的环境。
  • 基于OpenStack API开发,这部分应该是个重点,我通常会设定一个具体的用户需求,通过解决用户需求来了解API的使用。例如:作为一名用户,我想给我的虚拟机挂卷并自动分区,挂载到/mnt目录。这里的内容包含API文档的使用,通过浏览器REST Client插件详细了解OpenStack API的调用过程,学习使用OpenStack SDK。
  • OpenStack编排服务,将API开发中的场景,用编排服务加以实现,还可以包含Scaling和Auto Scaling的场景。这部分很可能是开发人员在未来开发中非常需要的一部分内容。
  • OpenStack发展方向,OpenStack的大帐篷展现了对未来的野心,所以了解OpenStack未来的发展方向是很有必要的。

针对于以后开发OpenStack的研发人员,还需要根据实际的开发内容增加以下的培训内容:

  • OpenStack通用技术,学习OpenStack的通用技术有助于理解OpenStack的所有模块,这部分内容主要包括:Eventlet,REST和WSGI,Taskflow,OSLO项目等诸多重要的类库。
  • 典型模块的架构及开发入门,这里面推荐的模块包含:Nova/Neutron/Horizon/Ceilometer,这几种模块几乎涵盖了OpenStack大部分模块的架构,所以重点理解这些模块的架构和工作原理,对于理解整个OpenStack项目都非常有帮助。直接将代码其实真的很困难,我习惯于使用场景的方式追踪代码的运行轨迹,从而整理出时序图的方式讲解。

学生群体事实上是相当有潜力的市场,现在国内OpenStack人才紧缺,所以OpenStack一定要从大学抓起。学生对OpenStack的学习不能仅仅停留在OpenStack本身,与之相关的内容都要学习,但是又不建议完全理论化的学习,强调动手的能力是关键。例如:对Python的学习,虚拟化软件的学习,OpenStack的安装,OpenStack的开发进行循序渐进的学习。

我认为培训中很重要的一环就是让学员动手,否则培训的效果不会很好。以上就是我对OpenStack培训的粗浅认识,还请各位多多指教。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK