文章目录

  • 前言:云原生是什么?
  • 日薄西山:传统的软件开发模型?
  • 后起之秀:云原生为什么被需要?
    • 云原生的发展背景
    • 云原生的发展构成
      • 微服务
      • DevOps
      • 持续交付
      • 容器化
    • 总结

声明:本文为《阿里云云原生架构核心技术白皮书》的一些读书笔记与感想。

一文大致了解云原生架构模式特点传送门:五分钟了解云原生的架构模式

前言:云原生是什么?

声明:本文是阅读阿里云云原生架构核心技术白皮书的一些读书笔记与感想。

云原生架构是一种创新的软件开发方法,专为充分利用云计算模型而设计。它使组织能够使用微服务架构将应用程序构建为松散耦合的服务,并在动态编排的平台上运行它们。因此,基于云原生应用程序架构构建的应用程序是可靠的,可提供规模和性能,并缩短上市时间。

有人会说,云原生就是微服务,我觉得是不对的。云原生和微服务是两个不同维度的东西。 云原生更侧重应用程序的运行环境, 它是以k8s和容器为基础的云环境。“云原生计算基金会”致力于打造一整套工具来帮助应用程序从开发,测试,运行以及部署到云环境。

微服务是应用程序的软件架构,可以是单体式和微服务式。 微服务是基于分布式计算的。 你的应用程序即使不采用微服务架构也可以是云原生的,例如分布式的,但效果没有微服务好。 如果是单体式的,云原生就基本发挥不出什么优势。 另外微服务的程序也可以不是云原生的。它们虽然是两个不同的东西,但云原生和微服务是天生良配,相得益彰,相辅相成。 而且很多云原生的工具都是针对微服务架构设计的。

当然,更合适的方式是可以说现代应用程序的趋势就是"微服务+云原生"。因为云原生的几大特征就是:容器化封装管理、服务编排、微服务架构、持续交付、DevOps。

日薄西山:传统的软件开发模型?

传统的软件开发环境依赖于由单体架构驱动的所谓“瀑布”模型,其中软件是按顺序开发的。

1、设计师准备产品设计以及相关文件。
2、开发人员编写代码并将其发送给测试部门。
3、测试团队运行不同类型的测试来识别错误并衡量云原生应用程序的性能。
4、发现错误时,会将代码发送回开发人员。
5、代码成功通过所有测试后,将部署到测试生产环境并部署到实时环境。


如果对于传统的设计架构来说,一旦需要更新代码或添加/删除功能,则必须重新完成整个过程。当多个团队在同一个项目上工作时,相互协调代码更改是一个很大的挑战。它还限制他们使用单一的编程语言。此外,部署大型软件项目需要建立庞大的基础架构以及广泛的功能测试机制。整个过程效率低下且耗时。

引入了微服务架构则可以解决大多数这些挑战。微服务架构是一种面向服务的架构,其中应用程序构建为松散耦合的独立服务,可以通过 API 相互通信。它使开发人员能够处理不同的服务并独立使用不同的语言。借助充当版本控制系统的中央存储库,组织能够同时处理代码的不同部分并更新特定功能,而不会干扰软件或导致应用程序停机。此外,实施自动化后,企业可以轻松、频繁地进行具有重大影响的更改。

后起之秀:云原生为什么被需要?

云原生的发展背景

抛去上述的传统架构设计弊端不说,计算机技术架构的进化有两大主要驱动因素,一个是底层硬件升级,另一个是顶层业务发展诉求。

正如伴随着 x86 硬件体系的成熟,很多应用不再使用昂贵、臃肿的大中型机,转而选择价格更为低廉的以 x86 为主的硬件体系,也由此诞生了包括EJB、RPC 在内的各类分布式架构;后由于互联网业务飞速发展,人们发现传统 IOE 架构已经不能满足海量业务规模的并发要求,于是又诞生了阿里巴巴 Dubbo & RocketMQ、Spring Cloud 这样的互联网架构体系。

云计算从工业化应用到如今,已走过十五个年头,然而大量应用使用云的方式仍停滞在传统 IDC 时代:虚拟机代替了原来的物理机:使用文件保存应用数据,大量自带的三方技术组件,没有经过架构改造(如微服务改造)的应用上云,传统的应用打包与发布方式等等。对于如何使用这些技术,没有绝对的对与错,只是在云的时代不能充分利用云的强大能力,不能从云技术中获得更高的可用性与可扩展能力,也不能利用云提升发布和运维的效率,是一件非常遗憾的事情。

所以,数字化转型的十年,云计算高速发展的十年,这期间新技术不断演进、优秀开源项目大量涌现,云原生领域进入“火箭式”发展阶段。通过树立技术标准与构建开发者生态,开源将云计算实施逐渐标准化,大幅降低了开发者对于云平台的学习成本与接入成本。这都让开发者更加聚焦于业务本身并借助云原生技术与产品实现更多业务创新,有效提升企业增长效率,爆发出前所未有的生产力与创造力。

在未来,云计算将无处不在,像水电煤一样成为数字经济时代的基础设施,云原生让云计算变得标准、开放、简单高效、触手可及。如何更好地拥抱云计算、拥抱云原生架构、用技术加速创新,将成为企业数字化转型升级成功的关键。

云原生的发展构成

云原生从字面意思上来看可以分成云和原生两个部分。云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。

原生就是土生土长的意思,开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。

微服务

微服务解决的软件开发中一直追求的低耦合+高内聚,微服务的本质是把一块整体项目分成若干块低耦合的小型服务,比如一个服务A专门负责接收外部的数据,一个服务B专门负责响应前台的操作,服务A和B可以进一步拆分,比如负责接收外部数据的服务可以继续分成多块负责接收不同类型数据的服务A2,这样如果其中一个服务出问题了,其它服务还能正常对外提供服务。

DevOps

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

持续交付

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

容器化

容器化的好处在于运维的时候不需要再关心每个服务所使用的技术栈了,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护,现在比较流行的工具是docker和k8s。

总结

综上所述可以简单地把云原生理解为:云原生 = 微服务 + DevOps + 持续交付 + 容器化。

云计算的下一站,就是云原生;IT 架构的下一站,就是云原生架构 。

【云原生-白皮书】简章1:为什么我们需要云原生架构?相关推荐

  1. 华云数据出席2021信创发展论坛:喜获信创双项殊荣 发布业内首个《信创云基座白皮书》

    12月19日,由华信研究院主办,<中国信息化>杂志社承办的2021信息技术应用创新发展论坛在北京顺利召开.中国工程院院士.信创专家委副主任委员沈昌祥,电子工业出版社总编辑兼华信研究院院长刘 ...

  2. 电信行业云原生白皮书

    随着云原生理念的推广与技术的不断丰富,云原生已经进入成熟阶段.当前云原生引领数字化转型升级已成为趋势,在人工智能.大数据.边缘计算.金融等领域崭露头角.云原生技术(例如:容器.微服务.DevOps等) ...

  3. 阿里云技术白皮书_阿里云最新大作云原生架构白皮书解读

    简介:云原生的变革已经势不可挡,他带来的不止是技术革新,同时也是组织架构和商业模式的变革,随着类似OAM这样的云原生标准化应用分发的建立,云原生时代的操作系统将逐渐浮现于世 "云原生&quo ...

  4. 中国芯片设计云技术白皮书2.0发布

    来源:摩尔精英 作为行业内专业的IT/CAD技术服务团队,摩尔精英IT/CAD事业部曾于2019年11月21日的南京ICCAD大会上发表的<芯片设计云计算白皮书1.0>中,初步探索了基于公 ...

  5. 云原生生态周报 Vol. 8 | Gartner 发布云原生趋势

    业界要闻 Gartner 发布云原生基础设施未来的八大趋势:权威分析机构 Gartner 在对 2020 年技术趋势的展望当中指出:"预计2020年所有领先的容器管理软件均内置服务融合技术, ...

  6. 说出你和「云原生」的故事,获得年度云原生顶级盛会通行证

    2021 年 12 月 9 日,阿里云即将携手 10+ 位云原生领域一线技术专家亮相年度最顶级的云原生开源技术峰会-- KubeCon + CloudNativeCon + Open Source S ...

  7. 阿里云开源PolarDB数据库,与社区共建云原生分布式数据库生态

    简介:5月29日,阿里云开发者大会上,阿里巴巴宣布开源云原生数据库能力,对外开放关系型数据库PolarDB for PostgreSQL 源代码,服务百万开发者,与社区开发者一起共建云原生分布式数据库 ...

  8. 开放下载!《阿里云存储白皮书》全面解读阿里云存储二十年的技术演进

    简介:这本<阿里云存储产品及应用白皮书>通过对市场和行业的分析,存储产品矩阵的总结,典型解决方案实践的介绍和存储技术的总结,展示了我们是如何执行阿里云的战略方针,如何践行存储的立身之本.期 ...

  9. rds数据加密_如何保障云上数据安全?一文详解云原生全链路加密

    导读:对于云上客户而言,其云上数据被妥善的安全保护是其最重要的安全需求,也是云上综合安全能力最具象的体现.本文作者将从云安全体系出发,到云数据安全,再到云原生安全体系对全链路加密进行一次梳理,从而回答 ...

最新文章

  1. RIP协议的基本配置(1)
  2. Linux 下 Redis 安装详解
  3. 进程通信之二 管道技术第二篇 匿名管道
  4. MyBatis-20MyBatis高级结果映射【一对一映射(4种方式)】
  5. 英文翻译_科研论文英文翻译时需注意的事项及一些对策
  6. JavaScript 中最​​重要的保留字
  7. [css] 用css画出一个圆圈,里面有个对号
  8. hadoop day 6
  9. Unable to resolve target 'android-7'
  10. 二分搜索,欧几里德算法
  11. java nmap集成_nmap为了开发方便 可以做简单的修改
  12. C#WPF多线程控件访问问题
  13. Linux安装Nvidia显卡驱动
  14. ros_arduino_bridge功能包集的使用
  15. 造数神器mocker带你10分钟完成千万级别数据量的造数能力-高级用法篇
  16. 立志让国内用户不再依赖国外DLP技术 天空卫士发布UCS新品
  17. go实现零停机重启和代码升级endless
  18. 12306快手,初始版本发布。匆忙写了个,不喜勿用
  19. 【python】字符串string的截取;获取字符串内的一串
  20. 微信公众号实现淘宝查券机器人

热门文章

  1. Bonjour Network设备之间通讯的理解
  2. oracle发布会,浪潮K-DB自由起航 发布会花絮盘点
  3. 在python中、整数的十进制不能以0开头_Python关于int整数数据类型在使用介绍
  4. swift perfect mysql_Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)...
  5. Lancet Neurology:脑成像在评估癫痫手术中的作用
  6. 基于51单片机《按键控制流水灯》
  7. Numpy模块的学习(下)
  8. 积水的城市(SPFA)
  9. Docker 镜像构建之 Dockerfile
  10. element dialog的z-index与element-select组件下拉菜单的z-index同值,导致第一次点击时下拉菜单不可见