首页 > 其他分享 >浅谈云原生Cloud Native

浅谈云原生Cloud Native

时间:2023-09-23 21:23:36浏览次数:36  
标签:原生 架构 浅谈 运维 它们 通常 应用 Cloud Native

目录

1.云原生是什么

云原生(Cloud Native)是一种构建和运行应用程序的方法,可以充分利用云计算模型的优势。云原生是一种面向服务的架构(SOA),可以在公有云、私有云和混合云等各种环境中运行。

云原生的核心技术包括容器(如 Docker)、服务网格(如 Istio)、微服务,以及声明式 API。

这些技术使得云原生应用可以有弹性、可管理性和可观察性。与此同时,对应用的开发者来说,这些技术还能提供最大的开发灵活性和维护便利性。

云原生的主要优势包括:

  • 弹性:云原生应用可以根据需要自动扩展或缩小。
  • 可移植性:由于云原生应用通常使用容器进行打包,因此可以在不同的云环境或操作系统中运行。
  • 开发效率:云原生应用通常采用微服务架构,每个服务都可以独立开发、部署和扩展,这大大提高了开发效率。
  • 可维护性:云原生应用的每个部分都可以独立更新和部署,这使得维护和更新变得更加容易。
  • 观察性:云原生应用通常包含了丰富的监控和日志功能,可以帮助开发者和运维人员了解应用的运行状态。

2.云原生与传统软件有什么区别

云原生和传统软件的主要区别在于它们的设计理念、架构、开发、部署和运维方式。

  • 设计理念:云原生应用是为了充分利用云计算的优势而设计的,它们通常采用微服务架构,可以在云环境中自由扩展和缩放。而传统软件通常是为单一的、固定的硬件环境设计的,它们通常采用单体架构。
  • 架构:云原生应用通常采用微服务架构,每个服务都可以独立开发、部署和扩展。而传统软件通常采用单体架构,所有功能都集成在一个大的应用程序中。
  • 开发和部署:云原生应用通常使用容器进行打包和部署,这使得它们可以在不同的云环境或操作系统中运行。而传统软件通常需要为特定的操作系统和硬件环境进行编译和部署。
  • 运维:云原生应用通常包含了丰富的监控和日志功能,可以帮助开发者和运维人员了解应用的运行状态。而传统软件的运维通常更依赖于人工操作。
  • 弹性:云原生应用可以根据需要自动扩展或缩小,这使得它们可以更好地应对变化的业务需求。而传统软件的扩展通常需要人工介入,且扩展的速度和范围受到硬件环境的限制。

3.云原生有哪些代表性的技术

云原生技术主要包括以下几类:

  • 容器技术:如 Docker 和 rkt,它们提供了一种轻量级的虚拟化技术,可以将应用和其运行环境打包在一起,形成一个可移植的容器。
  • 容器编排和管理平台:如 Kubernetes 和 Docker Swarm,它们提供了容器的调度、部署、扩缩容、服务发现、负载均衡等功能。
  • 服务网格:如 Istio 和 Linkerd,它们提供了微服务之间的通信控制、安全、观察性等功能。
  • 函数计算(Serverless):如 AWS Lambda 和 Google Cloud Functions,它们允许开发者只关注代码逻辑,而无需管理运行代码的服务器。
  • 持续集成/持续部署(CI/CD):如 Jenkins、GitLab CI/CD 和 Spinnaker,它们提供了自动化的代码构建、测试和部署功能。
  • 配置管理和自动化运维:如 Ansible、Chef 和 Puppet,它们提供了自动化的配置管理和运维操作。
  • 日志和监控:如 Prometheus、Grafana 和 ELK Stack(Elasticsearch、Logstash、Kibana),它们提供了日志收集、监控和可视化等功能。
  • 云原生存储:如 Rook 和 Ceph,它们提供了在云原生环境中运行的分布式存储系统。

以上这些技术都是构建云原生应用的重要组成部分,它们共同支持了云原生应用的快速迭代、弹性伸缩、容错性、可观察性和自动化运维等特性。

总的来说,云原生是一种更适应云计算环境,更能满足现代软件开发需求的方法。

标签:原生,架构,浅谈,运维,它们,通常,应用,Cloud,Native
From: https://www.cnblogs.com/lanyangsh/p/17725080.html

相关文章

  • SpringCloud-Config配置中心搭建保姆级教程
    一、分布式配置中⼼在使⽤微服务架构开发的项⽬中,每个服务都有⾃⼰的配置⽂件(application.yml),如果将每个服务的配置⽂件直接写在对应的服务中,存在以下问题:1.服务开发完成之后,需要打包部署,配置⽂件也会打包在jar⽂件中,不便于项⽬部署之后的配置修改(在源码中修改——重新打包—......
  • 运行 Knative Serving demo 应用
    创建ns#kubectlcreatensknative-demonamespace/knative-democreated创建应用hello-world.yamlapiVersion:serving.knative.dev/v1kind:Servicemetadata:name:helloworld-gonamespace:knative-demospec:template:spec:containers:......
  • SpringCloud --> 什么是微服务?
    微服务我们可以理解为是一种架构设计风格,就是将一个项目拆分成一个或者多个服务,每个服务都可以单独的运行,而且每个服务都会占用线程。从字面意思上我们可以理解为"微小的服务",我们从微小、服务来理解微小:强调的是单一项目的体积小,一个微服务通常只提供单个业务的功能,一个......
  • SpringCloud-ZipKin搭建保姆级教程
    服务链路追踪一、服务追踪说明微服务架构是通过业务来划分服务的,使⽤REST调⽤。对外暴露的⼀个接⼝,可能需要很多个服务协同才能完成这个接⼝功能,如果链路上任何⼀个服务出现问题或者⽹络超时,都会形成导致接⼝调⽤失败。随着业务的不断扩张,服务之间互相调⽤会越来越复杂,......
  • springCloud
     一、Eureka服务注册与发现 eureka是ap原则,注重服务的可用性(不会挂,只是数据可能会不一致)zookeeper是cp原则,注重数据的一致性(当一个接点挂了,在几分钟内就不能访问了) 一、创建eureka的server服务端1、创建eureka注意pom.xml文件中的spring-boot的版本要与spring-cl......
  • 通过 BigQuery 中的 11 个新链增强 Google Cloud 的区块链数据服务
    【CloudAce 是GoogleCloud全球战略合作伙伴,在亚太地区、欧洲、南北美洲和非洲拥有二十多个办公室。CloudAce在谷歌专业领域认证及专业知识目前排名全球第一位,并连续多次获得GoogleCloud各类奖项。作为谷歌云托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认......
  • Nextcloud使用OCC命令重置密码
    Nextcloud使用OCC命令重置密码  一般来说,可以使用管理员账户来修改密码如果出现了忘记了管理员密码这种糟糕的情况,就只能通过OCC命令或修改数据库的方式来解决了。本文介绍较为方便的使用OCC命令重置密码方式。OCC命令的用法occ命令是ownCloud/Nextcloud的命令行界面......
  • react native 使用 KeyboardAvoidingView 无效
    组件介绍:该组件将根据键盘高度自动调整其高度、位置或底部填充,以在显示虚拟键盘时保持可见。官方文档:KeyboardAvoidingView文档地址遇到的问题:KeyboardAvoidingView标签要设置behavior={Platform.OS==="ios"?"padding":"height"},iOS系统要使用padding否则样式可能......
  • [算法学习笔记] 浅谈二路归并&双指针&归并排序
    二路归并·双指针是一种优化思想。它可以在\(O(n)\)的复杂度下把两个长度为\(n\)的有序数组合并为一个有序数组。它的具体处理方法如下:定义两个长度为\(n\)的升序数组\(a,b\)。,合并完后长度为\(2n\)的数组\(c\),初始化两个指针\(x=y=1\)(这里数组下标从\(1\)开始)......
  • TVP 专家谈腾讯云 Cloud Studio:开启云端开发新篇章
    点击链接了解详情导语|近日,由腾讯云TVP团队倾力打造的TVP吐槽大会第六期「腾讯云CloudStudio」专场圆满落幕,6位资深的TVP专家深度体验腾讯云CloudStudio产品,提出了直击痛点的意见与建议,同时也充分肯定了腾讯云CloudStudio的实力与价值,帮助腾讯云CloudStudio......