当前位置:   article > 正文

遵循这 5 个云原生应用程序开发的最佳实践_开发应用的最佳实践

开发应用的最佳实践

如果云应用程序开发人员了解并遵循云原生应用程序开发的最佳实践,他们可以战略性地创建和维护更好的应用程序。

云原生应用程序可以带来一系列好处。它们提供精细的可扩展性、可移植性和资源的有效利用。尽管如此,它们可能难以管理且难以保护。云原生应用程序开发人员需要将劣势最小化并最大化收益。

在开发云原生应用时遵循最佳实践。这些最佳实践的范围从选择正确的设计模式到从一开始就考虑安全性以防止以后出现问题。通过避免供应商锁定和战略性地使用无服务器,开发人员可以创建高质量、持久的应用程序。

您的云原生开发流程越好,您的应用程序可能就越高效和可靠。

1.避免供应商锁定云服务

理想情况下,云原生应用程序将在任何 IT 环境中运行。这样,它就不会依赖于特定的公共云或平台类型。

要实现这种可移植性的云原生优势,请避免与特定供应商绑定的服务。确保应用不依赖特定供应商的服务或环境中的功能来运行。同样,避免让开发人员仅将应用程序构建和部署到特定云或主机环境类型的 PaaS 产品。

例如,如果您选择使用 Kubernetes 容器编排运行云原生应用程序,请将其设计为可以在任何 Kubernetes 环境中运行。不要将自己局限于特定供应商的 Kubernetes 发行版。

云原生开发

微服务、容器化、持续交付和 DevOps 是云原生开发的关键原则。

2.选择正确的设计模式

在设计云原生应用程序时,开发人员有很多选择。例如,微软的列表包括不少于39 种不同的模式。最流行的云设计模式包括:

  • 边车。主应用程序作为一组服务运行。辅助功能,例如用于监控工具的功能,作为 Sidecar 与它一起运行。
  • 事件驱动。一种设计模式,其中应用程序执行功能以响应特定事件,而不是连续运行。
  • CQRS。命令和查询职责分离将应用程序写入操作与应用程序读取操作分开。
  • 看门人。单个面向公众的应用程序实例用作将请求转发到其他私有托管实例的网关。

许多设计模式可以同时使用;它们并不相互排斥。您使用的设计模式或模式应反映应用程序的使用目标和公司优先级。

如果安全是重中之重,那么看门人设计模式可以工作;它减少了应用程序在互联网上的暴露。对于另一个用例,CQRS 有利于需要高数据可用性的应用程序。因为 CQRS 模式只允许应用程序的特定部分修改数据,所以它降低了由错误应用程序导致的意外数据覆盖或损坏的风险。

3. 战略性地使用无服务器

使用无服务器计算来部署云原生应用程序有很多很好的理由。

  • 无服务器可以减少您的整体云支出。
  • 它允许应用程序快速扩展和缩减。
  • 它减少了工程师部署和管理应用程序所需的工作量。他们不必提供完整的服务器来托管应用程序。

即便如此,无服务器也有明显的缺点。

  • 便携性较差。一般来说,很难将应用程序从一个基于云的无服务器计算引擎迁移到另一个。
  • 无服务器计算平台仅支持以某些语言或框架编写的应用程序,至少本机如此。开发人员有时会使用包装器,使他们能够运行给定平台本身不支持的无服务器功能。然而,这需要额外的努力,并且可能会降低性能。

云原生开发人员应该研究何时——何时不——将应用程序设计为无服务器功能。如果易于部署和可扩展性等因素是优先考虑的因素,那么无服务器是有意义的。如果您优先考虑可移植性,那是没有意义的。它也可能不适合用不太常用的语言编写的应用程序。

4. 从一开始就确保安全

在开发云原生应用程序时,安全性不能成为事后的想法。

在实践中,组织需要政策来确保安全发展。这些可以包括规划和实施安全应用程序身份验证、应用程序开发过程中的授权以及防止开发人员构建任何业务功能并在以后进行身份验证的方法的指导。

开发人员还应计划最大限度地提高应用程序数据的安全性。这包括存储在应用程序内部的数据以及外部存储的数据,例如对象存储服务中的数据。在所有存储位置实施数据加密和访问控制功能。

5.不排除本地部署

云原生一词具有误导性。云原生应用不一定要在云中运行。他们也可以在现场操作。您可以采用基于容器化微服务的应用程序并将其部署到本地 Kubernetes 集群中。

有时,本地部署更可取——如果它们提供的总拥有成本低于在云中托管应用程序的话。对于特定用例,本地还可以提供比公共云更好的安全性和数据隐私控制。

开发人员不应假设他们的云原生应用程序将始终在云中运行。他们应该设计可以在任何地方运行的应用程序。通过避免依赖仅在公共云中可用的服务并与平台(例如 Kubernetes)集成来实现这一点,这些平台可以轻松地在云中和本地运行云原生软件。

请记住,开发云原生应用程序没有一种正确或错误的方法。充分利用云原生应用程序需要一个针对应用程序的用例和优先级量身定制的精心规划的开发过程。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/155073
推荐阅读
相关标签
  

闽ICP备14008679号