开源协助平台工程灵活应对多云时代的挑战
平台工程通过标准化控制和灵活性保障了开发实践。但是,随着平台工程的兴起,开源战略又该如何融入其中呢?
虽然平台工程没有一刀切的方法,但越来越明显的是,开源软件和技术对平台工程的成功绝对至关重要——这一点我将在本文稍后部分详细阐述。首先,让我们迅速深入探讨一下为什么关于平台工程的宣传是合理的。
平台工程的重要性
平台工程可以成为推动真正业务转型的一个引擎。重要的是,它弥补了关于加速应用程序开发(和投资回报率)的不切实际的说法与大多数软件团队的实际情况之间的差距,因为大多数软件团队在被要求支持日益宏大的业务目标时,往往已经捉襟见肘。
对于开发者而言,平台工程带来的主要好处之一就是他们专注于自己最擅长的领域——构建应用程序和服务,而不是在基础设施、安全和其他需求方面花费无数的时间进行重复性工作。
让我们来看一个具体的例子。如果你的平台工程师已经构建了一个内部开发人员平台(IDP),其提供的(除其他工具和服务外)数据库技术已经满足了灾难恢复、可用性和安全性等方面的要求,那么你的开发人员就可以迅速开始构建产品的工作,而无需迎合需求进行设计,这些基础设施已经就位了。
相比之下,一个开发团队或者服务所有者则有时需要自行实施部分工作,以支持新的数据库功能。因此,使用 IDP 的团队可以更快地开展工作,而且持续支持的负担也会更低。
开源如何支持平台工程运作
建立一个团队,一个 IDP,和适当的工作流程需要付出大量的精力、时间和资源——这从长远来看是值得的。
开源能够在这一过程中发挥关键作用,为平台工程团队和从其工作中受益的开发人员带来无数好处。下面让我们来看看开源能为平台工程战略带来的几个具体优势:
-
灵活性:开源技术与许多封闭、开放核心或专有技术不同,它使平台所有者更容易为开发人员提供完全相同的开发体验,无论他们使用的是哪种云端或基础设施供应。对于越来越多在混合云端或多云端环境中运行的组织来说,这一点可能尤为重要。
-
人才招聘:运用开源软件确保员工具有现有经验,能够快速适应。开源社区的普及使得招聘到具备必要技能的人才变得更加容易。当今许多云端原生开源社区(无论是数据库、Kubernetes 还是安全工具)的普及,都意味着有越来越多的技术专家正在掌握必要的技能。而且,IT 专业人员也希望在他们所使用的工具能转化为在其他地方工作的机会。开源则比专有系统更能适应这种情况。此外,您还可以根据需求将内部平台与外部开源平台连接起来,从而填补人才缺口并获得运营方面的专业知识。
-
安全性:企业 IT 团队曾一度误认为开源的安全性较低。现如今,这种说法已不攻自破。
-
插拔能力:开放源码软件可确保您有能力开发和更改符合实际需求的代码。此外,将这些变更反馈给社区还能确保软件的所有用户都能享受到充分的支持。
开源如何帮助启动平台工程的运作
首先,开源为您找出平台和开发人员经验中的关键差距,便于寻找可靠的开源方案来满足这些需求。例如,如果您的公司在扩展数据存储方面没有很好的解决方案,可以寻找用例或已经取得成功的团队—— 比如 Apache Cassandra 的完全开源版本可能就很适合,然后再努力为其他人提供这种功能。
其次,开源技术可以帮助开发人员更容易采用、测试、实验和探索。
最后,平台团队需要帮助开发人员构建默认的符合要求的产品。利用可信的、受支持的开源技术可以让这一切变得更加简单。这种方法更适合开发人员去使用任何适合他们的技术。因此,推动平台工程化是充分合理的,能够结合开源战略将使转型更有力、更快速、更具成本效益。