《云原生入门级开发者认证》学习笔记之云原生架构总览

写在前面

  • 嗯, 了华为云的一个,这里整理课堂笔记记忆,感兴趣小伙伴也可去试试
  • 学习的原因:
    • 虽然考了CKA,了解了一些K8s相关的知识,但是对云原生一直都很模糊
    • 希望对云原生有一个基本的认识,云原生入门
    • 博文主要是课堂笔记

傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波


一 云原生架构总览

云原生技术的发展

  • 2001年,发布了第一个针对的虚拟化产品和,即的前身。
  • 2006年10月,以色列的创业公司在完成了虚拟化基本功能、动态迁移以及主要的性能优化之后,正式对外宣布了的诞生。2009年4月,推出业界首款云操作系统。
  • 2006年,推出首批云产品和,使企业可以利用的基础设施构建自己的应用程序。
  • 2010年7月,和联合推出了一项名为的开源云软件计划。
  • 2011年,Pivotal推出了开源版,作为的开源替代品,并于2014年底推出了。
  • 2008年,容器发布,这是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。是最初使用的具体内核功能实现。
  • 2013年,发布,组合,和等创建容器化标准,风靡一时,逐步替代,。
  • 2015年7月,联合成立了组织,成为管理的首个开源项目。
  • 2018年3月,从毕业,成为 第一个毕业项目。

云原生的定义

云原生定义-

公司的于2013年首次提出云原生的概念,并推出了和系列开发框架,是云原生的探路者。

2015年,云原生刚推广时,在一书中定义了符合云原生架构的几个特征

  • 符合应用(12 Factors Application)
  • 面向(Microservices)
  • 自服务集成设施(Self Service Agile Infrastructure)
  • 基于的协作(API-Based Collaboration)
  • (Antifragility)

云原生定义-

Pivotal官方 站对云原生最新论述如下:

  • 云原生是一种构建和运行应用程序的方法,它利用了云计算交付模型的优势;
  • 云原生关注如何创建和部署应用程序,而不是在何处(云计算);
  • 虽然现在公有云影响了几乎每个行业的基础设施投资思想,但类似云的交付模式并不仅限于公有云环境,它适用于公有云和私有云;
  • 云原生结合了DevOps、持续交付、微服务和容器的概念;
  • 当公司以云原生方式构建和运营应用程序时,它们可以更快地将新想法推向市场并更快地响应客户需求;

2019年,被收购,成为其子公司。

云原生定义-

(以下简称)是一个开源软件基金会,成立于2015年7月,隶属于。致力于云原生(Cloud Native)技术的普及和可持续发展。。CNCF是GitHub上许多增长最快的项目的提供者的中立家园,其中包括,和等

起初,对的定义包含以下三个方面:

  • (Software stack to be Containerized)
  • (Microservices Oriented)
  • (Dynamically Orchestrated)

到2018年,随着 区对理念的广泛认可和云原生生态的不断扩大,还有CNCF项目和会员的大量增加,起初的定义已经不再适用。

云原生定义-.(2018年更新后的定义论述如下:)

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括、、、和。

  • 底层:主要是在运行容器化服务之前,需要为容器准备标准化的基础环境,比如用于,代表性工具和厂商包括、 、 ,等。容器镜像库。凭据管理主要用于在整个容器平台中进行秘钥管

  • :容器的整个运行环境,是云原生底层技术中最核心的部分它包括了、、三大块,提供容器的运行环境()。要解决容数据器持久化的问题。也是非常核心且非常复杂多变的一块内容,常见方案有、 ,等。

  • 编排调度层,主要负责容器平台的编排和调度,包括,,等组件。

  • 最上层 就是跟应用定义与开发相关的内容,主要是一些技术或工具来支撑。

  • 横向上 云原生还包括众多的经过认证的平台供应商。应用运维层,包含了大量用于对平台进行监控( 、等) 、日志( , ,) 、以及追踪()的工具。最后还有一块是关于无服务器架构的内容

容器技术-提高应用可移植性,提升业务敏捷

容器可以将应用本身及其依赖打包,使得应用可以实现“”。容器也可以理解成一种沙盒技术,在计算机安全领域中是一种,为运行中的程序提供的隔离环境。

容器核心价值可移植性:

  • 环境标准化,应用随处运行敏捷:
  • 创建速度快,秒级资源弹性提高生产力:
  • 消除跨服务依赖性和冲突

针对期望状态结果给出声明,而不是过程

对于我们使用对象的方式,一般会编写对应的文件交给 (而不是使用一些命令来直接操作API) 。

所谓“”,指的就是我只需要提交一个定义好的对象来“声明”(这个YAML文件其实就是一种“声明”)表示所期望的最终状态是什么样子就可以了。而如果提交的是一个个命令,去指导怎么一步一步达到期望状态,这就是“命令式”了。可以说,声明式API是Kubernetes项目编排能力“赖以生存”的核心所在。

服务 格-剥离业务代码和分布式框架

  • 非侵入式接管应用服务通信
  • 细粒度流量治理:灰度发布、故障注入、可观测性支持
  • 平台团队聚焦框架层的开发和调优
  • 业务团队聚焦业务本身的开发

,它是松散耦合的分布式架构框架,因此一个团队的更改不会破坏整个应用。使用微服务的好处是,开发团队能够快速构建应用的新组件,以满足不断变化的业务需求。

微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。比如你在线购物时,使用搜索栏来找产品,这个搜索功能就是一项服务,同时你也看到了相关产品推荐,这些推荐也是来自于另外一项服务,还有购物车等,都是一项一项的服务

DevOps -促进开发运维一体化

云原生应用的12-Factors要素

于2012年提出,告诉开发者如何利用云平台提供的便利来开发更具可靠性和扩展性、更加易于维护的云原生应用。

单体架构的问题不在于不可拆分上,在于无法隔离和自治。应用规模越大,局限性越明显

云原生架构模式:

就是其中一种实现方式。它实现了服务彻底拆分,各服务可以独立打包、独立部署和独立升级,对开发者而言,摆脱开发语言的束缚。每个微服务负责的业务比较清晰,利于后期扩展和维护。微服务之间可以采用REST和RPC协议进行通信。同时,微服务架构可以和其他云原生技术完美结合,充分发挥云的优势。

华为云云原生解决方案

华为云长期投入云原生技术与产业,是全球云原生领域领导者

华为云基于擎天架构

基于云原生基础设施的多云管理解决方案

基于云原生基础设施的边云协同解决方案

企业级微服务管理平台,加速微服务应用开发和高可用运维

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月2日
下一篇 2022年3月2日

相关推荐