云原生系列(一)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 云原生系列(一)

一、云原生为何如此重要

①、研发管理效率提升

②、硬件成本极大下降

二、部署流程的三大打通

①、打通微服务云原生基础环境:服务治理,服务监控

②、打通云原生CICD流程:统一的AB测试 灰度

③、打通团队敏捷管理的流程:统一的,最终的极速迭代,极速上线

真正的做到敏捷开发,敏捷迭代

三、资源管理有着巨大的问题

①、无论生产环境,还是测试环境,大部分公司的颗粒度都是虚拟机:ECS,以虚

拟机为单位进行资源,分配同样也是以虚拟机为单位进行资源回收。都说资源不

够。这种粗放的管理的方式会造成严重的资源假缺现象。为什么是假缺使用现象:

因为去看他们的cpu,和内存使用率都是非常非常低的

②、所以我们要解决上面的现象必须要做云原生技术的升级:升级到以容器为单位

的精细化的管理模式从而大大提升资源的利用率:降低资源的成本以及维护资源的

成本。

四、高并发,高可用手段

K8S+SpringCloud+QPS高并发自动伸缩,DevopsAB测试流水线,灰度流水线

度方案中的ingress边缘灰度方案:具有高并发,高可用,而且代码的入侵性很小

容器与镜像的关系

镜像:镜像是只读文件,提供运行程序完整的软硬件资源。

容器:容器是镜像的实例,由docker负责创建,容器之间彼此隔离。

五、什么是云原生

2018年之前的

①、持续交付,持续集成

持续交付:持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模

式,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。最佳实践:

CI/CD,gitlab,Jenkins,流水线pipeline,tekton等

②、DevOps

即开发,运维,体化,涉及软件在整个开发生命周期中的持续开发,持续测试,持

续集成,持续部署和持续监控,最佳实践Git,Jenkins,Barnboo.Docker,Kubernetes

③、微服务

几乎每个云原生的定义都包含微服务:dubbo,springcloud

④、容器

2013年,Docker项目正式发布,2014年,K8S项目正式发布Docker是应用最为广

泛的容器引擎,在思科谷歌等公司的基础设施中大量使用K8S是常用容器编排系

统,用于容器管理,容器间的负载均衡。Docker是容器的时期时代。容器也不一

定是Docker,K8S是大型的容器管理中间件平台

2018年之后的:加了服务网格:云原生的核心就是容器和微服务

①、但是非常特别的是:将服务网格单独列出来,而不是将服务网格作为微服务的

一个子项或者实现模式体现了云原生中服务网格这一个新生技术的重要性而不可变

基础设置和声明是API这两个涉及指导理念的加入,则强调了这两个概念对云原生

架构和影响和对未来发展指导作用。

演进的背景是跨语言的。在分布式场景:用golang,python,不仅仅用java

那么这些不同的语言之间:怎么做操作:

②、把业务代码和基础代码进行解耦:服务治理的代码有服务发现,负载均衡,限

流客户端。这些是在每个微服务里面都要加载的核心组件,在微服务里面更是客户

端组件。

如何做跨语言的交流呢?

①、做个解耦:把服务治理的代码下沉,从业务代码里面剥离出来,服务治理的代

码单独部署,单独弄个进程,业务代码弄个进程;对于容器来说,相当于是部署了

两个容器,但是这两个容器之间可以做到通信,只要保证服务治理的代码和业务代

码的保证协议一致性,所以服务治理的代码可以跨语言

②、用什么语言写业务代码都没关系。我们可以不用像java那样重量级的语言来开

发服务治理,比如用轻量级的go语言来开发,所以说性能也能提升。所以出来了边

车模式:在部署的时候是绑定式的部署

服务网格新时期

服务网格和微服务的本质区别:主要在于单体服务进行业务服务和非业务基础服务

进行解耦

①、非业务基础服务:交给基础框架进行管理和控制

②、非业务基础(sidecar)+服务治理中间件组成一个网络结构,被称之为服务网格

每个容器有两个服务:业务的服务+非业务服务

为啥叫做服务网格,主要从架构层面看起来跟网络很像

如果每一个格子都是一个sidecar数据单元,然后sidecar进行彼此通信,所以这些

单元格组成数据面,这些sidecar数据单元(单元格:rpc,负载均衡;心跳),由统一

的控制/配置中间组件(类似nacos注册中心)进行配置和控制,那些控制组件组成了

控制面。宏观上。服务网格=数据面+控制面

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
11月前
|
运维 Cloud Native 持续交付
云原生应用
云原生应用
|
敏捷开发 运维 Kubernetes
云原生到底是什么?
前言 最近老是看到云原生这个概念,闲暇之余也去了解了一下!看了很多文章,对云原生的解释总是迷迷糊糊,看完云里雾里,经过博主的大量查阅,用我的理解总结一下。
1074 0
云原生到底是什么?
|
Kubernetes Cloud Native Serverless
什么是云原生?聊聊云原生的前世今生
什么是云原生,云原生是在一个怎么样的背景下被提出来的,云原生和传统所说的云计算概念有什么不同?聊聊云原生的前世今生那些事。
2427 0
|
2天前
|
Kubernetes Cloud Native API
云原生系列(五)
云原生系列(五)
|
2天前
|
Kubernetes Cloud Native 调度
云原生系列(八)
云原生系列(八)
|
2天前
|
Cloud Native 调度 数据库
云原生系列(九)
云原生系列(九)
|
2天前
|
Cloud Native Linux 网络安全
云原生系列(二)
云原生系列(二)
|
11月前
|
运维 Cloud Native Devops
云原生应用的特点
云原生应用的特点
|
11月前
|
监控 Cloud Native Devops
云原生应用在那些场景应用广泛
云原生应用在那些场景应用广泛
|
12月前
|
存储 弹性计算 运维
云原生应用有哪些
云原生应用有哪些
195 0