云原生描述了一种软件开发方法,其中云基础设施用于实现更快、更可扩展的部署。云原生应用程序旨在充分利用现代工程实践,例如自动化、托管服务和自动扩展控制。
该模型也会对您组织的文化和工作实践产生影响。云技术应该成为软件交付方式不可或缺的一部分。每个人都需要意识到可能性,以便他们能够在工作中寻求利用它们。与使用云作为附加设施的竞争对手公司相比,这使您能够以更敏捷的方式运营。
在本文中,您将了解一些可遵循的原则,以高效构建云本机应用程序并最大限度地提高投资回报。云原生不仅仅是使用云服务:它是一种整体的软件交付方法,使您的组织与业内其他组织区分开来。
解耦您的服务
将系统解耦为独立的微服务是采用云原生的第一步。将您的架构分解为更小的部分意味着您可以彼此独立地扩展它们。这使得更容易响应需求峰值,而不会增加已经性能可接受的组件的成本。
服务应该使用封装应用程序数据流的定义良好的接口相互通信。通过这种方式减少组件之间的耦合可以让您在决定将组件托管在何处时具有更大的灵活性。在某些情况下,您可能会选择将应用程序分布在多个云中以使用最佳的功能组合。
使用容器作为基本单元
容器化运动支撑着大多数云原生实现。容器本质上是灵活的、可重复的和可扩展的,因此它们具有云原生系统的许多目标。
容器将应用程序的代码及其依赖项和环境要求打包。它们使得运行分布式应用程序实例并随着服务的增长而扩展它们成为可能。添加更多容量就像启动新容器并将它们链接到负载均衡器一样简单。当需求增长时,这可以实现快速增长。
让容器成为架构中的基本单元可以提高可移植性,并为您提供额外的部署选项。您可以在容器运行时可用的任何地方启动服务,