首页>全部课程>OpenStack开发
OpenStack开发
东方瑞通资深讲师
OpenStack开发
报名课程可获赠200.0元助学金,助学金说明 >>
直播面授
课程图标 课程代码 alx213
标题图标 学员基础 标题图标
学员必须很熟悉Linux系统的日常操作,熟悉OpenStack的配置与运行方式,熟悉Python编程语言。在上课前,学员至少要能够使用python语言编写小的应用程序,并在一个Ubuntu系统里手动安装好OpenStack可执行环境。
标题图标 课程目标 标题图标
介绍OpenStack的设计原理、在OpenStack框架内的项目开发,以及如何使用云计算技术。
标题图标 课程大纲 标题图标

第一天 (OpenStack开发简介)

1.     python开发

1)       python开发资源

2)       开发工具

3)       建立python工程

4)       集成化测试

5)       python环境里的工程化

2.     OpenStack开发简介

1)       OpenStack的组成

2)       OpenStack依赖的软件

3)       OpenStack的各组件之间的交互

4)       OpenStack功能组件应该具备的功能

5)       OpenStack的API

3.      开始OpenStack开发

1)       OpenStack开发的工作流

2)       OpenStack工程应该是什么样子

3)       创建最简单的OpenStack项目

4)       Client或是Server

5)       测试、代码检测及持续集成

4.      编写OpenStack的客户端

1)       验证OpenStack API

2)       如何编写API的处理部分

3)       重用OpenStack代码

4)       python第三方库的使用

5)       可重构代码

6)       测试工程

 

第二天 (OpenStack的组件设计与实现)

5.     OpenStack组件的设计

1)       OpenStack组件的设计与规划

2)       代码重用

3)       配置文件

4)       API设计

5)       数据库处理

6)       功能与可拓展性

6.     编写最简单的OpenStack组件

1)       代码的目录结构

2)       加入OpenStack的通用代码

3)       编写最简单的服务器

4)       配置文件的处理

5)       数据库的处理

6)       作为客户端与其他组件交互

7.     完善组件功能

1)       API的设计

2)       响应JSON请求

3)       Reactor式代码设计

4)       可拓展编程

5)       项目的清理

6)       测试代码

8.     更完整的组件

1)       组件功能的拆分

2)       可持续升级代码

3)       加入wsgi支持

4)       处理AMQP

5)       加入hooks

6)       辅助脚本

 

第三天    (OpenStack开发的深入)

9.     编写Dashboard界面

1)       MVC框架Django

2)       如何加入Horizon插件

3)       Dashboard工程的创建过程

4)       页面显示效果的处理

5)       与界面交互

6)       实现界面功能 – 客户端代码的复用

7)       数据库处理

10.  OpenStack的外部接口

1)       熟悉OpenStack公用API的重要性

2)       各主要功能组件的API接口

3)       如何快速实现组件访问

4)       拓展再有组件功能

5)       可用公用代码库

6)       可复用的测试代码

11.  在不同云环境里开发

1)       开发语言的选择

2)       不同OpenStack部署上的编程

3)       OpenStack与Amazon EC2

4)       屏蔽cloud api的差异性

5)       第三方代码的使用

12.  OpenStack的定制

1)       商用化OpenStack是怎么回事

2)       定制OpenStack的规划

3)       认证与计费功能的增强

4)       处理存储

5)       使用现有组件定制独特功能

6)       引入新功能

7)       界面