云原生Cloud Native

  • 概念
  • 历史和特征
  • 云原生和传统的区别

概念

云原生之所以解释不清楚,是因为云原生没有确切的定义,云原生一直在发展变化之中,解释权不归某个人或组织所有。

它是一种构建和运行应用程序的方法,是一套技术体系和方法论。

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

历史和特征

关于特征,也是众口不一,不过也是因为它一直在发展的缘故。

  • Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念;

  • 2015年,云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;

  • 到了2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;

  • 而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器

    • 微服务:微服务架构的好处就是按功能分开之后,服务解耦,内聚更强,变更更易。
    • 容器化:Docker是应用最为广泛的容器引擎,容器化为微服务提供实施保障,起到应用隔离作用。K8S是容器编排系统,用于容器管理,容器间的负载均衡。Docker和K8S都采用Go编写,有人说Go成就了云原生,也有人说云原生成就了Go。
    • DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,实际上应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。
    • 持续交付:持续交付是不停机更新,一反传统的瀑布式开发模型(软件工程学过的),这要求开发版本和稳定版本并存,需要很多流程和工具支撑。

总而言之,符合云原生架构的应用程序应该是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。

云原生和传统的区别

1、本地部署的传统应用可能需要停机更新,而云原生应用应该始终是最新的,需要支持频繁变更,持续交付,蓝绿部署(一种应用发布模式,可将用户流量从先前版本的应用或微服务逐渐转移到几乎相同的新版本中(两者均保持在生产环境中运行))。

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

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

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

参考文档

知乎: 什么是云原生?这回终于有人讲明白了

云原生Cloud Native相关推荐

  1. 到底什么是云原生(Cloud Native)?什么是CNCF(Cloud Native Computing Foundation)

    文章目录 到底什么是云原生(Cloud Native)?什么是CNCF(Cloud Native Computing Foundation) 一.云原生(Cloud Native) 1. 什么是云原生 ...

  2. 华为云视频Cloud Native架构设计与工程实践

    正文字数:7544  阅读时长:11分钟 随着云基础设施服务以及边缘计算技术的发展,Cloud Native,即云原生,架构理念和研发也越来越普及.从传统软件架构,到云原生软件架构的转变,还需要经历一 ...

  3. 经验说丨华为云视频Cloud Native架构下实践

    摘要:来自华为云直播的段亮详细介绍华为云视频在Cloud Native的转型实践中遇到的问题.挑战以及解决之道. 随着云基础设施服务以及边缘计算技术的发展,Cloud Native,即云原生,架构理念 ...

  4. 【线上分享】华为云视频Cloud Native架构及工程实践

    Cloud Native云服务的研发越来越普及,成为每个公司和软件人员的必备技能,然而从主机软件的转型需要经历漫长的过程,并且需要经历一些曲折,才能逐渐走向成熟. 今晚 7:30,我们邀请到了华为云直 ...

  5. Java云原生(Spring Native)开发初体验报告

    不愿关注的朋友,请访问:https://baofeidyz.com/javaspringnative 背景 前段时间在考虑做一款小工具,功能非常简单,调用多个HTTP接口,分析处理返回的数据,生成Ex ...

  6. 【腾讯云峰会 Cloud Native 专场】微票儿的 Cloud Native 实践之路

    导读 在今年腾讯云峰会上,开源技术同样是一大亮点.作为开源技术的集成平台,Cloud Native 专场给各家提供了针对 OpenStack 应用以及背后填坑之路作深度探讨的机会. 此文是微票时代技术 ...

  7. 第五章 云原生与容器技术

    第一节 独角兽成功秘诀 成功秘诀 ·Speed of innovation-天下武功,唯快不破 ·Always-available services-随时.随地可用 ·Web scale-从0到1,快 ...

  8. 云原生时代,.NET5必将称王!

    " 随着互联网持续高歌猛进,相关技术名词也是层出不穷.微服务.容器化.DevOps.ServerLess.FaaS,这两年最火的,当属云原生Cloud Native!当下大部分企业还在追逐微 ...

  9. mysql集群方案对比_MySQL云原生方案在携程开发测试场景中的实践

    一.背景与使用场景 随着Kubernetes平台在容器云计算领域的一统天下,云原生 (Cloud Native) 一词也被提的越来越频繁.各类应用纷纷走上了容器化.云原生化的道路,无状态服务应用在Ku ...

最新文章

  1. django+mysql 配置一系列问题
  2. 关键点检测算法(一)总体介绍
  3. fatal error C1083: Cannot open include file: 'ceconfig.h': No such file or directory
  4. 阿里Java面试题剖析:为什么使用消息队列?消息队列有什么优点和缺点?
  5. Navicat Premium 怎么安装比较快
  6. 3.1_ 5_动态分区分配算法
  7. C++ windows 平台的 Hook
  8. 华科05-03年计算机考研复试机试
  9. [Java] Scanner(new File( )) 从文件输入内容
  10. sysadmin默认密码_从sysadmin过渡到DevOps工程师的案例
  11. mac 重置mysql root密码_MAC重置MySQL root 密码
  12. Oracle中的sequence对象
  13. php验证法则是10位数字,自定义验证规则
  14. 时空旅行+内付费“植物大战僵尸2”下月18日全球同步发行!
  15. uva 10252 - Common Permutation 字符串水题
  16. 谈谈WCF中的Data Contract(2):WCF Data Contract对Generic的支持
  17. android笔记集one
  18. WPF MVVMLight框架安装
  19. 单片机c语言双电源程序,基于单片机的双电源自动切换开关控制器
  20. 第二章 指令:计算机的语言

热门文章

  1. 《lwip学习5》-- lwip一探究竟
  2. MacPorts 安装与使用
  3. 卸载 MacPorts
  4. 在c语言静态存储类别的,在 C语言中,表示静态存储类别的关键字是 ( ) (1.0分)
  5. BI家族又添新军 用户该如何选择??
  6. 睿智(睿金)ETL介绍
  7. VBScript 介绍
  8. Java实现扑克牌自动发牌系统
  9. chown r mysql ._chown -R命令的使用
  10. stm32 adc通道中adc.c文件