踏上云原生应用的神奇之旅Ⅲ
为应用交付快速加速
金三银四跳槽季!想要提升云原生方面技能的小伙伴都值得好好读一读!
在过去一年里,Kubernetes以其架构简洁性和灵活性,流行度持续快速上升,我们有理由相信在不远的未来,Kubernetes将成为通用的基础设施标准。(往期回顾:Kubernetes介绍 (qq.com) )
主要内容:
什么是云原生?
云原生的6大关键技术
云原生时代有哪些值得关注的发展趋势?
什么是云原生
云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。
作为面向“云”而设计的应用,开发者在使用时无需考虑底层的技术实现,就可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付。
这种新的技术体系,也是云计算未来的发展方向。
云原生的6大关键技术
容器(Container)
一种轻量级的虚拟化技术,能够在单一主机上提供多个隔离的操作系统环境 ,通过一系列的namespace进行进程隔离,每个容器都有唯一的可写文件系统和资源配额。
容器技术分为运行时和编排两层,运行时负责容器的计算、存储、网络等,编排层负责容器集群的调度、服务发现和资源管理。它也被认为是云原生应用的基石,微服务容器化被作为云原生应用的第一步。
微服务(Microservice )
一种软件开发技术- 面向服务的体系结构架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。微服务架构的分布式系统易于具备敏捷性、弹性、可扩展等方面的优势。
云服务网格(Service Mesh)
一个专门处理服务通讯的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传送。在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务透明。
用于使用代理促进服务或微服务之间的服务到服务通信。专用通信层可以提供许多好处,例如提供对通信的可观察性,提供安全连接,或自动重试和回退失败的请求。
不可变基础设施 (immutable infrastructure)
一种应用于软件服务器和操作的架构范式。当软件服务器需要更新作为代码发布或操作系统补丁的一部分时,服务器会从头开始重新创建,而不是就地修改。
其优点是在基础设施中有更多的一致性和可靠性,以及更简单、更可预测的部署过程。它可以缓解或完全防止可变基础设施中常见的问题,如配置漂移和雪花服务器。
声明式API
指的就是我只需要提交一个定义好的 API 对象来“声明”,我所期望的状态是什么样子,“声明式 API”允许有多个 API 写端,以 PATCH 的方式对 API 对象进行修改,而无需关心本地原始 YAML 文件的内容。
声明式的方式能够大量地减少使用者的工作量,极大地增加开发的效率。
DevOps
Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障部门之间的沟通、协作与整合。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。
随着 DevOps 的兴起,出现了持续集成,持续交付(CI/CD)和持续部署的新方法。持续交付让单个应用随时处于可发布状态,而不用等待与其他变更绑定到一次发布中。
持续交付使得发布变成一个频繁且平常的过程,因此组织可以以更低的风险经常交付,并从最终用户获得更快的反馈,直到部署成为业务流程和企业竞争力的重要组成部分。
云原生时代有哪些值得关注的发展趋势?
踏上云原生应用的神奇之旅Ⅲ(扫码预约直播)
在经历以“设备”为中心的服务器阶段、以“资源”为中心的云化阶段之后,企业数字化转型进程已来到以“应用”为中心的云原生化阶段。
企业数字化转型靠的不是多建机房、多买机器,一定是围绕着业务演进的应用软件变革。软件如果一成不变,甚至还在用十几、二十年前基于“远古技术”开发的成果,是无法匹配数字化转型的大命题的。因此,我们从调研中看到,企业加大自有研发中心建设已经是一个趋势。
但随着企业研发规模的增加,会面临着自有人员知识体系陈旧、易形成更多烟囱、外部新技术引入后管理难等问题。企业急需改变固有的研发模式,形成自有研发体系,降低人力依赖度,提高资源运维效率和生产力。
自主创新的云原生开发运维协同平台可以从以下方面来考虑建设:
标准化模块和 API 构建企业服务市场。
通过标准模块和 API 以搭积木方式构建业务。
结合有代码和低代码方式支撑业务快速构建。
代码、架构图等核心数字化资产的安全管控。
分布式应用一键式灵活交付到多活数据中心。