云原生系列(一)

简介: 云原生系列(一)

一、云原生为何如此重要

①、研发管理效率提升

②、硬件成本极大下降

二、部署流程的三大打通

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

②、打通云原生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注册中心)进行配置和控制,那些控制组件组成了

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

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
运维 Kubernetes Cloud Native
什么是云原生?
云原生(Cloud Native)是一种充分利用云计算弹性和自动化能力的架构理念,核心思想包括以云为中心、模块化与松耦合、自动化运维及弹性容错。其关键技术涵盖容器化(如Docker)、编排调度(如Kubernetes)、微服务和DevOps等。相比传统架构,云原生具备敏捷性、弹性伸缩、高可用性和资源优化等优势,适用于互联网高并发业务、AI/大数据平台及企业转型场景。然而,落地面临技术复杂度高、组织文化转型及安全合规挑战。未来发展趋势包括混合多云管理、智能化运维及WebAssembly等轻量化技术。Gartner预测,到2025年超95%新应用将采用云原生模式开发。
3295 3
|
敏捷开发 运维 Kubernetes
云原生到底是什么?
前言 最近老是看到云原生这个概念,闲暇之余也去了解了一下!看了很多文章,对云原生的解释总是迷迷糊糊,看完云里雾里,经过博主的大量查阅,用我的理解总结一下。
1377 0
云原生到底是什么?
|
机器学习/深度学习 人工智能 PyTorch
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
本文探讨了Transformer模型中变长输入序列的优化策略,旨在解决深度学习中常见的计算效率问题。文章首先介绍了批处理变长输入的技术挑战,特别是填充方法导致的资源浪费。随后,提出了多种优化技术,包括动态填充、PyTorch NestedTensors、FlashAttention2和XFormers的memory_efficient_attention。这些技术通过减少冗余计算、优化内存管理和改进计算模式,显著提升了模型的性能。实验结果显示,使用FlashAttention2和无填充策略的组合可以将步骤时间减少至323毫秒,相比未优化版本提升了约2.5倍。
586 3
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
|
存储 JavaScript 测试技术
github action
github action
248 0
|
弹性计算 运维 监控
敦煌智旅:Serverless 初探,运维提效 60%
SAE 提供了一个开箱即用的 Serverless PaaS 平台,提供了微服务、监控等能力,帮助敦煌智旅很好地解决了发版困难、运维困难、弹性能力不足和资源利用率低等痛点问题。成功实现轻松应对 10 倍突增流量洪峰,运维效率大幅提升。
|
Kubernetes API 调度
在K8S中,简单陈述⼀下K8S架构?
在K8S中,简单陈述⼀下K8S架构?
|
Kubernetes Cloud Native 调度
云原生系列(八)
云原生系列(八)
|
Cloud Native Linux 网络安全
云原生系列(二)
云原生系列(二)
|
运维 Cloud Native 安全
业内首款云原生技术中台产品云原生 Stack 来了!
云原生 Stack 满足了各种典型场景下客户对于线下高集成平台的诉求,让企业数字话转型不受技术约束,专注业务本身,加速企业数字化迭代。
业内首款云原生技术中台产品云原生 Stack 来了!
|
存储 运维 Kubernetes
CNStack 2.0:云原生的技术中台
云原生 PaaS 团队经过长时间的技术和经验积累,历时近半年的研发,创建了 CNStack 2.0 云原生技术中台产品。在接下来的内容里,将分享在 CNStack 2.0产品,架构,研发中主要的设计思想和心得体会。
CNStack 2.0:云原生的技术中台