当前位置: 首页 > news >正文

什么是云原生?有哪些发展方向?终于有人讲明白了

导读:Cloud Native:云原生。我们今天一起来聊一下,到底什么是云原生?以及这个领域的一些发展方向。此文来自陈耿老师的视频文字整理。(视频见文末)

作者:陈耿

来源:大数据DT(ID:hzdashuju)

01 什么是云原生


到底什么是云原生?不同的企业对于云原生有不同的解释,当前在业界具有广泛影响力的云原生计算基金会(Cloud Native Computing Foundation, CNCF)认为,云原生是一类技术的统称,通过云原生技术,我们可以构建出更易于弹性扩展的应用程序。

这些应用可以被运行在不同的环境当中,比如说私有云、公有云、混合云、还有多云的场景。

云原生到底包含了哪些具体的技术呢?它包含了当前业界的一些热门的技术,比如容器、微服务、服务网格、Serverless、DevOps,API管理、不可变基础架构等。

通过云原生技术构建出来的应用程序,称之为云原生应用,底层基础架构的耦合比较轻,因此易于迁移,它可以充分地利用云所提供的能力,因此云原生应用的开发、部署、管理相对于传统的应用程序更加高效和便捷。

02 云原生计算基金会(CloudNative Computing Foundation, CNCF)

云原生计算基金会(Cloud Native ComputingFoundation, CNCF)成立与2015年12月11日,由谷歌与Linux基金会联合创办,成立这个非盈利组织的初衷为推广孵化和标准化云原生相关的技术:

  • 推动云原生计算可持续发展;

  • 帮助云原生技术开发人员快速地构建出色的产品。

CNCF成立最初只有十多家创始成员,包含谷歌、IBM、Red Hat、VMware……经过几年的发展,目前CNCF已经有超过300个会员,涵盖国内外的知名IT厂商,包括微软、亚马逊、苹果、阿里巴巴、华为等,发展地十分迅速。

云原生涉及到许多技术领域,每一个技术领域都有相应的工具、框架与平台,来帮助落地具体的应用。

CNCF维护了一个云原生技术全景图,在其中收集了和云原生技术相关的工具、平台和项目,全景图的内容十分丰富,可谓种类繁多、琳琅满目。通过这个云原生全景图可以快速地了解到每一个技术领域当中流行的工具。

03 云原生的作用

对于应用开发团队而言,原来云原生技术可以提升应用开发的效率,提升应用交付的质量。比如通过容器,技术开发团队可以更容易地获取开发所需要的环境与资源,开发出来的应用可以被运维团队更容易地部署和管理。通过DevOps的最佳实践,应用交付的速度和质量可以被有效的提升。

对于业务方来说,云原生的好处是所提交的需求,可以更快地被响应和实现。因为云原生技术可以有效地缩短应用交付的周期,让需求更快地变成代码,代码更快地变成线上的应用,最终为用户服务,实现价值。

云原生应用可以更好地弹性扩展,满足不同业务的需求。例如容器应用提供的应用自愈能力,可以帮助减少应用的停机时间提升用户的体验。

云原生技术可以提升应用开发的交付效率,缩短应用上线所需要的时间,开发和业务团队人员可以有更多的时间和精力进行业务创新,有效地提升团队的创新能力,从而提升企业在市场的竞争能力。

04 如何拥抱云原生技术

经过几年的发展,云原生这个概念已经得到了社区、企业和市场的广泛认可。从当前比较热门的云原生技术、容器来看,云原生已经在众多行业和领域,有了许多落地的案例,包括高科技、金融、制造、零售、教育、政府,甚至是军事等。

近日有报道称美军在f16战斗机上,成功地测试和部署了容器管理平台Kubernetes和服务网格Istio。

当一个企业拥抱云原生技术,具体要在什么方面来落实?CNCF有一个建议的技术路线图。这个图上列出了10个方面,比如说通过应用容器化,使得应用更易于迁移的交付,通过持续集成的区域部署提升云原生软件的质量,通过容器编排简化应用的部署。

05 云原生适合大企业还是小企业

大企业疑问,云原生是不是只适合一些小企业?小企业觉得云原生是不是只适合成熟的大企业?其实云原生对大企业、小企业都有帮助。

对于有着数字化转型战略和上云计划的大企业来说,云原生可以充分地利用云的优势,让企业在云上的投资获得最大的收益。

对于较小企业来说,通过云可以获取以往只有大企业才拥有的计算资源,小企业由于人员、财力等资源相对紧张,通过云原生技术倡导自动化和智能化的想法,可以提升产品开发的交付效率,把有限的精力放在核心业务的创新上,可以让企业更具竞争能力。

云原生涉及的技术领域众多,有6个方面值得大家重点关注。

1. 容器(Containers)

容器是一种轻量级的虚拟化技术,通过容器可以简化应用的部署、管理和交付。目前各大IT厂商已经投入了大量的资源进行容器产品和服务的研发,可以预见,未来容器将会是一种主流的应用交互手段,非常有前景。

2. 微服务(Microservices)

微服务倡导运用化整为零,实现各个功能的独立开发与部署、提升应用架构的灵活性,从而提升对业务的响应速度。在提倡敏捷的今天,微服务已经成为应用架构的一种默认的选择。

3. 无服务(Serverless)

无服务器架构并不是说,未来不再需要服务器,而是不再着重关注底层的基础架构,更多的注意力可以放在和业务更相关的一些逻辑实现上,例如一些函数的代码片段,平台自动根据负载按需部署和启动,以及自动伸缩代码逻辑来满足业务处理的需求。

4. DevOps

DevOps这个框什么都可以往里装,提供了指导思想、流程和工具,为应用的迭代更新保驾护航,运维行业的未来之路。

5. Service Mesh(服务网格)

Service Mesh是近年兴起的一个话题,在容器微服务的基础上,通过Service Mesh可以让用户更精细、更智能的去管理服务之间的通讯。ServiceMesh社区的旗舰项目Istio,当前的热度正在迅速的飙升。

6. 云(Cloud)

云是云原生的基础,没有云也就没有云原生。没有对云正确地理解,也不可能对云原生有正确的打开方式。对于非技术人员来说,至少要理解云的多种不同的服务模型,比方IaaS、PaaS、SaaS以及各种服务模型的应用场景和价值。

容器(Containers)、微服务(Microservices)、无服务(Serverless)、DevOps、ServiceMesh(服务网格)、云(Cloud)这6个方面,并不是孤立的,而是相互联系的。

  • 云是一切的基础,为上层应用的运行提供了计算、网络、存储等基础架构资源;

  • 容器在云的基础架构和应用之间,集有了应用和基础架构资源;

  • 应用层面,用户可以根据场景来选择微服务架构或者是无服务器架构;

  • 在复杂的交互场景当中,通过服务网格,可以对服务组建的通讯进行管控;

  • 通过DevOps构建一个应用架构不断迭代更新的正向循环。

06 云原生与开源

最后,基于过去几年推广开源软件和解决方案的工作习惯,和大家强调一下云原生和开源的关系。目前云原生领域的大部分关键技术,例如容器引擎、容器编排Kubernetes、服务网格Istio,都来自于开源社区。

开源社区是云原生技术的创新根据地,因此企业拥抱云原生技术的过程,也是拥抱开源社区的一个过程。在不久的未来,经过云原生浪潮之后,IT企业当中的技术堆栈里面,开源软件的比例将会大幅提升,这将给市场提供许多新的机遇。

附视频:何谓云原生?如何走近云原生?????

关于作者:陈耿(NicholasChen),架构师、技术男、IT宅,微软全球黑带团队云原生技术专家,红帽中国OpenShift团队技术专家,开源社区云原生技术忠实粉丝,著有《开源容器云OpenShift》《深入浅出Serverless》。

延伸阅读《深入浅出Serverless》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:汇聚了作者陈耿在Red Hat和微软等云计算公司的实践经验,得到了来自阿里、腾讯、微软等一线云计算公司技术专家的好评和推荐。不仅详细介绍了Serverless的技术原理、应用架构,以及与之相关的各种技术主题,而且深入讲解了公有云和私有云下各种主流Serverless平台、架构和工具的原理、架构和使用细节。

延伸阅读《OpenShift云原生架构:原理与实践》

推荐语:本书由IBM官方专家亲自推荐,深入剖析OpenShift架构设计、实现原理、集群的部署和运维,以及基于PaaS平台的数字化转型。深度讲解基于OpenShift的云原生架构,为以微服务、DevOps、ServiceMesh、Serverless和Spark为核心构建企业云原生技术平台提供详尽指导。


扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 8月书讯(上)| 这些新书不可错过

书讯 | 8月书讯(下)| 这些新书不可错过

资讯 | 零售业电商标签从0到1的构建方法

书单 | 秋招、考研、金九银十跳槽季,打好基础让你起飞!(这里有一份导图和书单值得收藏)

干货 | 90 岁程序员:他的压缩算法改变了世界!

收藏 | pandas 筛选数据的 8 个神操作

上新 | 【新书速递】CSO进阶之路首次曝光

赠书 | 【第69期】如何做顶级“新生代农民工”?这几本书为你打开大门

点击阅读全文购买

相关文章:

  • 10本书,帮你看清未来的科技趋势
  • InnoDB是如何存数据的?
  • 大咖对话 | 企业数字化转型破局之道
  • 学习微服务最好的方式:阅读《微服务架构设计模式》
  • 憧憬6G,共同定义6G
  • 14个Pandas神操作,手把手教你写代码
  • 【第70期】终于找到了!AI学习路线图——从零基础到就业
  • 架构大咖说丨顶级架构师 = 技术大牛?
  • 什么是Serverless?有哪些应用?终于有人讲明白了
  • Linux30岁生日:Linux 成功的真正原因
  • 【新书速递】“帆船书”——数据库领域殿堂级作品,全新升级第7版!
  • 送你一份入门前端学习路线图
  • 详解SQL中几种常用的表连接方式
  • 《数据安全法》,对所有互联网公司的大考,该如何应对?
  • 【第71期】破案了!库里为何会花18万美元买一个猴子头像?
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Angular 2 DI - IoC DI - 1
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • magento 货币换算
  • vuex 学习笔记 01
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 两列自适应布局方案整理
  • 聊聊sentinel的DegradeSlot
  • 扑朔迷离的属性和特性【彻底弄清】
  • 强力优化Rancher k8s中国区的使用体验
  • 思维导图—你不知道的JavaScript中卷
  • 学习HTTP相关知识笔记
  • 在electron中实现跨域请求,无需更改服务器端设置
  • PostgreSQL之连接数修改
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (分布式缓存)Redis分片集群
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)一些感悟
  • (转载)OpenStack Hacker养成指南
  • *Django中的Ajax 纯js的书写样式1
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core webapi 大文件上传到wwwroot文件夹
  • /var/spool/postfix/maildrop 下有大量文件
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ 数据结构 - C++]红黑树RBTree
  • [BeginCTF]真龙之力
  • [BT]BUUCTF刷题第8天(3.26)
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C# 网络编程系列]专题六:UDP编程
  • [C#]winform部署yolov5-onnx模型