该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
BAE核心概念 介绍了BAE3.0的核心概念;本文带大家大概了解下“虚拟机”的基本情况
基本技术: Linux Container
BAE3.0的虚拟机采用的是 Linux Container技术,这是一种轻量级虚拟机,相比与传统的kvm, xen 等虚拟机技术来说,它可以更好的适应云计算的需求。关于Container技术的详细介绍,可以参考这里
操作系统: Ubuntu 12.04 Server虚拟机内部,我们采用的是 Ubuntu 12.04 Server,64位;
资源配额:
每个虚拟机都具有一定的资源配额,应用如果使用了超过配额的资源,就可能出现不可预期的错误。例如疯狂分配内存,大量占用磁盘空间等等。
内存: 默认 256M;用户可设置大小
磁盘: 默认2G;用户可设置大小
CPU: 与其它虚拟机分享CPU
网络: 流入5Mbytes/秒;流出5Mbytes/秒
部署应用代码
应用代码部署在 /home/bae/app 目录下(将来可能调整),其权限为 bae 账号所有
执行应用代码
应用代码以 bae 账号来运行;因此应用代码对于 /home/bae 目录下具有任意的读写和访问权限,同时对 /tmp 目录也具有读写和访问权限
临时性文件系统:
应用虽然可以在 /home/bae/ 等目录下任意读写,但是我们说虚拟机里面是一个“临时性文件系统”;也就是说,应用在这些目录下动态创建的文件、目录,是随时可能消失的。这是因为当虚拟机出现故障,或者虚拟机所在物理机器出现故障的情况下,我们需要将这个虚拟机动态的迁移到别的物理机器上,保证应用的“高可用性”。迁移后,原来虚拟机里面的文件、目录就都丢失了;这也是PAAS这种云计算平台通用的处理逻辑。
对应用开发者来说,应该意识到云计算平台的这种特性,并尽量将需要持久化的数据或者是需要被多个虚拟机共享的数据放到mysql, redis, mongodb, bcs 等存储服务器上。我们很快也会推出NFS服务,来部分的解决共享文件的需求。