云原生软件开发的5个最佳实践
云原生应用程序为想要超越竞争对手的组织提供了广泛的好处,从粒度可伸缩性到资源的有效使用。然而,这类应用程序的管理和安全可能具有挑战性。开发人员在开发云原生应用程序时应该遵循行业最佳实践,以最大限度地减少这些风险并最大化优势。
您的云原生开发过程越好,您的应用程序就越高效和可靠。以下是5个经过验证的最佳实践,以改进我们的软件交付过程,构建弹性的、可伸缩的云原生应用程序。
1.考虑供应商锁定
2.选择正确的设计模式
3.从一开始就建立担保权
4.选择工具时要考虑多云
5.赋予你的团队权力
1.考虑供应商锁定
云原生应用程序应该设计为在任何基础设施上运行,无论是公共云还是私有云、裸机服务器和容器。要实现这种云本地的可移植性优势,请避免将应用程序与特定云供应商绑定的服务。假设您的应用程序在其环境中不依赖于特定供应商的服务或特性来运行。在这种情况下,如果需要,您将能够毫无痛苦地将其移动到另一个服务中。
同样,不要使用PaaS产品,这种产品只允许开发人员在特定的云或主机环境中构建和部署应用程序。例如,如果您选择使用Kubernetes运行一个云原生应用程序,那么将其设计为能够在任何Kubernetes环境中运行,而不仅仅是像Amazon Elastic Container Service(ECS)这样的托管Kubernetes服务。
2.选择正确的设计模式
云原生应用程序的设计不同于传统应用程序。例如,Microsoft列出了开发人员可以与其他模式结合使用的10种不同模式。
云原生设计中最常用的模式包括:
Sidecar-主应用程序作为一组服务运行,而监视工具等附加功能作为Sidecar与它一起运行。
事件驱动–响应特定事件而不是持续运行函数的应用程序。
CQRS(命令和查询责任分离)-此模式将应用程序的写操作和读操作分开。这种模式非常适合于高可用性应用程序,其中只有应用程序的某些部分可以修改数据。
Gatekeeper-一个面向公共的实例,充当将请求转发到其他私有托管实例的网关。团队可以在具有安全性意识的应用程序中使用此模式,因为它减少了对Internet的暴露。
3.从一开始就建立担保权
组织需要策略来保护身份验证、授权和数据存储,以确保构建云本地应用程序时的安全性。这些可以包括关于规划安全应用程序身份验证、在开发过程中实现身份验证以及防止开发人员构建任何业务功能和以后处理身份验证的指导。
团队还应该计划最大限度地提高应用程序数据的安全性。这包括存储在应用程序内部的数据以及外部的数据,例如,对象存储服务中的数据。此外,请记住在所有存储位置上实现数据加密和访问控制功能。
4.选择工具时要考虑多云
在Gartner对公共云用户的调查中,81%的受访者表示他们与两个或更多的供应商合作。云原生活动发生在这种高度多样化的环境中,DevOps工具可以从内部供应商那里获得,也可以作为更大的公共云平台的一部分。
许多团队选择使用提供最全面的DevOps工具集的云提供商,因为这比集成几个不同的工具要容易得多。但是,这种方法可能会导致供应商锁定。如果您被锁定在一个单一的云提供商中,您就限制了根据需要利用不同的公共云或私有云的能力。
因此,在选择您的DevOps工具时,请记住您的组织潜在的多云未来。
5.授权你的团队
云产品而不是项目的概念鼓励团队对整个应用程序生命周期负责。这种方法符合现代软件开发实践,其中测试、集成和部署都是自动化和平滑的。
云原生开发计划从这种类型的设置中受益很大,因为它赋予团队完全的所有权,培养创造力,激励他们,并在信任的环境中创建冒险文化。
云原生应用程序将继续存在。如果您希望您的应用程序兼容并且是最新的,您应该考虑基于云的应用程序开发的具体实践。自然,在选择顶级实践之前,你应该考虑多重因素,其中之一就是你的团队。
- 点赞
- 收藏
- 关注作者
评论(0)