精华内容
下载资源
问答
  • 云原生什么?如何准确理解云原生
    2021-12-06 15:01:51

    一、云原生概述

    云原生的概念,由来自Pivotal的MattStine根据其多年的框架经验总结于2013年首次提出,被一直延续使用至今。这是他当时提出的几个主要特征:

    • 面向微服务框架
    • 自服务敏捷架构
    • 基于API的协作
    • 符合12因素应用
    • 抗脆弱性

    它的出现其实也得益于虚拟技术的发展,在社区中不断完善,并逐渐成为一种新兴的基础设施交付方案,在某种意义上重新定义了IT界软硬件资源的标准。2015年谷歌主导CNCF成立之后,给出了1.0的云原生定义主要是云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。

    目前CNCF给出了云原生应用的三大特征:

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

    二、云原生之CNCF知识图谱

    上图就可以看出,其实云原生涉及的技术领域众多,这上面就收集和其技术相关的工具、平台和项目,通过此图可快速了解和应用相关的技术,根据业务能力可对架构进行重组与建设。

    三、云原生之核心技术

    容器

    容器(container)这一概念最早出现在Linux中出现的,又称LXC(Linux Container),主要是通过Cgroups的资源管理能力和Namespace的资源隔离能力结合在一起实现进程级别的隔离。

    K8s

    全称是Kubernetes,由Google 基于 Borg 开源的容器编排调度系统,是一种基于容器技术的分布式架构领先方案。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等功能,用户不需要再过度的关注资源的管理问题,降低操作的复杂度,提高了大规模容器集群管理的便捷性。

    微服务(Microservices)

    微服务则是一种用于构建应用的架构方案,微服务架构有别于为传统的单体应用的是将应用拆分成多个核心功能,每个功能都被称为一个独立的服务,可以单独构建和部署,其中某个服务出现故障也不会影响其他的功能模块,这句体现了其针对特定服务发布,影响小,风险小等特点。

    服务网格(Service Mesh)

    服务网格指的是用于微服务应用的可配置基础架构层。在使用服务网格时通常会提供一个sidecar代理实例,主要处理 service 间的通信、监控、以及一些安全相关的考量,每个serivce里面都会有一个sidecar,同样也提供了服务发现、负载均衡、授权等功能。

    无服务(Serverless)

    根据 CNCF 的定义,Serverless 是指构建和运行不需要服务器管理的应用程序的概念。即开发人员无需关注底层的基础设施,只需要关注应用程序的业务本身就行,且该服务是可以自动扩展。

    DevOps

    早期的项目使用的是‘瀑布模型’进行软件交付,即一个阶段所有的完成工作之后再往下一个阶段,但这样的模式无法满足业务快速开发交付及变更需求的情况,于是后面就出现了敏捷开发这一概念,即一种快速应对需求变化软件开发能力,而DevOps就是基于敏捷开发将软件开发/测试人员/IT运维关联在一起,通过工具、组织等方式使开发、测试、发布流程自动化,软件发布频繁,高效。

    云(Cloud)

    常常听到的‘公有云’,‘私有云’,‘混合云’都是基于这个生态衍生出来的各种场景,不同的云搭建环境,所需资源亦有所不同,比如公有云是在互联网上发布的云计算服务,而私有云则是在公司内网发布的云计算服务,目前没有一种云计算类型可以解决所有场景出现的问题,怎么选择适合自己的场景则需要根据技术需求决定。

    四、云原生之实践

    1. 云原生中的DevOps

    DevOps这一概念虽然比容器、微服务出现得早,却是随着他们的出现才得以快速的发展。实际上DevOps不单是一个实现自动化的工具链,更是通过构建企业文化的方式促进开发与运维之间的协作。下图可以看出,这样的运作模式已经颠覆了传统的工作模式,每个环节都不再独立分割开,而是用协作的方式生产更快、更高质量的生产软件。

    2. 持续集成

    持续集成(CONTINUOUS INTEGRATION,CI),其核心是新提交的代码与原代码正确的集成。开发人员多次、频繁的将代码提交到代码仓库中,在合并到指定分支之前,对新提交上来的内容进行编译、自动化检测(如:代码格式检测)的验证,这样的过程既保证了代码的完整性、安全性,为后面的工作提供了质量保证。

    3. 持续交付

    持续交付(CONTINUOUS DELIVERY,CD),其重点不在代码本身,而是可以交付的产品上。在发布到生产环境之前,对新增的代码进行测试(test) -> 模拟(staging) -> 生产(produciton),即简化繁琐的发布流程,又保障新添加的代码在生产环境是可用的。

    4. 持续部署

    持续部署(CONTINUOUS DEPLOYMENT)通过自动化部署的方式频繁的交付产品,关注的重点在于自动化部署。从开发人员提交代码到编译、测试、部署整个流程都是通过自动化执行,这种方式加快了交付的速度,同时在发现问题时也缩短修复的时间。

    CICD关注整个开发到交付的过程,中间的测试、模拟、自动部署等都是整条生产链上的所需要的每一步都是需要去关注的。而DevOps则更关注于各部门、不同岗位之间的协同过程,尤其是开发和运维之间的沟通壁垒。总的来说,DevOps是CICD思想的延伸,CICD是DevOps的基础核心,如果没有CICD自动化的工具和流程,DevOps是没有意义的。

    五、云原生之总结

    云原生之于国内,还是一个非常新的话题,云原生的覆盖面很广,已知和潜在的用处很大,全面及深入的理解需投入大量的人力及时间成本,不管是学习研究还是在实战中需要分而治之。总体来说体现出以下几个方面的优势:

    • 快速迭代:利用云原生应用程序开发,多种技术、多种方案相互融合,为项目交付提供自动化和编排的快速迭代方案。
    • 自动部署:云原生的方法对于传统的方法而言,直击代码质量低下、发布流程繁琐的痛点,通过其具备的自动化和组合功能,针对编译、测试、部署等过程建立良好流程基础,快速交付。
    • 独立高效:云原生带来的微服务化框架,打破了传统的开发模式,对于一个应用来说,一个微服务就是一个可独立发布的应用;对于一个团队来说,为各个部门,不同岗位提供更多协同与沟通上的的思路。
    更多相关内容
  • 2020云原生产业大会演讲PPT合集,供大家学习参考。 1、阿里云数据库PolarDB 2、博云容器网络Fabric的前世、今生和未来 3、泛在计算服务白皮书解读 4、分布式云及云边协同标准体系规划及解读 5、可信云微服务分级...
  • 重磅,史上最全的阿里云分享的云原生技术学习资料合集,共120份。 一、阿里云开源书合集 2020微服务领域开源数字化报告 阿里巴巴云原生技术与实践13讲 阿里巴巴云原生实践15讲 不一样的双11技术:阿里巴巴经济体...
  • 云原生架构白皮书.pdf

    2020-07-21 16:48:44
    目大量涌现,云原生领域进入“火箭式”发展 阶段。通过树立技术标准与构建开发者生态, 开源将云计算实施逐渐标准化,大幅降低了开 发者对于云平台的学习成本与接入成本。这都 让开发者更加聚焦于业务本身并借助...
  • 本项目记录dotnet云原生的一些优秀内容,包括dotnet云原生的相关学习资源及dotnet云原生的优秀项目代码等。重置的使用C#和Golang,可以使用C#进行黑客攻击。学习C#和Golang语言,面向信仰编程 0x01-云原生资源 一...
  • 题目内容以及版权归属阿里云平台,本人只是练习,本次分享仅用于知识的共享与交流。阿里云原生的课程还是非常不错的,课后的习题有一点难度,我反反复复的查询课堂PPT,所有答题均已验证,现截图用于今后复习。
  • 为了能够给大家尽可能说出云原生是个什么东西,我读了很多很多文章,拜访了很多名家,包括业界的知名大佬、年薪千万的骨灰级专家、名下数十万记学生的成功大师,真是生怕自己才疏学浅耽误了大家,所以我希望大家能...


    一、开篇浅谈

    这可能是我来csdn近3个月以来写的最认真的一篇文章了,云原生的概念一直以来都很模糊,虽然云原生计算基金会(CNCF)给出了所谓的定义,但是并不能让大家很好的理解云原生的理念,为什么说是理念呢,因为云原生是一种思想,是一种解决方案,很抽象。

    随着云原生生态和边界不断的扩大,云原生自身的定义一直在变。不同的公司(Pivotal & CNCF)不同的人对它有不同的定义,同一家公司在不同的时间阶段定义也不一样。根据摩尔定律推断,未来对于云原生的定义还会不断变化。

    为了能够给大家尽可能说出云原生是个什么东西,我读了很多很多文章,拜访了很多名家,包括业界的知名大佬、年薪千万的骨灰级专家、名下数十万学生的成功学大师,真是生怕自己才疏学浅耽误了大家,所以我希望大家能看到最后,也希望这篇文章能够给你带来收获。

    3个月前决定来到csdn,其实更大的缘由是看到csdn做出的改变,企业也好,个人也罢,当勇于做出改变的时候,我觉得成功岂不是唾手可得。当我隐约看到csdn的战略方向后,我觉得这是一个值得拥有的平台,我觉得我可以为这个平台做一些事情。

    来到之初,花了几天业余时间,尝试了csdn几乎所有功能,虽有些许不足,但并不能阻挡csdn的优美,我觉得最值得一提的就应该是csdn的热榜算法了,研究很多天,很有趣,有时间或者有机会吧,会和范博士好好聊一聊,这里就不过多谈论了。

    二、云计算是什么

    在这里插入图片描述

    说到云原生,就不得不提到云计算,那么什么又是云计算呢?想必大家对云计算并不陌生吧,大家应该看过诸如这样的新闻标题:“中国云计算之父:当年拿走马云10个亿,11年后还给马云5400亿”,没错,这个中国云计算之父就是我们阿里云的创始人——王坚博士。

    早些年,国内电商迎来飞速发展时期,淘宝用户每年增长十几倍,而国外云计算平台都是针对本土企业设计,没有考虑过服务几亿人的情况。于是拥有一套属于自己、便宜好用的计算架构,成为阿里巴巴当时的重中之重。于是马云把王坚从微软挖来,负责构建阿里的计算架构,并且约定每年投10个亿,坚持10年。

    不过,阿里云发展的前几年并不顺利;内部质疑、技术出现瓶颈,大批工程师因为看不到阿里云的前景,纷纷投入其他部门,或者干脆离开阿里,最严重的时候,阿里云80%工程师都选择离开,但王坚依然顶着巨大压力坚持了下去。

    2013年,飞天系统实现了5000台机器的集群调度,阿里正式成为中国第一家拥有完整云计算系统能力的企业,也成为中国第一家有能力提供海外云计算服务的公司。此后,12306将业务放到了阿里云上,春运高峰期间,阿里云承担了12306系统大部分的流量,一改往日抢票期间系统瘫痪的情况。展示了自身实力的阿里云,开始大规模对外提供云计算服务。去年双十一,阿里云更是创造了新的世界纪录,而阿里云全都支撑下来,刷新了历史。值得关注的是,对比五年前,阿里云的业绩已增长了数十倍。如今,阿里云在国内的份额遥遥领先其它对手,并且成功走向国际。

    想必大家已经感受到了云计算的强大,那么接下来我们再来看看云计算的概念。

    2006年,亚马逊把基于分布式操作系统聚集起来的强⼤计算能⼒,通过互联⽹的⽅分输送给千千万万的普通⽤户,⼈们给这种计算的在线服务,起的名字叫做云计算。

    通俗的说,把分布式操作系统聚集起来的强大计算能力像水电一样,成为大众的必需品,输送给千家万户,让每个人都可以高效利用这种计算资源。就像水龙头一样,我们什么需要水打开水龙头就好了,再也不用去井里挑水喝了;什么时候需要电直接打开开关就好了,再也不用拿两根木头磨来磨去了。但是,你要付费,你得掏钱,天底下没有免费的午餐,因为能量守恒。

    三、云原生是什么

    在这里插入图片描述

    我接触云原生应该是在8年前,那时候我高二,那个时候云原生的概念比较广泛,记得那时候应该是暑假,那天很热,风扇吹着,看着qq群里的前辈们讨论着“Docker”这个字眼,真是好奇啊,听前辈们对这个赞不绝口,好奇心的驱动,让我开始了云原生之路。

    初识Docker的我,还没有感受到它的强大之处,简单的过手之后,就潦草的摒弃掉了,次年,也就是我的高考前几个月吧,已经玩烂了ssm框架的我,过渡到了SpringBoot,感受到SpringBoot的强大之后,不免让我想起了Docker,这不也是开箱即用,敏捷开发么?这个时候我已经发现社区生态已经逐渐强大了。

    在大家还在猛刷“三年高考,五年模拟”的时候,我将我写完的SpringBoot项目用Docker部署在Linux上,我现在还记得当时那种兴奋的感觉,不用手动部署项目,不用手动部署Nginx、Redis、MySQL…只需要用Docker拉取对应版本镜像,通过简单的命令就可以完成之前复杂的操作,再加上相关编排工具的加持,简直不要太爽。

    再到高考之后,我发现当时已经称霸的k8s+拥有绝对地位Docker+SpringCloud Netflix已经可以满足企业开发,我觉得这一定是风口,你要知道,风来了,猪都会飞,我虽然数理化没学好,但我想做这只猪,这只会飞的猪。

    其实,云原生从我当初刚了解的时候,就特别火,而且是一直火,没想到时至今日,才被大家所熟知。

    早期,云原生架构有几个特征:

    1. 符合12模式(Twelve-Factor App):云原生应用架构的模式集合
    2. 微服务架构(Microservices):独立部署的服务,一次只做一件事
    3. 自助服务敏捷基础设施(Self-Service Agile Infrastructure):用于快速、可重复和一致地提供应用环境和服务的平台
    4. 面向API接口的通信(API-based Collaboration):服务之间的交互基于接口,而不是本地方法调用
    5. 抗脆弱性(Anti-Fragility):系统能抵御高负载

    简单来说就是:

    • 模块化(Modularity)
    • 可观测性(Observability)
    • 可部署性(Deployability)
    • 可测试性(Testability)
    • 可处理性(Disposability)
    • 可替代性(Replaceability)

    2019年,VMware Tanzu 官网给出了云原生最新定义,以及云原生的架构原则:

    云原生是一种利用云计算交付模型的优势来构建和运行应用程序的方法论。当企业使用云原生架构开发和运维应用程序时,它们能更快速地响应客户需求将新想法推向市场。

    虽然公共云影响了几乎所有行业对于基础设施的思维模式,但类似云的交付并不仅限于公共环境。云原生的开发同时适合公共云和私有云,你只需要关心应用程序是如何创建和部署,无需理会在哪部署。

    更重要的是能够为开发人员提供按需访问计算能力以及现代数据和应用程序服务。云原生开发融合了 DevOps、连续交付、微服务和容器。

    云原生架构原则:DevOps、Microservices、Containers、Security。

    上面我提到云原生计算基金会(CNCF),是由开源基础设施界的翘楚 Google、RedHat 等公司共同牵头发起的一个基金会组织,其目的非常明确,就是为了对抗当时大红大紫的 Docker 公司在容器圈一家独大的局面。CNCF 通过 Kubernetes 项目在开源社区编排领域一骑绝尘,之后就扛起了云原生定义和推广的大旗,风光无限。

    给大家看一眼CNCF的全景图吧!

    请添加图片描述

    2015 年 CNCF 把云原生定义为:应用容器化、面向微服务、容器编排。到了 2018 年,CNCF 更新了云原生的定义,加入了声明式 API 和服务网格(2017 年社区新技术,和微服务并列,注意它不是微服务的升级版本),这些技术能够构建容错性好,易于管理和便于观察的松耦合系统。2018年,大量科技公司开始接受云原生的概念,并纷纷加入到云原生的大家庭。此外,主流云计算供应商相继加入 CNCF,持续丰富整个云原生的生态。

    四、云计算的四个层次

    4.1 IaaS(基础架构即服务)

    IaaS(Infrastructure as a Service,基础架构即服务)是基础层。在这一层,通过虚拟化、动态化将IT基础资源(计算、网络、存储)聚合形成资源池。资源池即计算能力的集合,终端用户(企业)可以通过网络获得自己需要的计算资源,运行自己的业务系统。这种方式使用户不必自己建设这些基础设施,而是通过付费即可使用这些资源。

    4.2 PaaS(平台即服务)

    在IaaS层之上的是PaaS(Platform as a Service,平台即服务)层。这一层除了提供基础计算能力,还具备了业务的开发运行环境,提供包括应用代码、SDK、操作系统以及API在内的IT组件,供个人开发者和企业将相应功能模块嵌入软件或硬件,以提高开发效率。对于企业或终端用户而言,这一层的服务可以为业务创新提供快速、低成本的环境。

    4.3 SaaS(软件即服务)

    最上层是SaaS(Software as a Service,软件即服务)。实际上,SaaS在云计算概念出现之前就已经存在,并随着云计算技术的发展得到了更好的发展。SaaS的软件是“拿来即用”的,不需要用户安装,软件升级与维护也无须终端用户参与。同时,它还是按需使用的软件,与传统软件购买后就无法退货相较具有无可比拟的优势。

    4.4 DaaS(数据即服务)

    越来越多的数据沉淀、抽象形成了新的服务——DaaS(Data as a Service,数据即服务)。

    数据聚合抽象,把数据转换成通用信息,从而为公众提供公共信息服务。例如,对于天气信息,可能A需要根据天气信息来判断出门穿着,B需要根据天气信息判断是否洗车,C需要根据天气信息判断是否准备防洪防涝设施等。不同用户均可利用DaaS满足自己的诉求。

    此外,通过对各类数据信息进一步加工形成信息组合应用,会进一步盘活数据,提升数据价值。这就像搭积木一样,对基础数据信息块以不同的方式进行组装,可以达到千变万化的效果。DaaS服务已成为当下数字化转型的重要抓手。

    五、云原生如何构建

    5.1 云原生架构

    容器化的出现,一定程度上带动了微服务架构。架构演化从单体式应用到分布式,再从分布式架构到云原生架构,微服务在其中有着不可或缺的角色。微服务带给我们很多开发和部署上的灵活性和技术多样性,但是也增加了服务调用的开销、分布式系事务、调试与服务治理方面的难题。

    来看一看这个我早些年画的一个简易的架构图:

    请添加图片描述

    从上图Spring Cloud组件的架构可以看出在微服务架构中所必须的组件,包括:服务发现与注册、熔断机制、路由、全局锁、中心配置管理、控制总线、决策竞选、分布式会话和集群状态管理等基础组件。

    请添加图片描述

    Spring Cloud和Kubernetes有很大的不同,Spring Cloud和Kubernetes处理了不同范围的微服务架构技术点,而且是用了不同的方法。Spring Cloud方法是试图解决在JVM中的微服务架构要点,而Kubernetes方法是试图让问题消失,为开发者在平台层解决。Spring Cloud在JVM中非常强大,Kubernetes管理那些JVM很强大。看起来各取所长,充分利用这两者的优势是自然而然的趋势了。

    5.2 DevOps

    在这里插入图片描述

    为了解决应用 “持续交付问题”,我们引入了 Devops。

    提到交付问题,就想起大学的专业课——软件工程…这是个让人头疼的问题,我们知道,一个软件从零开始到最终交付,大概包括以下几个阶段:产品规划、开发编码、构建、QA测试、发布、部署和维护。

    最初大家说到DevOps,都是指的‘开发运维一体化’,现在大家说的 DevOps 已经是扩大到“端到端”的概念了。

    Devops 理念大家应该比较熟悉了,我理解它是一系列价值观,原则,方法,实践及工具的集合,目的是实现快速交付价值且具有持续改进能力,其核心是用于打破研发和运维之间的隔阂、加快软件交付流程、提高软件质量。

    这里就不过多谈论了,给大家列出devops平台搭建工具

    1. 项目管理(PM):jira。
      运营可以上去提问题,可以看到各个问题的完整的工作流,待解决未解决等;
    2. 代码管理:gitlab。
      jenkins或者K8S都可以集成gitlab,进行代码管理,上线,回滚等;
    3. 持续集成CI(Continuous Integration):gitlab ci。
      开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
    4. 持续交付CD(Continuous Delivery):gitlab cd。
      完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
    5. 镜像仓库:VMware Harbor,私服nexus。
    6. 容器:Docker。
    7. 编排:K8S。
    8. 服务治理:Nacos。
    9. 脚本语言:Python。
    10. 日志管理:Cat+Sentry,还有种常用的是ELK。
    11. 系统监控:Prometheus。
    12. 负载均衡:Nginx。
    13. 网关:Kong,SpringCloud Gateway。
    14. 链路追踪:SkyWalking。
    15. 产品和UI图:蓝湖。
    16. 公司内部文档:Confluence。

    六、云原生的关键技术

    在这里插入图片描述

    6.1 容器

    容器雏形最早出现在 1979 年叫 Chroot Jail ,定义于 2008 年 即 LXC(Linux Container),将 Cgroups 的资源管理能力和 Namespace 的视图隔离能力组合在一起,实现进程级别的隔离。

    然而容器最大的创新在于容器镜像(即集装箱,Docker “现象级” 开创),它包含了一个应用运行所需的完整环境(整个操作系统的文件系统),具有一致性、轻量级、可移植、语言无关等特性,实现 “一次发布,随处运行”(开发、测试、生产),使应用的构建、分发和交付完全标准化。

    它也是 “不可变基础设施” 的核心基础。

    6.2 Kubernetes

    Kubernetes 是云计算和云原生时代的 Linux,是 Google 基于 Borg 开源的容器编排调度系统,让容器应用进入大规模工业生产。

    声明式的 API 与可扩展(CRD + Controller)的编程接口,先进的设计思想使其在容器编排大战中(Kubernetes、Swarm、Mesos)处于王者地位,成为容器编排系统的事实标准。

    通过采用 Kubernetes 平台,用户不必操心资源管理问题,使基础设施更加标准化,复杂度降低,资源使用率提升。同时 Kubernetes 也简化了混合云,多云,边缘云等跨数据中心的部署成本。

    6.3 微服务(Microservices)

    微服务则是一种用于构建应用的架构方案,微服务架构有别于为传统的单体应用的是将应用拆分成多个核心功能,每个功能都被称为一个独立的服务,可以单独构建和部署,其中某个服务出现故障也不会影响其他的功能模块,这句体现了其针对特定服务发布,影响小,风险小等特点。

    6.4 无服务(Serverless)

    根据 CNCF 的定义,Serverless 是指构建和运行不需要服务器管理的应用程序的概念。即开发人员无需关注底层的基础设施,只需要关注应用程序的业务本身就行,且该服务是可以自动扩展。

    6.5 DevOps

    早期的项目使用的是‘瀑布模型’进行软件交付,即一个阶段所有的完成工作之后再往下一个阶段,但这样的模式无法满足业务快速开发交付及变更需求的情况,于是后面就出现了敏捷开发这一概念,即一种快速应对需求变化软件开发能力,而DevOps就是基于敏捷开发将软件开发/测试人员/IT运维关联在一起,通过工具、组织等方式使开发、测试、发布流程自动化,软件发布频繁,高效。

    6.6 ServiceMesh

    ServiceMesh 核心是业务逻辑与非业务逻辑解耦,实现开发只需关注业务逻辑的伟大目标。将一大堆和业务逻辑无关的客户端 SDK(如服务发现,路由,负载均衡,限流降级等)从业务应用中剥离出来,放到单独的 Proxy(Sidecar) 进程中,之后下沉到基础设施中间件 Mesh(类似 TDDL 到 DRDS 的模式)。

    针对应用减少了系统框架变更带来的风险、瘦身后变的干净和轻量化,加快了应用的启动速度,使得应用往 Serverless 架构迁移变得轻松。

    针对 Mesh 可以根据自身需求自行迭代和升级功能,更加利于全局服务治理、灰度发布、监控等。

    同时,Mesh 边界可以扩展到 DB Mesh,Cache Mesh、Msg Mesh等,真正做到服务通信的标准化即服务之间通信的 TCP/IP。

    6.7 基础设施即代码(IaC)

    将基础设施及其完整的生命周期(创建、销毁、扩容、替换)以代码的方式进行描述、通过相应的工具(terraform、ROS、CloudFormation等)编排执行和管理。

    比如应用用到的所有基础资源(如:ECS、VPC、RDS、SLB、Redis 等),无需在控制台不停的切换页面申请购买,只需定义相应代码,一键创建。

    这样做的受益是基础设施代码版本化,可 Review,可测试,可追溯,可回滚,一致性、防止配置漂移,方便共享、模板化和规模化,提升了运维整体效率和质量,通过代码也可以轻松了解基础设施的全貌。

    6.8 Cloud IDE

    云端 IDE 深入研发的整个生命周期,提供了完整的开发、调试、预发、生产环境及CI/CD 发布一体化体验。云端可提供丰富的代码库模板,通过分布式运算提升编译速度,以 “智能” 方式实现代码推荐、代码优化、自动扫描发现 BUG、识别逻辑和系统性风险。

    可以想像云时代开发模式与本地开发完全不同,拥有更高的研发效率,更快的迭代速度,更完善的质量控制。

    七、云计算和云原生的关系

    7.1 云原生是云计算的趋势

    1. 从市场发展趋势看,云计算将是未来IT的主流。

    2. 从技术发展趋势看,更多企业将会广泛应用云原生技术。

    3. 从软件开发角度看,云原生技术为企业带来了更快进行业务创新的价值。

    7.2 云原生是云计算的再升级

    1. 整个云原生技术栈都是基于开源、开放的技术标准。

    2. 云原生是对使用云的应用架构的再升级。

    3. 云原生是对云平台的技术和云服务的再升级。

    展开全文
  • 云原生技术学习
  • 2021云原生边缘计算论坛PPT汇总,共8份。供大家学习参阅。 2021云原生边缘计算论坛广邀云原生边缘计算领域的专家大拿,以开放共享的精神为核心理念,聚集云原生边缘计算生态,共同探索云边未来。 1、边缘计算技术...
  • 什么云原生(AI云部署学习心得)

    千次阅读 2020-04-21 20:58:51
    云原生是IT架构与方法论 云原生理念的诞生来自业务驱动 为了满足业务发展的需求而持续演进的IT架构与方法 瀑布式开发,敏捷开发 DevOps(研发,测试,运维都整合到一起,流水线不同环节) 需求随时出现,随时...
    1. 云原生是IT架构与方法论
      在这里插入图片描述

    2. 云原生理念的诞生来自业务驱动
      在这里插入图片描述

    3. 为了满足业务发展的需求而持续演进的IT架构与方法
      在这里插入图片描述
      瀑布式开发,敏捷开发
      DevOps(研发,测试,运维都整合到一起,流水线不同环节)
      需求随时出现,随时开发,随时上线,不受传统迭代和软件开发周期的影响

    4. 云原生是多种技术理念组成的一个有机整体
      在这里插入图片描述
      云原生转型:
      4个维度: 容器基础设施搭建,容器化应用托管,微服务观测与治理,DevOps流水线建设。
      更高性能的服务,更高效优质的研发,更灵活弹性的资源,更易于运维的应用。

    5. 云原生的实现路径
      在这里插入图片描述
      容器化,容器镜像,容器镜像仓库,容器运行时(运行环境)
      CI&CD:持续集成和部署的工作流。自动化测试,灰度发布,流量管理,随时回滚
      容器与应用编排:比如如何把100个容器镜像编排到物理服务器上,让他们可以运行起来。调度系统。定义容器之间的关系,让应用提供对外访问和内部互相访问。
      观察与分析
      网络性能与安全
      在这里插入图片描述
      信息流的管理:RPC框架,远程调用和本地调用一样方便
      服务网关与路由
      持久化存储:计算存储分离,分布式数据库,云磁盘,对象存储,分布式文件系统

    6. 云原生技术的生态现状
      在这里插入图片描述
      CNCF:云原生计算基金会,目前超过200成员
      Kubernetes:容器编排领域的事实标准

    7. 容器技术与传统虚拟机的对比
      在这里插入图片描述

    8. 为什么需要容器编排系统
      在这里插入图片描述
      动态扩容场景,Failover场景

    9. Kubernetes的基本架构工作原理
      在这里插入图片描述

    10. 微服务是什么
      在这里插入图片描述

    11. 微服务框架及平台解决的问题
      在这里插入图片描述

    12. 流行的微服务架构方案
      在这里插入图片描述
      Spring Cloud(深入监控,侵入式)ServiceMesh(Istio/Bmesh)

    展开全文
  • 如何学习云原生

    2021-03-16 15:37:36
    什么云原生 云原生以容器、微服务、DevOps,持续交付等技术为基础建立的一套云技术产品体系。这是一种新型技术体系,是云计算未来的发展方向。从1999年到2024年,本地部署和市场云化此消彼长,企业上云的速度随着...

    如何学习云原生

    什么是云原生

    云原生以容器、微服务、DevOps,持续交付等技术为基础建立的一套云技术产品体系。这是一种新型技术体系,是云计算未来的发展方向。从1999年到2024年,本地部署和市场云化此消彼长,企业上云的速度随着虚拟化等技术的发展大大加快,未来可能将成为各大企业的一项基础能力。所以作为一名刚入行或资深的工程师,我觉得都应该对云原生相关的概念和技术了解,提升自己的核心竞争力。

    如何从零开始学习云原生

    云原生技术体系非常的庞大,我们可能经常听到docker,k8s(kubernetes)等相关的名词,其实并不止于此。

    先来看一张图:
    在这里插入图片描述

    这是来自CNCF(原生计算基金会)的云原生全景图,链接:https://landscape.cncf.io/,这里描述了云原生相关领域的项目,主要还是围绕着容器编排,治理,监控等建立起来的生态,全景图已经包含了云原生应用所关联的方方面面,可以给我们一个学习的方向与指示。

    但是大家也不要害怕,看到这么多密密麻麻的项目,大家也不用对每个项目都进行深入的研究,毕竟如果能研究并实现出其中一个项目就已经很牛逼了。但是如果只是为了了解基本的概念那就更简单了。

    学习路线

    这里不会详细到具体的linux或者计算机网络的底层知识,如果发现在学习其中有对应的疑惑的时候找对应的书籍或资料学习即可。接下来会介绍一下云原生的学习路线和一些推荐学习资源,每个人的学习方式不同,这里的学习路线只是一个个人学习思路参考,希望可以帮助到大家。

    1. kubernetes

      云原生中最重要的就是Kubernetes,简称k8s。所以我们的学习核心就是k8s,根据k8s辐射到云原生学习的其他领域,k8s可以说是云原生时代的操作系统,内部的设计是非常的复杂,每一个设计都有他运用的领域,我们可以先尝试去理解里面的一些基本概念,比如Node,Pod,Service,等资源对象,慢慢的去了解k8s的网络原理,存储原理,核心组件的运行机制,k8s的拓展等等深入的知识。

      推荐一些学习k8s资源:

      • 可以在线学习k8s的网站:https://www.katacoda.com/courses/kubernetes
      • k8s的新华字典:Kubernetes权威指南
      • 七牛云团队的k8s书籍:Kubernetes in Action
      • CNCF 官方大使张磊的教学:https://time.geekbang.org/column/intro/100015201
    2. 容器运行时

      由于所有的项目都是跑在容器里面,所以我们在学习k8s的pod的时候我们就知道我们需要学习一下容器的运行时,比如大名鼎鼎的docker,containerd等。这时候我们就开始设计到landscape的这一块内容了
      在这里插入图片描述

      推荐docker的学习资料:

      • Docker技术入门与实战,学习下一些docker的操作命令,知道如何去操作镜像,打包镜像等即可
    3. 容器仓库

      在我们学习docker的时候,知道了如何打包镜像后,这时候我们可能会有我们自己的一些项目镜像,但是我们又不想上传到dockerHub等公开仓库,我们可能会思考可不可以像gitlab一样搭建属于我们自己的镜像仓库呢?那么这时候我们就来到了landscape的这一块区域,我们可以学习着去搭建一个Harbor去存储我们的私有镜像。

    在这里插入图片描述

    1. 服务发现

    学习完容器相关的东西,我们回到我们的k8s,我们发现k8s的数据都存储在etcd中,甚至还能自己服务注册与服务发现,我们想了解一下服务注册,服务发现,配置中心,注册中心等相关的内容,于是我们就来到了landscape的这一块内容:

    在这里插入图片描述

    这里强烈推荐一波etcd,用过都说好,etcd的学习书籍:

    • 云原生分布式存储基石:etcd深入解析
    1. 代理/网关

      继续学习我们的k8s,当我们学习Service的时候,对ingress比较感兴趣,想深入了解一下网络代理,ingress网关或者api网关的时候,我们就可以根据landscape的这一部分内容进行深入的研究,比如envoy,apisix,traefik,mosn等项目。
      在这里插入图片描述

    2. 分布式存储

      在学习k8s的时候,碰到一些有状态应用,我们需要保存下一些数据信息,这时候我们可能用到一些分布式存储,这时候我们可以从landscape这一块中找寻我们需要的:
      在这里插入图片描述

    3. 可观测性

      在我们的项目都在k8s运行起来后,我们可能需要对项目的一些可观测性有需求,比如ELK日志,Promerheus监控,Skywalking,zipkin链路追踪等,我们同样可以开始学习landscape的这一块的内容:
      在这里插入图片描述

      分享资料:

      • 深入浅出Prometheus:原理、应用、源码与拓展详解
    4. 服务网格

      k8s的功能已经非常强大了,但是他主要是提供服务编排等能力,在服务治理相关能力上却显得不足了,所以我们可以学习服务网格相关的服务治理能力。

    在这里插入图片描述

    istio作为后 Kubernetes 时代的微服务治理框架,是非常值得我们去学习与关注的,推荐资料:

    • 深入浅出Istio:Service Mesh快速入门与实践(版本可能老了,可以了解)

    • 宋净超大神:https://www.servicemesher.com/istio-handbook/

    • 赵化冰大神:https://zhaohuabing.com/istio-practice/

    小总结

    云原生涉及的内容非常多,上文只是一个抛砖引玉,给各位想学习云原生领域知识的小伙伴一个导火线,实际云原生内容不止上文所列出的内容,可能学到头秃都学不完,大家可以围绕k8s找到自己感兴趣的方向去学习,祝大家在云原生领域都有所成就!

    展开全文
  • 2018 红帽论坛,超过500位客户亲临现场。演讲人 Alan Liu 高级解决方案架构师。
  • 什么会产生云原生?在传统的模式下,我们更多的是创建一个较大的应用,对于它的创建、运行、升级、维护都是比较痛苦的事情,而当下云计算或是云的概念大家都已经不再陌生(谁还没一台云主机服务器呀,用于创建自己...
  • 什么云原生?聊聊云原生的今生

    万次阅读 2020-03-02 10:46:49
    简介:什么云原生云原生是在一个怎么样的背景下被提出来的,云原生和传统所说的云计算概念有什么不同?聊聊云原生的今生之事。 云原生这词在这几年突然火了,在很多人还不了解她是什么的时候频频被她刷屏。...
  • 近年来,云原生一词越来越流行,甚至到了火爆的程度,谈论技术如果不涉及云原生似乎就OUT了,而不支持云原生的软件或者项目似乎也显得与当前时代格格不入,那到底什么云原生呢?我们怎样设计、开发出来的软件就是...
  • 1.什么云原生 2.云原生核心项目概览 3.云原生技术演进路线 4.云原生发展趋势 5.如何学习云原生技术
  • 因为本人也是初次探索云原生,对云原生这个概念也不是很清楚,因此是属于边学习边输出的状态中,但其实云原生这个概念就在我们身边,比如我们学习和使用的Go语言,是云原生技术的高频编程语言,使用的Docker容器技术...
  • 写在前面 嗯,报了华为云的一个《云原生入门级开发者认证》,这里整理课堂笔记记忆,感兴趣小伙伴也可去试试 学习的原因: 虽然考了CKA,了解了一些K8s相关的知识,但是对云原生一直都很模糊 希望对云原生有一个基本...
  • 什么云原生架构和K8S?

    千次阅读 2021-10-21 21:10:35
    什么云原生架构? 什么是K8S?K8S的优势、解决了哪些问题? 为什么要使用云原生和K8S
  • 云原生什么云原生云原生篇章序幕

    千次阅读 多人点赞 2022-05-16 17:01:56
    云原生详细讲解,云原生今生前世。
  • 云原生讲座PPT(KubeVela)

    2021-04-20 20:12:56
    阿里云原生讲座PPT,可以参考学习
  • 学习云原生的基本概念 复习Docker的安装和使用 学习k8s的安装 学习k8s命令行下基本操作,如何部署应用 k8s的几种常见资源 pod deployment service ingress pv&pvc k8s的分布式存储 安装一个k8s的管理平台,...
  • 2017年, 云原生应用的提出者之一的Pivotal在其官网上将云原生的定义概况为DevOps、持续交付、微服务、容器这四大特征,这也成了很多人对 Cloud Native的基础印象。
  • 点击上方“程序猿技术大咖”,关注并选择“设为星标”回复“加群”获取入群讨论资格!云原生架构是什么回顾过去十年,数字化转型驱动着技术创新和商业元素的不断融合和重构,可以说,现在已经不是由商业...
  • 通过剖析和展示一个端到端的简化微服务应用案例MovieApp,帮助学员学习理解现代微服务应用和云原生架构实践,内容包括: 微服务应用架构前后分离应用架构基于Spring Security + JWT的微服务安全架构Spring Boot...
  • 【阿里云·云原生架构·白皮书】 对白皮书的一些总结和解读。
  • Rainbond 是云原生且易用的云原生应用管理平台,云原生应用交付的最佳实践,简单易用。专注于以应用为中心的理念。赋能企业搭建云原生开发云、云原生交付云。 对于企业: Rainbond 是开箱即用的云原生平台,借助 ...
  • 云原生架构重要组成部分之微服务

    千次阅读 2022-02-15 22:11:15
    为新时代的程序员,我们要抓住云原生的浪潮。 这篇文章呢大致分为四部分,第一部分简单谈一下什么云原生,让小伙伴们有个大致了解。第二部分谈一下云原生的组成部分。第三部分呢我们谈一谈云原生的重要组成...
  • 究竟什么云原生DevOps呢?

    千次阅读 2021-01-19 16:57:25
    简介:究竟什么云原生DevOps呢?我们认为:云原生DevOps是充分利用云原生基础设施,基于微服务/无服务架构体系和开源标准,语言和框架无关,具备持续交付和智能自运维能力,从而做到比传统DevOps更高的服务质量、...
  • 什么云原生重构了互联网产品开发模式?云原生的概念云计算的前世今生阶段1:虚拟化技术阶段2:虚拟机的市场化应用阶段3:容器化和容器编排的兴起云原生到底是什么云原生出现的背景云原生解决了哪些问题?不断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,028
精华内容 18,011
关键字:

云原生学出来是做什么的