一文带你了解云原生是什么?

Posted 大前端之旅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文带你了解云原生是什么?相关的知识,希望对你有一定的参考价值。

今天我们先来了解一下什么是云原生,最近云原生,元宇宙等很火,那么也趁此了解一下,

云原生是什么?

云原生技术使组织能够在新式动态环境(如公有云、私有云和混合云)中构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。

这些技术实现了可复原、可管理且可观察的松散耦合系统。 它们与强大的自动化相结合,使工程师能够在尽量减少工作量的情况下,以可预测的方式频繁地进行具有重大影响力的更改。

云原生是关于速度和敏捷性的。 业务系统正在从实现业务功能演变为加快业务速度和增长的战略转型武器。

同时,业务系统也变得越来越复杂,用户要求也越来越高。 他们希望实现快速响应、创新工作和零故障时间。 他们再也无法接受性能问题、反复出现的错误以及不能快速扩展。 云原生系统旨在支持快速更改、大规模操作和复原能力。

简言之,云原生是一种行为方式和设计理念,究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生的。云计算的发展史就是一部云原生化的历史。Kubernetes 开启了云原生的序幕,serverless 的再次兴起,使得云原生从基础设施层不断向应用架构层挺进,目前,我们正处于一个云原生的新时代。

云原生的设计哲学

云原生它首先是一种基础设施,运行在其上的应用称作云原生应用,只有符合云原生设计哲学的应用架构才叫云原生应用架构。

云原生的设计理念

云原生系统的设计理念如下:

  • 面向分布式设计(Distribution):容器、微服务、API 驱动的开发;
  • 面向配置设计(Configuration):一个镜像,多个环境配置;
  • 面向韧性设计(Resistancy):故障容忍和自愈;
  • 面向弹性设计(Elasticity):弹性扩展和对环境变化(负载)做出响应;
  • 面向交付设计(Delivery):自动拉起,缩短交付时间;
  • 面向性能设计(Performance):响应式,并发和资源高效利用;
  • 面向自动化设计(Automation):自动化的 DevOps;
  • 面向诊断性设计(Diagnosability):集群级别的日志、metric 和追踪;
  • 面向安全性设计(Security):安全端点、API Gateway、端到端加密;

微服务

云原生系统采用微服务,虽然微服务这个词比较新颖,但这种设计理念老早就有,微服务是一种用于构造新式应用程序的常用体系结构样式。

此外,微服务是一种分布式架构设计理念,为了推动细粒度服务的使用,这些服务要能协同工作,每个服务都有自己的生命周期。一个微服务就是一个独立的实体,可以独立的部署在 PAAS 平台上,也可以作为一个独立的进程在主机中运行。服务之间通过 API 访问,修改一个服务不会影响其它服务。

共同具有以下特征:

  • 各自都在较大的域上下文中实现特定业务功能。
  • 各自都自主开发,可以独立部署。
  • 各自都是独立的,封装其自己的数据存储技术、依赖项和编程平台。
  • 各自都在自己的进程中运行,并使用 HTTP/HTTPS、gRPC、WebSocket 或 AMQP 等标准通信协议与其他微服务进行通信。
  • 它们组合在一起形成应用程序。

总结

本文主要有四个知识点,云原生是什么?云原生的设计哲学,云原生的设计理念,以及什么是微服务,以及微服务的特征,后面我将介绍除了微服务之外的容器,DevOps,以及持续交付的一些情况。

可能也是第一次写云原生相关的文章,可能有点乱。慢慢来吧。

参考:

云原生的定义

除了微服务,云原生还包括,容器,DevOps,以及持续交付,

以上是关于一文带你了解云原生是什么?的主要内容,如果未能解决你的问题,请参考以下文章

云原生与Go 微服务实战学习笔录- 一文带你了解云原生架构演进及设计思想

云原生一文带你搞懂Docker容器的核心基石Cgroups

快进键启动,一文带你了解云原生时代容器安全

一文带你理解云原生

一文带你理解云原生

一文带你快速初步了解云计算与大数据