OpenStack培训的用户体验

尽管在云计算领域仍然有很大的争议,但是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培训的粗浅认识,还请各位多多指教。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
学习要求: 熟悉基本的linux命令 具备基本的网络知识 掌握一门编程语言 课程特点: 深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack核心组件逐渐搭建出OpenStack环境; 定制研发:在学习openstack源码级深度解析培训后,你能了解openstack源码的体系结构,并能根据需要进行定制开发,满足您在实际生产环境中OpenStack的各种疑问和不满足的功能。 ------------------------课程内容------------------------ 课时1、课前学习环境准备 课时2、课程介绍 课时3、OpenStack概论 课时4、实例:OpenStack自动安装(Fuel) 课时5、作业:OpenStack Fuel 课时6、OpenStack安装部署答问 课时7、Keystone 详解 课时8、实例:OpenStack 手动安装 - 环境准 课时9、实例:Keystone 手动安装 课时10、实例:Keystone CLI 使用 课时11、实例:Keystone API使用 课时12、Glance详解 课时13、实例:Glance手动安装以及CLI、API 课时14、实例:Glance镜像制作 课时15、实例:Glance镜像修改 课时16、作业:Keystone手动练习 课时17、Keystone答问 课时18、作业:Glance手动练习 课时19、Nova架构及原理详解 课时20、实例:Nova手动安装 课时21、实例:Instance启动过程回顾 课时22、网络基础知识盘点 课时23、Neutron原理详解 课时24、实例:Neutron手动安装 课时25、实例:网络命名空间 课时26、实例:物理机连接openvswitch的虚 课时27、实例:租户私有网络创建 课时28、Neutron SDN 实现详解 课时29、实例:Neutron SDN 手动实现 课时30、作业:Nova、Neuron手动安装练习 课时31、作业:Neutron 相关实例练习 课时32、Neutron 答问 课时33、Cinder 原理详解 课时34、Cinder iSCSI实现原理详解 课时35、实例:Cinder 手动安装 课时36、Swift 架构与原理详解 课时37、实例:Swift 手动安装 课时38、Dashboard 介绍与演示 课时39、实例:Dashboard 手动安装 课时40、实例:Dashboard 浮动IP访问实例 课时41、实例:Dashboard 块存储的使用 课时42、实例:Dashboard 对象存储的使用 课时43、实例:OpenStack 命令行接口使用 课时44、OpenStack HA与性能调优 课时45、OpenStack Devstack 自动安 课时46、配置 OpenStack Eclipse 开发环境 课时47、配置 OpenStack Eclipse 开发环境 课时48、OpenStack 自动化测试 - 单元测试 课时49、OpenStack 自动化测试 - 集成测试 课时50、Nova 源码结构 课时51、Nova 调用流程源码解析 课时52、Nova 分层架构与业务模型剖析 课时53、Nova 自定义 API 扩展编码实现 课时54、Django 介绍与快速开始 课时55、Django view 和 urls 的用法 课时56、Django Templates 模板的用法(一) 课时57、Django Templates 模板的用法(二) 课时58、Django Form 表单的用法 课时59、Horizon 结构源码剖析(1) 课时60、Horizon 自定义 Panel 编码实现 课时61、Horizon 自定义 DataView 编码实 课时62、企业部署案例:企业私有云规划与案 课时63、OpenStack 和其他开源云平台比较
学习要求: 熟悉基本的linux命令 具备基本的网络知识 掌握一门编程语言 课程特点: 深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack核心组件逐渐搭建出OpenStack环境; 定制研发:在学习openstack源码级深度解析培训后,你能了解openstack源码的体系结构,并能根据需要进行定制开发,满足您在实际生产环境中OpenStack的各种疑问和不满足的功能。 ------------------------课程内容------------------------ 课时1、课前学习环境准备 课时2、课程介绍 课时3、OpenStack概论 课时4、实例:OpenStack自动安装(Fuel) 课时5、作业:OpenStack Fuel 课时6、OpenStack安装部署答问 课时7、Keystone 详解 课时8、实例:OpenStack 手动安装 - 环境准 课时9、实例:Keystone 手动安装 课时10、实例:Keystone CLI 使用 课时11、实例:Keystone API使用 课时12、Glance详解 课时13、实例:Glance手动安装以及CLI、API 课时14、实例:Glance镜像制作 课时15、实例:Glance镜像修改 课时16、作业:Keystone手动练习 课时17、Keystone答问 课时18、作业:Glance手动练习 课时19、Nova架构及原理详解 课时20、实例:Nova手动安装 课时21、实例:Instance启动过程回顾 课时22、网络基础知识盘点 课时23、Neutron原理详解 课时24、实例:Neutron手动安装 课时25、实例:网络命名空间 课时26、实例:物理机连接openvswitch的虚 课时27、实例:租户私有网络创建 课时28、Neutron SDN 实现详解 课时29、实例:Neutron SDN 手动实现 课时30、作业:Nova、Neuron手动安装练习 课时31、作业:Neutron 相关实例练习 课时32、Neutron 答问 课时33、Cinder 原理详解 课时34、Cinder iSCSI实现原理详解 课时35、实例:Cinder 手动安装 课时36、Swift 架构与原理详解 课时37、实例:Swift 手动安装 课时38、Dashboard 介绍与演示 课时39、实例:Dashboard 手动安装 课时40、实例:Dashboard 浮动IP访问实例 课时41、实例:Dashboard 块存储的使用 课时42、实例:Dashboard 对象存储的使用 课时43、实例:OpenStack 命令行接口使用 课时44、OpenStack HA与性能调优 课时45、OpenStack Devstack 自动安 课时46、配置 OpenStack Eclipse 开发环境 课时47、配置 OpenStack Eclipse 开发环境 课时48、OpenStack 自动化测试 - 单元测试 课时49、OpenStack 自动化测试 - 集成测试 课时50、Nova 源码结构 课时51、Nova 调用流程源码解析 课时52、Nova 分层架构与业务模型剖析 课时53、Nova 自定义 API 扩展编码实现 课时54、Django 介绍与快速开始 课时55、Django view 和 urls 的用法 课时56、Django Templates 模板的用法(一) 课时57、Django Templates 模板的用法(二) 课时58、Django Form 表单的用法 课时59、Horizon 结构源码剖析(1) 课时60、Horizon 自定义 Panel 编码实现 课时61、Horizon 自定义 DataView 编码实 课时62、企业部署案例:企业私有云规划与案 课时63、OpenStack 和其他开源云平台比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孙正经胡说

创作不易,感谢您的关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值