什么是云原生架构?我可以在云原生架构中使用云托管服务吗?

时间:2020-12-29 06:08:33

标签: amazon-web-services architecture cloud

我正在为我们的客户设计软件架构,我了解支持云和云原生架构的术语。我已经阅读了很多关于云原生的文章,但当我与其他技术人员谈论云原生架构时,我感到困惑。因为大多数人的印象是云原生架构是在 Kubernetes 上的容器中运行的架构。

我的问题是,如果我正在设计云原生架构并将其部署在 AWS 云中,我是否可以在我的架构中使用除 docker 容器之外的 AWS 托管服务,或者云原生架构完全独立于云服务?

2 个答案:

答案 0 :(得分:2)

在这里很难就定义达成共识,但根据我自己的经验,“云原生”一词肯定越来越特定于容器和微服务,而 Kubernetes 作为事实上的海报男孩。 CNCF 中的定义可用 here

基线似乎是基础设施之上的抽象,侧重于可移植性和可再现性,尽可能避免锁定。也就是说,来自特定提供商的托管服务非常成功地抽象了基础设施的责任,因此可能是需要的。

在这种情况下,您可能希望使用中立的方法(例如 Terraform)声明您的基础架构配置,从而减少与可移植性相关的一些固有摩擦,同时仍然能够利用托管服务。

答案 1 :(得分:1)

通用术语 cloud-native 是指完全部署在公共云中并使用特定云提供商提供的服务(基础架构管理、消息传递等)的应用程序

当然,这与经典模型相反,在经典模型中,您必须管理基础架构并处理配置、可用性和许多其他事情。

混淆可能是因为 Cloud Native Computing Foundation 是一个开源组织,致力于促进云采用并管理 Kubernetes、Prometheus 和其他非常成功的开源项目的开发。

因此,人们可能会将 cloud-native 应用称为使用 CNCF 维护的所有(或多个)项目(包括 Kubernetes)的应用。

为避免混淆,您可以使用术语 cloud-based 来指代完全部署在云中且不一定与 CNCF 项目相关联的应用。