课程服务
课程随到随学,加入即可获得6周有问必答及1个月会员服务,完成所有实验并公开实验报告可获得课程证书。
加入课程获取服务:
- 1个月实验楼VIP会员服务,价值49元
- 6周教师有问必答服务,24小时内回复您遇到的任何问题
- 公开实验报告并分享到微博即可获得教师点评
- 完成所有实验并公开实验报告可获得课程证书
服务起始日期为购买课程日期。
课程介绍
课程目的是协助你完成一个完整的产品原型。
你将使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与虚拟机管理功能。学习IaaS,虚拟化,数据库,Libvirt API,Flask Web开发等知识。
加入课程后即可开始学习,推荐学习周期6周,每周需要至少8个小时按照文档进行实验以及更多技术资料阅读的时间,遇到问题可在问答中与教师交流,分享实验报告到微博可以获得教师点评,优秀报告官方微博转发推荐。
学习本课需要你已经具备Python及Flask Web框架开发的基本技能,推荐先学课程:
课程知识点
- 操作系统:Linux基本操作
- 编程语言:Python语言开发
- 开发框架:Flask Web框架,MVC开发模式
- 虚拟化技术: KVM/QEMU,Libvirt API接口开发
- 云计算技术:基础设施即服务(IaaS)基本概念
- 数据库:MYSQL数据库设计及SQLAlchemy接口开发
- 开发流程:Git基本操作及代码库使用
- 安装部署:virtualenv,apache,wsgi等
- 前端开发:Bootstrap 3.0,HTML,Javascript
课程大纲
第一周:熟悉开发环境
实验内容:
- 云平台功能模块分析
- 云平台架构设计
- Flask开发环境搭建
- Flask可运行的代码框架
实验目标:
- 提交LouCloud v0.1:简单的Flask Web应用
第二周:虚拟化与云计算技术
实验内容:
- 虚拟化KVM/QEMU技术学习
- Libvirt API接口学习
- 虚拟机管理模块开发
- 云计算(IaaS)技术及相关模块
实验目标:
- 提交LouCloud v0.2:具备服务器及虚拟机管理功能
第三周:数据库设计与实现
实验内容:
- 数据库表格设计
- SQLAlchemy对象实现
- 数据库操作测试
实验目标:
- 提交LouCloud v0.3:具备完整的数据库层的实现
第四周:业务逻辑实现
实验内容:
- 用户管理模块开发
- 权限管理模块开发
- 服务器,虚拟机及镜像管理模块
- 配置模块开发
实验目标:
- 提交LouCloud v0.4:具备核心模块的LouCloud
第五周:组装与扩展
实验内容:
- 模块逻辑关联与梳理
- 扩展1:Web桌面连接方式
- 扩展2:多服务器资源管理
实验目标:
- 提交LouCloud v0.5:可运行的私有云
第六周:部署及测试
实验内容:
- 单元测试开发
- Apache部署方式
- 初始化与配置脚本
实验目标:
- 提交LouCloud v0.6:可以部署到服务器上的云平台