构建一个多区域的公有云平台:Stacklab
stacklab是我去年下半年以来负责运维的项目,之前我曾介绍过如何使用stacklab:HOWTO:在StackLab上创建自己的实例。本文是我的同事荣泽写的《StackLab: 建设多IDC的公有云需要多少人?》。原标题过于煽情LOL,这里被我换了。
StackLab是什么?
由于OpenStack部署麻烦和语言原因,很多用户和企业都没使用过OpenStack。为了推动OpenStack在国内的应用和普及,让更多的用户和企业体验到OpenStack的强大,中国开源云联盟发起StackLab开放实验室 。StackLab是一个公益性的OpenStack体验、测试和开发平台,免费开放给用户和企业使用。但StackLab不仅是一个测试沙箱。
StackLab目前的服务资源由新浪、英特尔、趣游、西安交大、华南理工等企业和高校提供了第一批硬件资源,前期由新浪的OpenStack开发团队负责开发、运营及上线,后期将招募更多志愿者参与进来,这将会促进OpenStack在中国的应用和普及。
StackLab的目标要建立多region免费公有云,以推动OpenStack的应用和普及,让更多的用户和企业体验到OpenStack的强大。
目前参与StackLab.org主要有三种角色:用户、StackLab DevOps Team、企业。三方都可以从StackLab.org中获益,达到共赢的局面。
- 普通用户(公众)免费使用一切开放资源
- StackLab DevOps Team向企业或事业单位免费提供OpenStack部署、技术、咨询等服务
- 企业或事业单位将服务器资源作为StackLab Region加入StackLab.org中,承诺免费向公众开放。
StackLab的架构
目前StackLab采用多region架构,这样方便企业接入、易扩展和部署。
- 每个region上部署一套单独的OpenStack系统,不同的region相互独立。
- 中心region中部署多套keystone,每个keystone的endpoint指向对应的region。
- 基于安全考虑,给每个region创建一个单独的user和role,仅用于auth_token的认证。
http://wiki.stacklab.org/doku.php?id=stacklab:architecture
StackLab的运营数据
StackLab.org从2012.09.14开始上线[link],受到用户和企业的极大欢迎。很多企业对StackLab非常感兴趣,纷纷来信咨询。目前已经有4家企业、高校的region已经接入到StackLab中,还有很多企业在筹备中。
目前StackLab.org仅在OpenStack中国行中做一些宣传,没有在各大技术论坛上做推广,但还是吸引了很多用户注册与使用。这些用户所在公司包括中国几乎所有的大IT企业、各大高校、非常多的中小企业,他们都是中国现在和未来的云计算行业人员和潜在客户。StackLab的使命就是向这些有价值的用户推广OpenStack。
用户数:
截止至2013.01.08,StackLab的注册用户有2008个。
用户类型:
StackLab的用户包括工程师、管理员、经理、CTO、CEO、CIO、咨询顾问、主管、架构师、总监、教授、学生、研究员、销售等。
内容建设:
- Wiki:http://wiki.stacklab.org/doku.php?id=start&do=index
- 文档:http://wiki.stacklab.org/doku.php?id=stacklab:documentation
- 问答社区(31个提问,34个回答,1959个用户):http://ask.stacklab.org
- 架构:http://wiki.stacklab.org/doku.php?id=stacklab:architecture
典型应用部署:
- Hadoop(在新浪上部署)
- CloudFoundry(在华南理工和新浪上部署)
访问量:
StackLab.org在2012.12月份的访问量是10000+。
创建的虚拟机数 :
截止至2013.01.08,用户一共在StackLab上创建了3615台虚拟机。
接入企业:
StackLab如何运营?
在创建StackLab之前,我们没有任何跨IDC公有云(集合不同企业的IDC)的运营经验。我们的原则是先干再说,遇到问题后再总结,最后形成自动化、流程化、系统化的运营方法。
两种企业接入方式:
- 我们帮助部署,用户从我们stacklab.org登录,并使用企业的资源。
- 我们提供用户认证服务,用户可以从他们的云平台登录,使用企业的资源。
企业合作:
- 为接入企业提供技术支持和咨询
- 和企业一起开发典型应用
- 企业分享技术文档和成果在StackLab上
内容建设:
- 已经建成完善的wiki体系。
- 编写文档和教程,并对外公布。
- 已经建成问答社区,积累相关问题和答案。
推广:
- 目前只在OpenStack中国行上进行介绍,没有在各大技术论坛上进行介绍。
- 使用piwik进行网站分析
StackLab如何运维?
建设一个跨IDC的公有云最重要的事情就是运维,自动化的运维系统能够提高效率,减少故障的发生。通过Puppet,在企业Region上部署OpenStack环境只用1个小时(视网速而定)。给所有Region上的OpenStack环境打patch只用几分钟。我们使用Zabbix对所有Region上的服务器和OpenStack服务进行监控,及时发现异常和问题。我们还使用了Redmine用于记录、分析、总结各种故障。
- 自动化部署:Puppet
- 服务器和OpenStack服务监控:Zabbix
- 项目管理:Redmine
StackLab遇到的问题
在中国运营一个免费的公有云最大的困难都是非技术问题。
故障排查:我们需要一个日志分析系统对openstack的日志进行分析,以便快速排查问题。
中国国情:由于国情造成了很多非技术问题,比如80端口需要备案等。
用户配额限制:现在用户在每个region上都有配额。未来会上线计费、扣费系统,统一所有region上的配额。这使得StackLab更像AWS,但使用的是虚拟货币,StackLab会给用户赠送虚拟货币。
StackLab的计划
虽然StackLab有很大的想像空间,但是我们希望稳扎稳打,给用户和企业创造更多的价值,
- 努力成为用户和开发者学习OpenStack的入口。
- 努力成为企业展示其云平台(硬件、软件、服务)的窗口。
- 成为一个新想法的实践平台,部署更多的典型应用。
- 增加监控、计费、扣费等功能,成为一个完整的云平台。