为什么云原生会出现

allwit
近年来,一直有接触Cloud Native(云原生),也因为公司产品的原因。起初,我对此概念的确挺不以为然的,觉得没有啥特别的,不还是“云”嘛!之所以我这么认为,是因为公司在几年前在全公司上下推动Cloud Mindset的转型呢!

11.jpg

Cloud-Native

近年来,一直有接触Cloud Native(云原生),也因为公司产品的原因。起初,我对此概念的确挺不以为然的,觉得没有啥特别的,不还是“云”嘛!之所以我这么认为,是因为公司在几年前在全公司上下推动Cloud Mindset的转型呢!

最近,我在阅读一本关于云原生的书《云原生模式》作者:Cornelia Davis。慢慢地,我改变了我的一些看法。接下来,我会以初探云原生为主题,总结关于云原生的方方面面。今天的主要目标是回答为什么云原生会出现。

我们知道做任何事情,都需要一定的动机。那么,云原生出现的动机或者说背景是什么呢?要想回答这个问题,不可回避的,我们先从现代应用程序的需求入手,去理解这个问题。现代应用程序的关键需求有如下方面。

零停机时间(Zero Downtime)

现代应用程序的一个关键需求:它必须始终是可用的。基本上,我们现在上很难容忍应用程序出现短暂不可用情况,尤其我们经常使用应用,比如微信、支付宝等。因为,世界是始终在线的。

缩短反馈周期(Shorten Feedback Loop)

这个要求考验的是频繁发布代码的能力。在激烈的竞争和不断增长的消费者期望的双重驱动下,应用程序更新已经从每月数次发展到每周数次,有时甚至一天数次。让用户感到兴奋毫无疑问是有价值的,但是持续发布新版本的最大动力是降低风险。

移动端和多设备支持

在移动互联网时代,移动端的设备已经无缝地扎根到我们工作生活的方方面面了。此外,用户越来越希望他们的应用体验随时可以从一个设备无缝切换到另一个设备上。正确设计应用程序对于满足这些需求至关重要。核心服务必须能够支持所有为用户提供服务的终端设备,并且系统必须能够适应不断变化的需求。

互联设备(IoT物联网)

互联网不再仅仅将人类与系统连接起来。如今,庞大数量的设备通过互联网连接,使得它们能够被连接的其他实体监控甚至控制,比如传感器、远程控制设备。物联网设备从两个基本方面改变了我们的软件的特性。首先,互联网上的数据流量急剧增加。其次,为了收集和处理这些海量数据,用于计算的基础设施势必发生重大的改变。当计算资源被放在“边缘”位置,即更靠近连接设备时,它会变得更加分布式。数据量和基础架构之间的差异,需要新的软件设计和实践来解决。

数据驱动

根据以上所列的需求,我们应该想到关于数据的一些问题。数据量正在不断增加,数据源分布得更加广泛,而软件的交付周期正在缩短。综上所述,这三个因素使得大型、集中式、共享的数据库变得无法使用。

综上所述,以上所列的现代软件的需求—持续的可用性、频繁发布新版本以实现不断演进、易于伸缩和智能化,都是过去的软件设计和管理系统所无法满足的。这些需求,以及对一个运行这些软件的新平台的需求,直接导致了一种新的软件架构风格的出现,即云原生软件。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论