“云原生”这个词被大量引用,尤其是云服务商。不仅如此,云原生甚至还有自己的基金会:由Linux基金会于2015年推出的云原生应用基金会(CNCF)。

“云原生”定义

在一般用法中,“云原生”是一种构建和运行应用程序的方法,它利用了云计算交付模型的优势。“云原生”是关于如何创建和部署应用程序,和位置无关。 这意味着应用程序位于云中,而不是传统数据中心。

CNCF将“云原生”定义的更为狭窄,意味着使用开源软件堆栈进行容器化,其中应用程序的每个部分都打包在自己的容器中,动态编排,以便每个部分都被主动调度和管理,以优化资源利用率和面向微服务的应用程序,以提高应用程序的整体灵活性和可维护性。

咨询公司Deloitte的董事总经理Mike Kavis说:“云原生应用程序专门设计用于运行现代云计算平台所需的弹性和分布式特性。” “这些应用程序松散耦合,意味着代码不会硬连接到任何基础架构组件,因此应用程序可以按需伸缩,并采用不可变基础架构的抽象。通常,这些架构是使用微服务构建的,但这不是强制性要求。“

云服务提供商Splunk的首席技术支持者Andi Mann表示,对于云原生应用程序而言,最大的不同之处在于应用程序的构建,交付和运维方式。“利用云服务意味着使用敏捷和可扩展的组件(如容器)来提供离散和可重用的功能,这些功能以良好描述的方式集成,甚至跨越多云等技术边界,这使得交付团队可以使用可重复的自动化和编排来快速迭代。”

云原生应用程序开发通常包括DevOps,敏捷方法,微服务,云平台,Kubernetes和Docker等容器,以及持续交付,简而言之,每种新的和现代的应用程序部署方法。

因此,你确实希望拥有平台即服务(PaaS)模型。PaaS不是必需的,但它使事情变得更容易。绝大多数云客户从基础架构即服务(IaaS)开始,这有助于从底层硬件中抽象出他们的应用程序。但PaaS增加了一个额外的层来抽象底层操作系统,因此你可以完全专注于应用程序的业务逻辑,而不必担心进行操作系统调用。

云原生和本地部署应用程序之间的差异

云原生应用程序开发采用与传统企业应用程序完全不同的体系结构。

编程语言

编写在公司服务器上运行的本地部署应用程序往往使用传统语言编写,如C/C ++,C#或其他Visual Studio语言(如果部署在Windows Server平台上)和企业级Java。如果它在大型机上,可能使用Cobol。

云原生应用更有可能以网络为中心的语言编写,这意味着使用HTML,CSS,Java,JavaScript,.Net,Go,Node.js,PHP,Python和Ruby。

可更新

云原生应用程序始终是最新的,云原生应用始终可用。

本地部署应用程序需要更新,并且通常由供应商按订阅提供,并且在安装更新时需要停机。

弹性

云原生应用程序通过在峰值期间增加的资源来利用云的弹性。如果你的基于云的电子商务应用程序使用频繁,你可以将其设置为使用额外的计算资源,直到峰值消退然后关闭这些资源。云原生应用可以根据需要调整增加资源和规模。

本地部署应用程序无法动态扩展。

多租户

云原生应用程序在虚拟化环境中工作,并与其他应用程序共享资源没有问题。

许多本地部署应用程序要么在虚拟环境中不能正常工作,要么根本不工作,必须要非虚拟化环境。

连接资源

本地部署应用程序与网络资源的连接相当严格,例如网络,安全性,权限和存储。其中许多资源需要进行硬编码,如果移动或更改了任何内容,它们就会中断。

“网络和存储在云端完全不同。当你听到“重新平台化”一词时,通常是为了适应网络,存储甚至数据库技术的变化,以允许应用程序在云中运行,“Deloitte的Kavis说。

停止时间

云中存在比本地部署更大的冗余,因此如果云供应商遭受中断,则另一个冗余区域可以消除中断。

本地部署应用程序可能已准备好故障转移,但如果服务器出现故障,应用程序可能会崩溃。

自动化

云计算的大部分都是自动化的,其中包括应用程序管理。 “云原生交付的好处,特别是速度和敏捷性,依赖于可靠,经过验证和经过审核的已知良好流程的基础,这些流程根据自动化和编排工具的需要而不是通过人工干预重复执行,”Splunk的Mann说。工程师应该考虑自动化是不止一次做的任何事情,以实现可重复性,自助服务,敏捷性,可扩展性以及审计和控制。

本地部署应用程序必须手动管理。

模块化设计

本地部署应用程序往往在设计上是单一的。他们肯定会将一些工作卸载到库中,但最终它是一个包含大量子程序的大应用程序。云原生应用程序更加模块化,许多功能分解为微服务。这允许在不需要时关闭它们,并将更新推广到那个模块,而不是整个应用程序。

无状态

云的松耦合特性意味着应用程序与基础架构无关,这意味着它们是无状态的。云原生应用程序将其状态存储在数据库或其他外部实体中,因此实例可以来去,应用程序仍然可以跟踪应用程序在工作单元中的位置。 “这是松耦合的本质。不依赖于基础架构允许和应用程序以高度分布的方式运行,并且仍然保持其状态独立于底层基础架构的弹性性质,“Kavis说。

大多数本地部署应用程序都是有状态的,这意味着它们会在运行代码的基础架构上存储应用程序的状态。因此,在添加服务器资源时可能会破坏应用程序。

云原生的挑战

Mann说,客户犯下的一个重大错误就是试图将旧的本地部署应用程序直接并迁移到云端。 “试图利用现有的应用程序,特别是单一的遗留应用程序 ,并将它们转移到云基础架构上将无法利用必要的云原生功能。”

相反,你应该以新的方式开展新事物,或者将新的云原生应用程序放入新的云基础架构中,或者通过拆分现有的单块应用来从头开始使用云原生原则重构它们。(译者注:这个观点可能有点绝对,迁移到云,至少可以先开始利用云的一些优势,至少能提高资源利用率。对许多组织来说,重构应用程序也基本是不可能的。)

你还需要放弃旧的开发方法。瀑布模型当然不会再用,甚至敏捷开发可能还不够。因此,你必须采用新的云原生方法,如最小可行产品(MVP)开发,多变量测试,快速迭代,以及在DevOps模型中跨组织边界密切合作。

云原生有很多方面,包括基础架构服务,自动化/编排,虚拟化和容器化,微服务架构和可观察性。所有这些都意味着一种新的做事方式,这意味着在学习新方法时打破旧习惯。请以以有节奏的速度做到这一点。

原文链接

https://www.infoworld.com/article/3281046/cloud-computing/what-is-cloud-native-the-modern-way-to-develop-software.html

译者 肖力

新钛云服技术副总裁,十九年运维经验,曾就职盛大、金山。丰富的私有云和运维管理经验,是国内虚拟化实践先驱者和业内知名的虚拟化专家,主导参与G云、西山居以及多个私有云/专享云的建设运维。开源云联盟WG5工作组组长。云技术社区创始人,《深度实践KVM》等书作者。

python原生是什么意思_什么是 云原生?相关推荐

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

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

  2. 【云原生】什么是云原生?如何学习云原生?一篇文章带你了解云原生

    云原生,相信这个名词大家并不陌生:云原生在近期可谓是爆火,伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂.可是现在很多人还是不知道什么是云原生,所以今天 ...

  3. Go语言云原生与微服务(一)云原生架构

    Hello,我是普通Gopher,00后男孩,极致的共享主义者,想要成为一个终身学习者.专注于做最通俗易懂的计算机基础知识类公众号.每天推送Golang技术干货,内容起于K8S而不止于K8S,涉及Do ...

  4. 腾讯云携手信通院启动“云原生开源白皮书”编写,深度解读云原生

    5 月 26 日,由中国信息通信研究院(以下简称"中国信通院")主办的 2021 年"云原生产业大会"在北京召开.作为中国云原生领域的"风向标&quo ...

  5. 什么叫云平台_为什么说云原生会成为未来企业技术变迁的趋势

    云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控.物联网行业对云原生显得"后知后觉".与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的 ...

  6. 云原生应用程序_什么是云原生应用程序?

    云原生应用程序 在六,七年前云计算开始大步向前时,人们苦苦挣扎的重要问题之一是:"如果我想在公共云,私有云或混合云中运行它们,我的应用程序将是什么样子? ? 当时有很多方法可以回答这个问题. ...

  7. 云原生的本质_什么是云原生?云原生和传统软件有什么区别?有什么特征

    云原生 很多人都会问"到底什么是云原生?"."云原生和传统软件有什么区别?". 背景 顾名思义,云原生应用即专门为在云平台部署和运行而设计的应用.云原生能够以可 ...

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

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

  9. 行云创新受邀加入信通院云原生成熟度专家组,开启业内首批云原生技术架构/应用成熟度评估测试

    中国信息通信研究院(以下简称"中国信通院")2021年发布的<中国云原生用户调查报告>数据显示,用户正在将IT建设的中心转向云原生,现阶段已有近10%的用户在云原生领域 ...

  10. 【云原生概念和技术】1.1 云原生的概述

    如果想了解或者学习云原生的友友们,欢迎订阅哦-

最新文章

  1. Spring Cloud Netflix Eureka 配置参数说明
  2. 多重纹理和纹理组合器
  3. 关于HTML Button点击自动刷新页面的问题解决
  4. 三级等保测评,如何通过验收
  5. 三角函数及其之间的关系
  6. Hive应用:选取分隔符
  7. linux下Intel无线网卡驱动安装
  8. 小程序创建搜索记录,获取搜索记录,删除搜索历史
  9. 激励是改善业绩的关键
  10. Java五子棋(2)
  11. 股市知识:ST的股票可以买吗
  12. vue项目实现打印预览、生成(导出)文档功能
  13. 京东2018校招研发笔试题记录
  14. Evernote和有道云笔记的比较
  15. 无限位小写金额转换大写金额(修订版)
  16. python modis数据拼接_Python批处理MODIS_NDVI数据
  17. 消防应急照明和疏散指示系统在某康养中心项目的应用
  18. video.js兼容微信浏览器,(播放.m3u8视频源)解决微信浏览器黑屏问题
  19. 【无人驾驶视觉系列之】3D障碍物检测SMOKE算法调试分析
  20. 分享一个免费chatgpt,无需魔法,无需账号,国内可用

热门文章

  1. 8本好书上新:越忙越要多读书
  2. 两个分数相加(结果最简)
  3. 如何判断计算机网络的好坏,网卡怎么看坏没坏_怎么检查电脑网卡是否坏了-win7之家...
  4. JetBrains下载历史版本(IDEA、PyCharm、WebStorm、PhpStorm等)
  5. 邮箱接爱服务器端口填什么,你了解多少邮件端口及常用邮箱服务器?
  6. AD21四层板导出Gerber
  7. mac电脑运行很卡不流畅,如何给mac提速?
  8. 计算机d级是什么等级,四级口语考试D等级的评分标准是什么
  9. C编译中的语法检查和语义检查
  10. javafx label设置字体大小_JavaFX-实现文本