【cfeng work】什么是云原生 Cloud Native

这篇具有很好参考价值的文章主要介绍了【cfeng work】什么是云原生 Cloud Native。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WorkProj


本文introduce 云原生 Cloud Native相关内容


随着技术的迭代,从最初的物理机—> 虚拟机,从单机 —> 分布式微服务, 现在的热门概念就是云☁(cloud), 云原生,云计算,云服务,云主机,云…, cfeng在work接触的全部就是云☁,所以借此分享一下个人对于云原生的理解

Cloud Native,服务围绕Cloud, 而程序设计之初就Native是考虑云, 充分发挥云平台的弹性和分布式优势

以前企业的服务基本都是直接部署在公司的物理机上面,单机架构,所以性能不好,一个应用可能就一台服务器, 随着云计算的普及, 应用一般都会上云,慢慢就出现了云原生

【cfeng work】什么是云原生 Cloud Native

云原生

云原生最早由Pivotal的Matt Stine提出,值得一提的是,云原生与微服务类似,不是特指某种技术,而是一种思想

云原生技术有利于各组织在公有云、私有云和混合云等新型环境中构建和弹性扩展应用, 代表技术包括容器、服务网格、微服务、不可变基础设施、声明式API

生于云,长于云

云原生应用 通常采用了DevOps、CICD、微服务和容器技术

【cfeng work】什么是云原生 Cloud Native

云原生应用

采用云原生思想构建的应用,云原生应用能够部署在不同的环境中(环境无关),具有一定的可扩展性、容错性和可观察性(云操作)、应为松耦合的分布式系统(微服务)、大量技术支撑云原生应用。(常见docker、k8s、jenkins + git仓库…)

云原生应用运行的云环境可以构建在主流的PaaS和IaaS, 与k8s等容器技术结合【并不是发明新技术】

主流观点认为,云原生的四要素为

  • 微服务: 云原生定义包括微服务,组织架构决定产品形态【服务编写语言可不同】 比如一个用python、另外一个用go、java都可以
  • 容器化: 主要就是为了让应用部署在不同的环境,常见docker (容器)+ k8s(容器编排系统)
  • DevOps: Dev & Ops 开发运维一体化,这个dev应为开发 + 测试(maybe), 尽可能降低应用开发完成 ----> 部署成功之间的流程, 所以应当使用相关的流水线技术实现【一键部署】
  • 持续交付 : 一种开发思想,区别于传统的瀑布开发模型,不误时开发,小步快跑,【开发版本和稳定版本并存】 — 这个只要长期维护一般都是,支持频繁更新

云原生不只是简单的服务上云,而是Native就考虑云,更好利用云

云原生对基础设施要求较高,不只是云平台,周边生态亦是,java中Spring Cloud可以让基于Spring 开发的应用快速满足弹性、可伸缩、高可用等多项要求

对于非spring cloud、java应用,对应的概念就是将应用SDK剥离到独立的side Car(系统独立运行进程)中, 比如Envoy, 最流程的服务网格的试下Istio就依赖Envoy

ODCA发表的云上应用成熟度模型:

  • 虚拟化: 应用可以运行在不同的环境 【通过镜像实现】
  • 松耦合: 应用和底层设施分离,比如【应用程序和数据库分离,应用程序和文件存储分离】
  • 抽象化: 运行环境抽象、相关流程也需要抽象 【部署、弹性扩容】 — 服务无状态且容灾
  • 适应性: 自动适应各种环境变化、自动弹性伸缩…

十二要素应用

十二要素应用指的是云上运行应用遵守的12条最佳实践

  • 基准代码: 一份基准代码,多份部署 【就是代码的版本管理做好】, 因为实际开发对应多中环境,像dev、sit、uat、灰度、生产,可能应用的版本号不同的
  • 依赖 : 显式声明依赖关系, 比如java中使用maven, 环境依赖放在dokcerFile
  • 配置 : 在环境中存储配置; 对于java来说,项目yaml中配置项做成变量的形式,之后在环境中配置这些变量,不在代码中控制【当然可以利用Spring Cloud的Nacos云配置】, 比如可以配置在Potainer或者k8s中
  • 后端服务: 后端服务当作附加资源,这个后端服务指的是服务依赖的服务,比如数据库、消息队列等,最好能够做到松耦合,比如改一个配置,就启用了不同的组件, work中出现的信创生态的国产化组件替换就体现了该思想
  • 构建、发布、运行: 严格分离构建和运行, 就是说流程应当严格遵守,不能说打包之后在包里面修改
  • 进程: 以一个或者多个无状态进程运行应用 【主要就是无状态,不同进程内存由不同内容不符合要求,最好就是分布式的缓存】
  • 端口绑定: 通过端口绑定提供服务 ; 比如docker构建,通过端口就能访问服务
  • 并发: 通过进程模型进行扩展; 比如部署集群多节点方式进行水平扩展【无论是同一台机器启动更多进程,还是Kubernetes集群启动更多Pod】— 依赖于无状态
  • 易处理: 快速启动、终止的最大化健壮性 【物理宕机等通过各种手段降低故障】
  • 开发环境与线上环境等价: 尽可能保持开发环境与线上环境等价 【==cfeng咋work时就有由于不等价造成的问题】, 最常见的就是线上集群部署,而开发是单节点的
  • 日志: 把日志当作事件流 ; 不建议通过应用管理日志,而是输出到STDOUT,比如统一的日志管理,cfeng在work时就利用ELK进行日志收集管理
  • 管理进程: 后台管理任务当作一次性进程运行

cfeng的work理解

cfeng做的就是云原生应用【基于云原生架构】, 满足了容器化、微服务、Devops和持续交付

在work中的体现:

  • 不需要停机更新,由于部署在☁上,直接更新版本号即可,同时更新较为频繁,uat/di环境的部署可能半天就从160版本迭代到170版本,每次都是直接换一个镜像版本号即可

  • 不依赖网络资源,比如ip和端口都是无限制的

  • 应用自动化部署和运维,运维全自动,流水线部署

  • 使用docker+ k8s镜像技术, 有很好的移植性

  • 应用微服务,松耦合,各种微服务 + 底层基础设施分开部署

云原生架构也就好理解了,就是Native Cloud的架构设计,整个应用设计之时就考虑到Cloud,整体架构上满足云原生思想,最终构建出云原生应用,分布式微服务、容器化加容器编排、自动化流水线

cfeng目前了解的云原生的相关技术: docker + k8s(容器化 + 容器管理), jekins + github(流水线构建 + 代码托管)【potainer和k8s的环境变量配置】其它的常见的分布式微服务的概念技术就不赘述了…文章来源地址https://www.toymoban.com/news/detail-484533.html

到了这里,关于【cfeng work】什么是云原生 Cloud Native的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生——什么是云原生数据库?

    ❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽 个人简介:云计算网络运维专业人员 🐽 前言        突然间,云原生数据库就火了。根据IDC《2021年下半年中国关系型数据库软件市场跟踪报告》显 示,2021下半年中国关系型数据库软件市场规模为

    2024年02月11日
    浏览(37)
  • 什么是云原生和 CNCF?

    CNCF:全称Cloud Native Computing Foundation(云原生计算基金会), 成立于 2015 年 12 月 11 日,是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续发展。 成立CNCF这个组织的初衷或者愿景,简单说: 推动云原生计算可持续发展; 帮助云原生技术开发人员快速

    2024年02月15日
    浏览(27)
  • 什么是云原生?土生土长?

    “云原生”(Cloud Native)是一种构建和运行应用程序的方法,这种方法充分利用了云计算的优势。云原生应用程序是为云环境设计的,通常是在容器中运行,并被设计为在微服务架构中运行,这使得它们能够快速扩展和进行灵活的资源管理。 以下是云原生的一些关键特点:

    2024年02月08日
    浏览(31)
  • 什么是云原生?零基础学云原生难吗?

    伴随着云计算的浪潮,云原生概念也应运而生,而且火得一塌糊涂,但真正谈起“云原生”,大多数非 IT 从业者的认知往往仅限于将服务应用放入云端,在云上处理业务。实际上,云原生远不止于此。 现在越来越多的企业已经不再满足于“地面竞争”, 纷纷开始采用新的方

    2024年02月07日
    浏览(29)
  • 【云原生|云原生基础】什么是云原生?一文给你讲清楚!

    云原生(Cloud-Native)是近年来在云计算领域崭露头角的炙手可热的概念。随着云计算技术的不断发展和普及,云原生架构逐渐成为现代应用开发和部署的主流趋势。本文将深入探讨云原生的概念、优势以及重要性,为零基础的读者带来一份全面的入门指南,帮助您了解什么是

    2024年02月12日
    浏览(26)
  • 【云原生】什么是云原生?如何学习云原生?一篇文章带你了解云原生

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

    2024年02月02日
    浏览(41)
  • Gluten + Celeborn: 让 Native Spark 拥抱 Cloud Native

    作者: 张凯@阿里云、陳韋廷@Intel、周渊@Intel Apache Celeborn(Incubating) 是阿里云捐赠给 Apache 的通用 Remote Shuffle Service,旨在提升大数据计算引擎的性能/稳定性/弹性,目前已广泛应用于生产场景。Gluten 是 Intel 开源的引擎加速项目,旨在通过把 Spark Java Engine 替换为 Native Engine(Ve

    2024年02月15日
    浏览(31)
  • 什么是云存储?有什么优势?

    在云计算中,用户将数据保存在远程位置。它可以通过互联网连接访问,而不是在本地或物理上(在硬盘上)访问。而云存储成为最实用有效的方式之一。它有助于在线存储数据。 什么是云存储? 云存储是指安全、全局和可扩展的数据存储。它用于存储不可变数据,包括图像、

    2023年04月20日
    浏览(31)
  • 【云计算知识库】什么是云?什么是云计算?计算的是什么?openstack是什么?nova计算组件?【持续更新中】

    欢迎关注公众号:天天说编程 你的关注是我最大的动力! 1.什么是云,什么是云计算,计算是指计算什么 云计算中的云不是天空中的云,在计算机的世界里,可以将它理解为一个群组,汇集在一起,只不过天上的云是雨水的群组,而云计算是计算机与互联网汇集起来的群组

    2024年02月14日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包