作者简介
Gavin,程序员、软件架构师、企业架构师,关注智能制造。
本文是专栏《智能制造系统架构》中的文章,其它文章请参阅入坑智能制造系统架构。
什么是云原生架构
所谓云原生架构,Cloud Native Computing Foundation的定义是这样的:
Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
云原生架构的目的是使企业能够在公有云,私有云或者混合云等动态环境中构建和运行可扩展的应用。代表技术包括容器,服务网格,微服务,不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。
软件架构的目的一般都是帮助开发团队将关注点尽可能聚焦在业务代码的实现上。通常,开发软件系统,代码包含三部分内容,即处理业务逻辑的代码、第三方依赖、处理非功能特性的代码。这三部分中只有业务代码真正产生业务价值,另外两个部分都只算附属物。软件规模越大、非功能特性要求越复杂,非业务代码开发量越大,复杂度越高,系统迭代会越来越缓慢,成本业务越来越高。所以,在软件规模较大、功能复杂的情况下又要保证敏捷迭代,就需要将非业务代码尽可能剥离出来,利用可靠的第三方托管服务来提升开发效率和系统质量。而云平台提供了丰富的用于处理非功能需求的服务和组件,所以利用云原生架构充分利用云平台上的各类资源,可以很好的解决这方面的问题,下面是微软整理应用云原生技术的实际案例:
公司 | 案例 |
---|---|
Netflix | 生产环境中部署 600+个服务。每天部署上百次。 |
Uber | 生产环境中部署 1000+个服务。每周部署数百次。 |
生产环境中部署 3000+个服务。每天部署上千次。 | </