前言
读完本文,你将对云原生下的核心概念微服务、容器云、DevOps、Immutable Infrastructure、Declarative-API、Serverless、Service Mesh 等有一个相对详细的了解,帮助你快速掌握云原生的核心和要点。
因题主资源有限, 这里会选用部分云服务商的组件进行讲解, 并不代表只有该服务商才有这项技术; 请知悉, 万变不离其宗,原理是大差不差的。
名词简述
IaaS(Infrastructure-as-a-Service基础设施即服务)
提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。主要功能就是讲底层的硬件资源以服务的方式对外暴露,为上层提供服务。IaaS模式下,只提供云计算服务的基础设施,用户可以部署和运行任意软件。
SaaS(Software-as-a-Service软件即服务)
提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。SaaS模式下,用户可以直接通过客户端使用云计算服务,不需要管理任何软硬件。
PaaS(Platform-as-a-Service平台即服务)
云计算的重要组成部分,提供给消费者的服务是把客户采用提供的开发语言和工具开发的或收购的应用程序部署到供应商的云计算基础设施上去。PaaS模式下,用户不需要管理和控制云计算底层基础设施,直接使用和控制应用程序即可。
BaaS(Backend as a Service)后端即服务
应用架构由大量第三方云服务器和API组成的,使应用中关于服务器的逻辑和状态都由服务提供方来管理的。比如典型的Web应用和移动APP客户端应用,前后端交互主要是以RestAPI调用为主。只需要调用服务提供方的API即可完成相应的功能,比如常见的身份验证,云端数据/文件存储,消息推送,应用数据分析等。
FaaS(Function as a Service)函数即服务
一种实现无服务器计算的方法,服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构的复杂性。 按照此模型构建应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。
K8S(Kubernetes)容器编排引擎
Kubernetes 简称K8S,用8代替名字中间的8个字符“ubernete”而成的缩写。是Google开源的一个容器编排引擎,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
康威定律(组织学原理)
康威定律是马尔文康威1967提出的:设计系统的架构受制于产生这些设计的组织的沟通结构。通俗的来讲:产品必然是其(人员)组织沟通结构的缩影。

云原生核心概念
微服务
微服务的核心就是传统的大的单体应用拆为更小的组件或模块,组件或模块就叫微服务。这个拆分是一个纵向的拆分。需要做到从底层的基础设施到数据库到应用中间件到软件应用部署包都能做到完全独立的一套。可以单独的从需求设计、开发、打包、部署,全部都能独立。实现各个微服务之间彻底的松耦合,同时各个微服务之间又能通过轻量的http rest接口进行交互和协同。
微服务核心点:大的单体要拆小,拆小的微服务接口要通过轻量的http rest接口协同。





容器云
云原生里边核心概念容器云,容器云里边的两个核心,一个是Docker容器,一个是k8s的容器资源调度和编排。单纯的Docker容器只是一个IaaS资源层的东西。
容器本身是比虚拟机更轻量化的资源隔离单位,虚拟机是独享具体的一个操作系统,容器本身是架在操作系统上面的,多个容器可以共享操作系统,这是容器和虚拟机最大的区别。正是这个原因容器本身的体积会比虚拟机小,创建、销毁、调度的速度也更比传统的虚拟机更快。
容器本身是IaaS层的内容,所以需要结合k8s进行容器的资源调度和编排,来向上层提供PaaS层的服务能力。(当把容器和容器的编排、调度一起谈的时候就会变成Paas概念,当前最火的基于k8s和Docker形成的PaaS容器调度平台)。
容器本身是共享底层的操作系统,同时又能更好的做到CPU、内存、网络等资源的隔离。
DevOps(开发运维一体化)
Development 和Operations 的组合词,核心就是持续集成和持续交付,需要将软件生命周期过程中的从需求开始到设计程序的开发、编译构建打包部署,从测试环境到生产环境整个过程能够实现全部的自动化。同时基于DevOps本身的发展又进一步和敏捷研发和自动化测试相关的最佳实践做了协同和集成。
-
要点1:指开发、QA和运维三要素如何更好的进行协同,最早的DevOps核心是在CI/CD 持续集成、持续部署,到了DevOps以后把持续集成、持续部署拓展到持续交付。
-
要点2:当前谈DevOps一般会和Scrum敏捷研发、过程管理一起来谈,因为要做到持续的集成和交付必须要有敏捷的迭代版本和其相配合。

Immutable Infrastructure(不可变基础设施)
传统的去做软件程序的部署,当部署到生产环境,部署到Tomcat中间件以后,如果要做变更,不管是程序的变更还是配置的变更,都会在原来的生产环境去重新部署或者是

&spm=1001.2101.3001.5002&articleId=137119815&d=1&t=3&u=320e9c34137c465c958d2ac49cda90fe)

被折叠的 条评论
为什么被折叠?



