上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2 OpenStack开发的技术基础
OpenStack的学习是一项浩大的工程,需要具备以下基础知识。
1.Python编程
Python是OpenStack的主要开发语言,它也自然而然地成为每一个OpenStack开发者所必备的语言基础。
当然,如果我们之前使用的开发语言并不是Python,而是C、Java等语言,我们也并不需要先对Python掌握到非常精深的程度才去接触Python的代码,本质上它与C、Java、Perl、Ruby等还是属于同一类型的语言。我们可以在浏览OpenStack源码的过程中学习Python及各种Python语句的用法,毕竟我们绝大多数人都不需要从无到有地去构建一个OpenStack的项目。
2.Linux环境编程
到目前为止,OpenStack仍然只被部署在Linux上,它的开发环境自然也基于Linux,那么能够熟练使用Linux并在Linux环境下进行编程开发便成为一个基本要求。
此外,掌握一些操作系统中比较基础的理论,也会给我们的理解带来额外的益处,如进程的概念、CPU和内存的关系等。
3.网络基础
若要参与一个云计算平台的开源项目,则开发人员有一定的网络基础知识是必需的,而且Neutron会对网络知识储备有更高的要求。
4.虚拟化
虚拟化技术是云计算的基石,较好地理解虚拟化技术对我们理解OpenStack的很多逻辑非常有帮助。
5.版本管理工具(Git)
Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。之后越来越多的著名项目开始采用Git来管理项目开发,包括OpenStack,以及Android、Rails等。网上有很多的使用教程,甚至还有专门针对Git的培训。
除了上述各项基础要求,对数据库、软件架构设计等的了解也非常有必要。