背景介绍

相信提到云计算,大家一定都不陌生。自2006年谷歌提出云计算概念以来,云计算已经进入到第十六个年头。在这期间,包括亚马逊、微软、谷歌、阿里巴巴、腾讯、华为、百度等在内的全球科技巨头均纷纷下场参与这场竞争。与此同时,也诞生了一批UCloud、青云这样的科创上市企业。

在历经多年发展后,云原生被认为是云计算的下一个未来。去年9月,一家名为Snowflake的云原生数据仓库厂商上市,当天市值即涨破700亿美元,一举成为软件史上最大IPO。随着云计算平台的成熟和分布式框架的普及,越来越多厂商开始考虑向“云原生”升级。简而言之,应用程序从诞生之初就在云上,可以直接在云平台上运行或非常轻松的迁移到云平台。

为什么云原生如此受追捧?一个易于理解的原因是,尽管企业的服务器已经“上云”,但随着需要运转的数据量越来越大,这个过程中底层的资源包括存储、算力以及网络带宽加在一起负荷也更高,如果资源不能充分最大化,那对企业来说会是极大的负担。

云原生的优势在于,开发者无需考虑底层的技术实现,就能够精细地控制底层资源,所有算力能够自动启停、伸缩,自动且快速地响应业务,做到资源最大化利用,节约成本,且具备业务持续性。这个优势在疫情期间十分明显,即“需要时可以用很多,不需要时也不会产生大量浪费。”

云原生的概念

那么到底什么是云原生呢?

一句话总结云原生:运用容器、函数计算和数据构建下一代应用。云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生的英文是CloudNative,意思是Cloud+Native。在华为开发者社区看到这样的表述:

Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

鲍里斯等人在《云原生》一书中,对云原生是这么理解的:云原生指的就是那些从服务诞生日起就在云端的服务。云原生应用本质上是分布式的,充分利用了云基础架构的特性。“构建一个云原生应用有很多不同的技术和工具,从计算的角度来看主要有两个,一个是容器,一个是函数计算。从架构的角度来看,微服务架构已经收到了很多人的欢迎。这几个术语经常被混淆,但事实熵,函数计算和容器是不同的技术,他们的功能也是不一样的,而微服务则描述了一种架构风格。”

也就是说,理解了如何利用好函数计算和容器技术,配合事物通知和消息通信相关技术,开发者们就可以最有效和快速地构建下一代基于为服务架构的云原生应用。

如何入门云原生?

云原生入门可能遇到的三个主要挑战
首先,需要懂分布式系统;
其次,需要学习新的技术,比如容器和函数计算;
最后,还需要掌握构建云原生应用的正确方法。

针对这两部分内容,我做了如下的思维导图。总结了什么是云原生应用和云原生所需的重要技术两大问题。
图是用xmind画的,现在比较坑的是,这个软件需要买会员了。不买就会有水印,所以大家将就着看吧:
在这里插入图片描述

更多推荐