仿OpenStack开发云计算管理软件
仿OpenStack开发云计算管理软件
使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与 虚拟机管理功能,学习IaaS,虚拟化,Libvirt API,Flask Web开发等知识。课程随到随学,加入即可获得6周有问必答及1个月会员服务,完成所有实验并公开实验报告可获得课程证书。
课程购买有疑问?
(0/6)
课程服务
课程随到随学,加入即可获得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:可以部署到服务器上的云平台
仿OpenStack开发云计算管理软件的更多相关文章
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列 一 开篇
近期趁公司没项目来,想学习一下C和GTK+3 ,顺道再学习一下Linux下有关网络编程方面的知识. 一.学习知识: 1.C基本语法 2.GTK+3 API学习 GUI相关知识学习 3.Glade使用及 ...
- 用勤哲excel服务器开发旅行社管理软件
做这个旅行社管理软件之前,旅行社给我的印象就是“拉客”与“接客”,业务模式应该比较简单.但做起这样一个旅行社管理软件,才发现麻雀虽小.五脏俱全,一个旅行社的运作,牵扯到的方方面面远远超出自己之前的理解 ...
- Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享
亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系. 课程内容简单介绍 我们软件是基于移动设备的.所以我们必定的选择了安卓作为我们的开发工具.课 ...
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列三 Windows7开发环境搭建
一.介绍与准备 考虑到目标客户端基本都是windows客户端,所以此次开发环境将搭建在windows7下,相关开发工具有Msys2 和 Eclipse For C/C++ Msys2 是msys的升级 ...
- 基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建
一.安装gcc gcc-c++ make等编译工具 yum install gcc gcc-c++ kernel-devel 这一步,其实可以不用做,你在安装Centos7的时候,如果选择开发模式安装 ...
- 《Linux就该这么学》自学笔记_ch22_使用openstack部署云计算服务环境
<Linux就该这么学>自学笔记_ch22_使用openstackb部署云计算服务环境 文章主要内容: 了解云计算 Openstack项目 服务模块组件详解 安装Openstack软件 使 ...
- 使用openstack部署云计算服务环境
环境: 系统 硬盘 IP hostname redhat 7 sda 20G 192.168.0.70 openstack.com 64位 sdb 20G 配置网卡 [root@opens ...
- [转]3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】
本文转自:http://www.cnblogs.com/jirigala/archive/2010/10/07/1845275.html 2010-10-07 21:39 by 通用C#系统架构, 5 ...
- macOS 下安装SDKMAN 软件开发工具包管理器
SDKMAN 软件开发工具包管理器的安装非常简单,只需要打开终端,执行: $ curl -s "https://get.sdkman.io" | bash 就OK了,输出类似如下: ...
随机推荐
- 【转】How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator
[转]How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Andro ...
- 快速构建ASP.NET MVC Admin主页
前言 后台开发人员一般不喜欢调样式,搞半天样式出不来,还要考虑各种浏览器兼容,费心费力不讨好,还好互联网时代有大量的资源共享,避免我们从零开始,现在就来看怎么快速构建一个ASP.NET MVC后台管理 ...
- JDBC_批量处理语句提高处理速度
•当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率 •JDBC的批量处理语句包括下面两个方法: –addB ...
- projecteuler之58题Spiral primes
package com.android; public class SpiralPrimes { public static void main(String args[]) { long numPr ...
- r语言之散点图绘制及参数
一个简单的例子: > plot(cars$dist~cars$speed,+ main="车位移与速度的关系",+ xlab="速度",+ ylab=&q ...
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移
上一篇博文提到,程序如何获取键盘输入,也就是D键按下,程序获取到前进指令,那么获取到前进指令之后,马里奥是如何前进的呢,这篇文章我们重点讨论这个问题. 马里奥的移动,依旧是在帧刷新函数中,这个调用过程 ...
- poj 2833 The Average(堆)
题目链接:http://poj.org/problem?id=2833 思路分析:由于数据量较大,超出存储范围,使用不能使用数组存储数据在进行排序.考虑维护一个最大堆与最小堆,依次读取数据, 记录数据 ...
- poj 3691
ac自动机+dp 自动机上的节点来作为状态 dp[i][j]表示长度为i状态为j至少需要转换多少个字符 #include <iostream> #include <cstdio> ...
- UVA 10057 A mid-summer night's dream. 仲夏夜之梦 求中位数
题意:求中位数,以及能成为中位数的数的个数,以及选择不同中位数中间的可能性. 也就是说当数组个数为奇数时,中位数就只有一个,中间那个以及中位数相等的数都能成为中位数,选择的中位数就只有一种可能:如果为 ...
- JavaScript螺纹的问题和答案
要求: JavaScript是单线程的,有任务队列.比方使用setTimeou(func,secs)来在secs毫秒后向任务队列加入func.可是,setTimeout后面跟一个死循环,那么死循环导致 ...

