目前,很多公有云策略完全依赖专有平台和服务,并且主要的公有云供应商不太可能开源化自己的服务。不过,现在有很多可用的开源云计算平台和工具。
开源技术提供更大的灵活性,并减少对专有平台的依赖,还可节省成本。通过使用开源,开发人员可以检查和修改源代码以适应他们的需求和要求。
开源技术主要有两个类别:
- 开源平台—可构建完整的云环境;
- 开源工具—可管理专有公共云内运行的云服务。
下面让我们了解现在主要等开源云平台和工具,并看看这些专有替代方案是否更适合你的策略。
开源云平台
如果企业更希望在开放源代码基础上构建其云计算,而不是使用专有的公共云服务,则可以使用多种开放源代码平台。
AppScale
AppScale使用Eucalyptus提供核心AWS云服务(例如Amazon S3和EC2)的开源部署。 AppScale使IT团队可以在其基础架构上运行这些服务。这样就可以设置看起来与AWS非常相似的开源云,如果需要,甚至可以使用AWS的本机工具进行管理。
Kubernetes
尽管OpenStack仍然是企业市场广泛使用的工具,但近年来它已在某种程度上被开源编排平台Kubernetes所取代。Kubernetes本身并不是构建私有云的平台,但它可以创建类似私有云的东西–通过将服务器集合绑定到单个集群中,并在它们之间部署应用程序。此外,开发人员可以设置Kubernetes网络和存储服务。
Kubernetes服务存在于所有主要的公共云中,因此将Kubernetes置于云战略的中心可以使企业更简单地在本地Kubernetes集群和公共云之间迁移工作负载。
Kubernetes的主要缺点是它主要用于容器化工作负载,尽管Google Anthos和VMware的Project Pacific等项目使企业更容易使用Kubernetes编排VM。
但是,如果IT团队不愿意使用Kubernetes作为整个云的基础,它也可以用作开源编排工具。Kubernetes是编排公共云中运行的某些工作负载的有效方法。
OpenStack
OpenStack是流行的选项,它是在企业基础架构上创建私有云的平台。它提供与公共云相同的核心云服务类型,包括计算、存储、无服务器功能和容器。这些服务背后的所有代码都为开源。
OpenStack也可以免费下载和部署,尽管企业可以选择从Mirantis和Platform9等供应商处购买其管理服务,从而简化OpenStack复杂性。还有其他相似的供应商,包括:
- Apache CloudStack
- Proxmox
- oVirt
PaaS
公共云提供用于部署PaaS产品的专有服务,例如AWS Elastic Beanstalk。或者,你可以选择开源的PaaS,例如Cloud Foundry或Dokku。开源选项可更容易地将PaaS环境从一个云端迁移到另一个云端。
此外,如果开源PaaS比你的云供应商专有的PaaS具有更高的成本效益,则总拥有成本也可能更低。
开源云工具
除这些开源云平台外,还有各种工具可以用于更特定的领域。你可以将这些开源工具视为增强核心公共云服务的方法,而不是其替代方案。这些工具可以分为多种类别。
监控
现在有大量开源监视工具,可帮助收集和分析来自云环境的指标、日志和跟踪。主要选项包括(按字母顺序排列):
- ELK Stack使用Elasticsearch、Logstash和Kibana来完成搜集和分析来自任何来源的数据。
- Grafana(也可作为AWS的托管服务)提供可视化和分析功能,以帮助监视云应用程序。
- Nagios监视云工作负载的性能和可用性。
- OpenTelemetry框架提供从云端和本地环境中收集数据的标准化方法。
- Zabbix可监视性能和可用性。
在这些工具中,很多工具可补充而不是取代专有云监视服务,例如Amazon CloudWatch和Azure Monitor。它们提供的数据收集选项、可视化效果和其他功能–超出公共云的范围。
成本监控和优化
option that runs independently from your cloud environment itself.
控制云成本非常困难,因为公共云计费模型很复杂,并且你可以轻松地在公共云中启动工作负载然后忘记关闭它们,这通常导致你为不需要的资源付费。大多数公共云都提供基本的成本监控工具(例如AWS Cost Explorer)来帮助解决此问题。有些闭源第三方监视平台还具有成本监视或容量规划功能。
针对云端的开源成本优化工具开发不够完善,但你可以利用Koku和Komiser等工具。如果你的IT团队需要独立于你的云环境本身运行的成本监控选项,则可以考虑这些工具。
云配置
作为专有云配置服务(例如AWS CloudFormation)的替代方案,IT团队可以使用Terraform或Ansible等开源基础设施即代码工具。在这些工具中,大多数可兼容所有主要的公共云平台以及本地基础结构。这些工具非常适合具有混合或多云架构的企业,他们需要配置工具来支持其所有环境。