值得考慮的開源云平臺(tái)和工具
目前,很多公有云策略完全依賴專有平臺(tái)和服務(wù),并且主要的公有云供應(yīng)商不太可能開源化自己的服務(wù)。不過,現(xiàn)在有很多可用的開源云計(jì)算平臺(tái)和工具。
開源技術(shù)提供更大的靈活性,并減少對(duì)專有平臺(tái)的依賴,還可節(jié)省成本。通過使用開源,開發(fā)人員可以檢查和修改源代碼以適應(yīng)他們的需求和要求。
開源技術(shù)主要有兩個(gè)類別:
- 開源平臺(tái)—可構(gòu)建完整的云環(huán)境;
- 開源工具—可管理專有公共云內(nèi)運(yùn)行的云服務(wù)。
下面讓我們了解現(xiàn)在主要等開源云平臺(tái)和工具,并看看這些專有替代方案是否更適合你的策略。
開源云平臺(tái)
如果企業(yè)更希望在開放源代碼基礎(chǔ)上構(gòu)建其云計(jì)算,而不是使用專有的公共云服務(wù),則可以使用多種開放源代碼平臺(tái)。
AppScale
AppScale使用Eucalyptus提供核心AWS云服務(wù)(例如Amazon S3和EC2)的開源部署。 AppScale使IT團(tuán)隊(duì)可以在其基礎(chǔ)架構(gòu)上運(yùn)行這些服務(wù)。這樣就可以設(shè)置看起來與AWS非常相似的開源云,如果需要,甚至可以使用AWS的本機(jī)工具進(jìn)行管理。
Kubernetes
盡管OpenStack仍然是企業(yè)市場(chǎng)廣泛使用的工具,但近年來它已在某種程度上被開源編排平臺(tái)Kubernetes所取代。Kubernetes本身并不是構(gòu)建私有云的平臺(tái),但它可以創(chuàng)建類似私有云的東西–通過將服務(wù)器集合綁定到單個(gè)集群中,并在它們之間部署應(yīng)用程序。此外,開發(fā)人員可以設(shè)置Kubernetes網(wǎng)絡(luò)和存儲(chǔ)服務(wù)。
Kubernetes服務(wù)存在于所有主要的公共云中,因此將Kubernetes置于云戰(zhàn)略的中心可以使企業(yè)更簡(jiǎn)單地在本地Kubernetes集群和公共云之間遷移工作負(fù)載。
Kubernetes的主要缺點(diǎn)是它主要用于容器化工作負(fù)載,盡管Google Anthos和VMware的Project Pacific等項(xiàng)目使企業(yè)更容易使用Kubernetes編排VM。
但是,如果IT團(tuán)隊(duì)不愿意使用Kubernetes作為整個(gè)云的基礎(chǔ),它也可以用作開源編排工具。Kubernetes是編排公共云中運(yùn)行的某些工作負(fù)載的有效方法。
OpenStack
OpenStack是流行的選項(xiàng),它是在企業(yè)基礎(chǔ)架構(gòu)上創(chuàng)建私有云的平臺(tái)。它提供與公共云相同的核心云服務(wù)類型,包括計(jì)算、存儲(chǔ)、無服務(wù)器功能和容器。這些服務(wù)背后的所有代碼都為開源。
OpenStack也可以免費(fèi)下載和部署,盡管企業(yè)可以選擇從Mirantis和Platform9等供應(yīng)商處購(gòu)買其管理服務(wù),從而簡(jiǎn)化OpenStack復(fù)雜性。還有其他相似的供應(yīng)商,包括:
- Apache CloudStack
- Proxmox
- oVirt
PaaS
公共云提供用于部署PaaS產(chǎn)品的專有服務(wù),例如AWS Elastic Beanstalk。或者,你可以選擇開源的PaaS,例如Cloud Foundry或Dokku。開源選項(xiàng)可更容易地將PaaS環(huán)境從一個(gè)云端遷移到另一個(gè)云端。
此外,如果開源PaaS比你的云供應(yīng)商專有的PaaS具有更高的成本效益,則總擁有成本也可能更低。
開源云工具
除這些開源云平臺(tái)外,還有各種工具可以用于更特定的領(lǐng)域。你可以將這些開源工具視為增強(qiáng)核心公共云服務(wù)的方法,而不是其替代方案。這些工具可以分為多種類別。
監(jiān)控
現(xiàn)在有大量開源監(jiān)視工具,可幫助收集和分析來自云環(huán)境的指標(biāo)、日志和跟蹤。主要選項(xiàng)包括(按字母順序排列):
- ELK Stack使用Elasticsearch、Logstash和Kibana來完成搜集和分析來自任何來源的數(shù)據(jù)。
- Grafana(也可作為AWS的托管服務(wù))提供可視化和分析功能,以幫助監(jiān)視云應(yīng)用程序。
- Nagios監(jiān)視云工作負(fù)載的性能和可用性。
- OpenTelemetry框架提供從云端和本地環(huán)境中收集數(shù)據(jù)的標(biāo)準(zhǔn)化方法。
- Zabbix可監(jiān)視性能和可用性。
在這些工具中,很多工具可補(bǔ)充而不是取代專有云監(jiān)視服務(wù),例如Amazon CloudWatch和Azure Monitor。它們提供的數(shù)據(jù)收集選項(xiàng)、可視化效果和其他功能–超出公共云的范圍。
成本監(jiān)控和優(yōu)化
option that runs independently from your cloud environment itself.
控制云成本非常困難,因?yàn)楣苍朴?jì)費(fèi)模型很復(fù)雜,并且你可以輕松地在公共云中啟動(dòng)工作負(fù)載然后忘記關(guān)閉它們,這通常導(dǎo)致你為不需要的資源付費(fèi)。大多數(shù)公共云都提供基本的成本監(jiān)控工具(例如AWS Cost Explorer)來幫助解決此問題。有些閉源第三方監(jiān)視平臺(tái)還具有成本監(jiān)視或容量規(guī)劃功能。
針對(duì)云端的開源成本優(yōu)化工具開發(fā)不夠完善,但你可以利用Koku和Komiser等工具。如果你的IT團(tuán)隊(duì)需要獨(dú)立于你的云環(huán)境本身運(yùn)行的成本監(jiān)控選項(xiàng),則可以考慮這些工具。
云配置
作為專有云配置服務(wù)(例如AWS CloudFormation)的替代方案,IT團(tuán)隊(duì)可以使用Terraform或Ansible等開源基礎(chǔ)設(shè)施即代碼工具。在這些工具中,大多數(shù)可兼容所有主要的公共云平臺(tái)以及本地基礎(chǔ)結(jié)構(gòu)。這些工具非常適合具有混合或多云架構(gòu)的企業(yè),他們需要配置工具來支持其所有環(huán)境。