此外,本文将讨论Kubernetes中经常被大家忽略的问题以及如何克服其固有的复杂性。首先,需要通过一些背景信息来了解云中效率低下的一些根源。
在云计算出现之前的“旧时代”,本地数据中心的预算和采购需要预先购买硬件和软件许可证等,然后安装它们,这需要很长的准备时间,通常是三个月或更长时间,中央财政控制着这种方式。
随着云计算的出现,这种模式发生了巨大变化。首先,它是按需提供的,因此企业只需在使用时付费。它也更具动态性,因此也可以随意打开和关闭应用程序和资源。
其次,它打破了中央财政采购模式。云计算允许单个开发人员启动或关闭它,而这一切都可以在财务人员不知情的情况下进行。它的动态环境对企业来说是一个巨大的文化转变。
它还增加了复杂性。例如,企业不仅要在四种不同的节点类型和四种不同的节点大小之间进行选择,还要准确地选择每个节点用于 CPU 的比例和用于内存的比例。企业将在不同节点之间共享所有资源,这将增加难题的困难程度。
系统的动态特性使这一切变得十分复杂。如果企业运营者查看云提供商,会发现他们的计费流程非常复杂。
你想要什么节点类型?想要现场实例、按需实例、预留实例吗?需要预付多少钱?如何混合保留实例和按需实例?
扩展是需要考虑的一个重要方面,因为企业可以通过在需要之前添加资源来提高性能以避免延迟峰值。
由于云的复杂性,人们通常会默认过度配置云或通过反复试验手动调整。这是一个陷阱:必须在成本效率或损害客户绩效之间做出选择。造成这个陷阱的一个重要原因是缺乏可见性。除了成本和性能权衡之外,还有速度。企业可能能够实现性能和成本效率,但这需要大量艰苦的手动工作。
尽管复杂,但仍能实现云成本效率
实现云效率的第一步是了解问题。了解企业自身在哪里花钱,并确定它是否提供了所需的投资回报 (ROI)。这种理解不仅仅只看花费;在某些情况下,降低成本并不是首要任务。如果一个工程团队的花费是另一个团队的 10 倍,那么需要了解其中是否存在问题还是合理现象。
他们是否支持更多流量?他们是否故意过度配置,以便团队可以更快地行动并将新产品推向市场?
了解自身的支出并确保企业获得投资回报可能需要付出巨大的努力,但企业在优化之前需要踏出第一步。例如,团队可能决定最初为稳定性而过度配置,虽然代价高昂,但生产负荷不多,首要任务是将产品推向市场。
之后,一旦产品进入市场,负载更大,成本不断膨胀,就在不牺牲性能的情况下,将工程时间投入到降低成本上。
第二,明确自己的目标。例如,查找孤立的实例——员工创建并遗忘了它,然后离开了公司,可是它仍然在无限期地运行。这是一个非常普遍的问题,并且可能是削减成本的最简单方法之一。
如果以削减成本为目标,企业有两个基本选择:使用更少的资源或使用相同的资源,但支付更少的费。最终,企业必须开始调整工作负载的规模,这需要可见性。部分成本管理供应商可以识别企业的云支出并允许企业关闭闲置资源。
关于可见性,云成本失控的部分原因是没有人注意到这个问题。这并不意味着工程师不在乎,他们只是不了解具体情况。大多数工程师,如果问题暴露出来,他们也会尝试自己修复它,这就是普锐斯效应。
一项研究表明,据观察和记录,大部分 Prius 驾驶员会对车辆电池功率的可见性数据做出反应,以减少燃料消耗。如果开发人员意识到他们对云的使用和支出,他们会尝试改进它。
第三,云效率超越成本。云效率应定义为最大限度地使用企业请求的资源。它考虑了性能和成本,也考虑了开发人员进行管理云资源所需的手动维护所需的时间。真正的云效率是在正确的时间拥有正确的资源。
随着云计算在企业中的快速应用,云效率的考虑是至关重要的,需要超越对成本的基本分析。如果企业希望充分利用其云基础架构,则必须考虑云效率另外两个组成部分,即性能和速度。