作者:litianc
时间:2024 年 4 月 3 日
阅读时长:3分钟
本人乃云计算小白,最近却因工作需要,开始全方位接触云计算市场:
- 作为销售应对政企客户的私有云部署和扩容需求;
- 作为产品经理思考和制定AI基础设施产品的产品规划;
- 作为技术负责人参与公司自研公有云产品的迭代开发。
其中,客户需求和战略思考是多方法论为主,日后逐步整理。当下,第一时间需要将相对枯燥的技术部分转为输出,这样才有继续向前的动力,因此有了这个系列的文章。
出于公司内部的保密要求,自研产品不便透露过多。第一篇,就从近期我比较关注的开源产品CloudStack开始。
对于没有深入了解过云计算的人,可能未必听说过CloudStack,但你只需要知道http://cloud.com这个域名就是由CloudStack背后的公司拥有的,那就大体可以猜到它的江湖地位。CloudStack项目始于2008年,最初是由一家由传奇华人工程师梁胜创办的云计算公司VMOps的初创公司启动的。该公司最终更名为http://Cloud.com,并在2010年5月根据GNU通用公共许可证第三版(GPLv3)发布了Cloudstack的大部分源代码。在2011到2013年期间,http://cloud.com被巨头思杰收购,全部代码重新授权为Apache软件许可证2.0版,并提交给Apache孵化器。
比较有意思的是,国内知名云厂商zstack的CEO张鑫曾经是CloudStack的第7号员工,此外,中国电信的天翼云也采用CloudStack的技术框架。
从技术角度,CloudStack给自己的定位是一个开源的基础设施即服务(Infrastructure-as-a-Service)平台,它管理和协调存储、网络和计算资源的池化,以构建公共或私有的IaaS(基础设施即服务)计算云。通过CloudStack,开发者可以搭建一个按需弹性的云计算服务,并且允许最终用户配置资源。
在底层架构上,它支持多种虚拟化技术,并且一个云平台中可以包含多种虚拟化实现,例如:BareMetal、Hyper-V、KVM、LXC、vSphere(通过 vCenter)、XenServer、Xen Project。
在系统部署架构上,CloudStack提供从两台以上机器乃至跨地域集群的管理能力。
- 地域(Regions):由一个或多个地理位置相近的区域(Zones)组成的集合,由一个或多个管理服务器管理。
- 区域(Zones):通常,一个区域相当于一个单一的数据中心。一个区域由一个或多个集群(Pods)和二级存储构成。
- 容器(Pods):一个容器通常是一组机架,或者机架行,包括一个二层交换机以及一个或多个集群。
- 集群(Clusters):一个集群由一个或多个同质化的主机和主存储构成。
- 主机(Host):集群内的单个计算节点;通常是一个虚拟化主机。
- 主存储(Primary Storage):通常为单个集群提供的存储资源,用于实际运行实例的磁盘映像。(虽然可以选择区域范围内的主存储,但通常不常使用。)
- 二级存储(Secondary Storage):一个区域范围内的资源,用于存储磁盘模板、ISO镜像和快照。
功能上,CloudStack具有以下特点:
- 可大规模扩展的基础设施管理 CloudStack 能够管理分布在不同地理位置的数据中心中的数万个物理服务器。管理服务器的扩展性接近线性,消除了对集群级别管理服务器的需求。管理服务器的维护或其他中断不会影响云中运行的实例。
- 自动云配置管理 CloudStack 会自动配置每个实例部署的网络和存储设置。在内部,一系列虚拟设备支持云本身的配置操作。这些设备提供诸如防火墙、路由、DHCP、VPN、控制台代理、存储访问和存储复制等服务。广泛使用水平可扩展的实例简化了云的安装和持续运营。
- 图形用户界面 CloudStack 提供了一个管理员Web界面,用于配置和管理云,以及一个最终用户的Web界面,用于运行实例和管理实例模板。UI可以根据所需的服务提供商或企业外观和感觉进行定制。同时提供RESTful API,用于运管平台的二次开发。