加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

云原生才是「吞噬世界」的那条大鱼...

发布时间:2020-02-15 10:35:04 所属栏目:语言 来源:站长网
导读:副标题#e# 过去的一整年里,云原生(Cloud Native)无疑是云计算领域最热的热点。但一年过去了,到现在位置仍然很少有人能说清到底什么是云原生,网上的科普也都是写的云里雾里,看完仍然是似懂非懂... 这期的「SFKP 计算机百科」,我们就来尝试着理清云原生

持续交付(英语:Continuous delivery,缩写为 CD),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

持续交付的常见体现就是在不影响用户使用服务的前提下,频繁把新功能发布给用户使用。

要做到这点非常非常难,一般的要求是做到不误时开发、不停机更新,这就要求开发版本和稳定版本并存,需要很多流程和工具支撑。

有时候,持续交付也与持续部署混淆。持续部署意味着所有的变更都会被自动部署到生产环境中。持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。

如果要实施持续部署,必须先实施持续交付。

云原生和本地部署的区别

云原生才是「吞噬世界」的那条大鱼...

了解了云原生的概念,我们再来看看云原生和本地部署的区别。

真正的云化不仅仅是基础设施和平台的变化,应用也需要做出改变,在架构设计、开发方式、部署维护等各个阶段和方面都基于云的特点,重新设计,从而建设全新的云化的应用,即云原生应用。

这里,我们引用阿里巴巴高级技术专家酱油(花名)发表的一篇文章中的分析:

本地部署的传统应用往往采用 C/C++、企业级 Java 编写,而云原生应用则需要用以网络为中心的 Go、Node.js 等新兴语言编写。

本地部署的传统应用可能需要停机更新,而云原生应用应该始终是最新的,需要支持频繁变更,持续交付,蓝绿部署。

本地部署的传统应用无法动态扩展,往往需要冗余资源以抵抗流量高峰,而云原生应用利用云的弹性自动伸缩,通过共享降本增效。

本地部署的传统应用对网络资源,比如 IP、端口等有依赖,甚至是硬编码,而云原生应用对网络和存储都没有这种限制。

本地部署的传统应用通常人肉部署手工运维,而云原生应用这一切都是自动化的。

本地部署的传统应用通常依赖系统环境,而云原生应用不会硬连接到任何系统环境,而是依赖抽象的基础架构,从而获得良好移植性。

本地部署的传统应用有些是单体(巨石)应用,或者强依赖,而基于微服务架构的云原生应用,纵向划分服务,模块化更合理。

可见,要转向云原生应用需要以新的云原生方法开展工作,也就是我们在概念中提到的:微服务、容器、DevOps 和持续交付等。

「吞噬世界」的云原生

云原生才是「吞噬世界」的那条大鱼...

这个图大家一定熟悉又陌生。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读