云原生与云原生应用概念解析

news/2024/7/12 2:29:29 标签: java, 数据库, devops

什么是云原生?
云原生(Cloud Native)是由 Pivotal 的Matt Stine在2013年提出的一个概念,是他多年的架构和咨询总结出来的一个思想的集合。

在云的时代,应用会更多的迁移到云端,基于云的架构设计和开发模式需要一套全新的理念去承载,于是云原生思想应运而生。

云原生是面向“云”而设计的应用,因此技术部分依赖于在传统云计算的3层概念(基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)),例如,敏捷的不可变基础设施交付类似于IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直接通过API可以对外提供服务;有些应用通过PaaS服务本来就能组合成不同的业务能力,不一定需要从头开始建设;还有一些软件只需要“云”的资源就能直接运行起来为云用户提供服务,即SaaS能力,用户直接面对的就是原生的应用。

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

概况来说,云原生(Cloud Native)是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。Cloud Native既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。Cloud Native也可以说是一系列Cloud技术、企业管理方法的集合。
云原生更是一个不断丰富的理念和技术体系,它在基础架构、应用程序和管理上都将深刻的影响和改变企业云的未来!

云原生应用
云原生应用是天然适合云特点的应用,云原生应用系统需要与操作系统等基础设施分离,不应该依赖Linux或Windows等底层平台,或依赖某个云平台。也就是说,应用从开始就设计为运行在云中,无论私有云或公有云;其次,该应用必须能满足扩展性需求,垂直扩展(向上和向下)或水平扩展(跨节点服务器)。
CNCF给出了云原生应用的三大特征:

容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。
动态管理:通过集中式的编排调度系统来动态的管理和调度。
面向微服务:明确服务间的依赖,互相解耦。

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

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

编程语言

编写在公司服务器上运行的本地部署应用程序往往使用传统语言编写,如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说。

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


http://www.niftyadmin.cn/n/1745799.html

相关文章

没有会员wps合并多个sheet_WPS隐藏黑科技:合并工作簿再也不用复杂操作了,一键就搞定!...

Hello,大家早上好,这里是芒种学院的「Office 技巧」栏目。合并工作表/工作簿在实际办公中非常常见,被网上的各种VBA代码、PQ、第三方插件等复杂操作折磨得死去火来,其实一直被我们吐槽广告多的WPS已经给出非常便捷地操作。今天芒种…

iPhone Xs/Xs Max的LTE/WiFi信号差遭众多用户吐槽,英特尔基带的锅?

雷锋网(公众号:雷锋网)消息,与往年一样新款iPhone发售之后首批使用者总会报告新设备的问题。iPhone Xs/Xs Max开售后的不到48小时,美国科技新闻网站AppleInsider报道称Verizon旗下大批新iPhone用户遭遇了激活问题,苹果和运营商认为…

linux 总数 进程_linux中如何查看进程总数?

展开全部方法一32313133353236313431303231363533e59b9ee7ad9431333365633935:pstree -p 14686(PID),可获取到nginx的四个子进程(或 ps -ef |grep nginx)cat /proc/15178(PID)/status,其中threads即为线程(即进程)数方法二:ps -eL -o pid,%cp…

javafx如何调节按钮位置_JavaFX桌面应用构建程序框架

看到JavaFX应用很多人都会说JavaFX应用太丑了,确实JavaFX比起Qt、MFC、Delphi这些界面确实丑了一点,但也不是没有可以美化的空间。跟网页一样,单纯HTML不加任何CSS的时候也不是很美观,JavaFX如稍微美化一下还是可以接受的。比如&a…

CanalSharp-mysql数据库binlog的增量订阅消费组件Canal的.NET客户端

一.前言 CanalSharp是阿里巴巴开源项目mysql数据库binlog的增量订阅&消费组件 Canal 的.NET客户端,关于什么是 Canal?又能做什么?我会在后文为大家一一介绍。CanalSharp 这个项目,是由我和 WithLin(主要贡献) 完成&#xff0c…

as debug调试 局部变量不显示值_Go:使用Delve和Core Dump来调试

ℹ️ 本文基于Go Delve 1.4.1core dump(核心转储)是包含程序内存意外终止快照的文件。它用于事后调试以了解崩溃原因和其中涉及的变量。Go提供了环境变量GOTRACEBACK 用于控制程序崩溃时生成的输出。此变量还可以强制生成core dump,从而可以进行调试。GOTRACEBACKGO…

bzoj 3872 [Poi2014]Ant colony——二分答案

题目:https://www.lydsy.com/JudgeOnline/problem.php?id3872 可以倒推出每个叶子节点可以接受的值域。然后每个叶子二分有多少个区间符合即可。 注意一开始的两个点不是直接是 l[ u ]r[ u ]lm !也要看度数的!且把那条边的两个端点分别算子树…

python获取命令行输出_python获取命令行输出结果

#codingutf-8import oscommand ping www.baidu.com #可以直接在命令行中执行的命令r os.popen(command) #执行该命令info r.readlines() #读取命令行的输出到一个listfor line in info: #按行遍历line line.strip(\r\n)print line-------------------------------------…