云原生学些-第一章-云原生到底是什么?

云原生的学习-

第一章-云原生到底是什么?

1.云原生的定义

Iaas 基础设施即服务-提供服务器 物理机阶段

Paas 平台即服务-提供系统和软件来开发应用 云计算阶段-平台架构

Saas 软件即服务 提供一套应用

Caas 容器即服务 容器化阶段-业务分离隔离

云定义:一组由硬件组成起来的基础设施,提供给各应用使用的,

openstack 硬件编排-虚拟化

docker 容器编排-应用虚拟化

2.云原生优缺点

优点:

稳定:大量硬件资源,容错高,保证服务不宕机。

按需索取:用多少买多少。

安全性:数据隔离,完整的权限系统

成本:硬件投入低

易用性:各类web管理端,便捷管理。

缺点:

核心数据存在第三方,不符合某些级别的场景。

私有云自建-搭建维护成本高

架构变革

单体架构-单个服务器上、单个系统、单个应用

单集群架构-多个服务器上、主备模式

分布式架构-多个服务器、多个应用服务器同时提供服务-使用负载均衡。

分布式?集群?异地多活的区别

分布式:把一个大型应用拆分成各个模块,各功能分开部署在不同服务器;然后这些服务器合起来提供完整的应用。

集 群:提供同一个应用的,并且这个应用存在多个,共海量使用的一种模式。

异地多活:在不同地域中运行相同的应用,多用于容灾场景。

分布式慢慢演变成了 微服务架构

每个微服务都由自己数据库,天然分库。最大特点,有一个统一的对外入口,API接口-外观模式

这个接口即网关,负责用户鉴权和协议转换,也提供负载均衡。

微服务架构-下一个 网格化架构

集群越来越大,应用服务网格化

3、kubernetes-应用上云、无关语言

kubernetes主要能解决各种开发语言编排出来的应用,并将这些应用进行融合在一个生态圈中。

CNCF已经成为了云集合的标准了。成为云世界的postix

kubernetes通过CRI容器运行接口来与docker对接

springcloud-只针对java应用分布式上云的支持;

servicemesh针对任何应用上云的架构思想和编排理念。

docker 就是容器的封装层 containerd

应用上云新型架构kubernetes+serveicemash 组合

4.云原生生态系统

云原生:通过将各种应用拆分成微服务后,部署成容器化;然后使用持续部署的流程,使用-devOps把应用部署上去。

涉及到四个概念micro services \ container \ continumous delivery \ devOps.

上到云架构之后,使用云编排工具,将应用进行编排管理。

5.云原生术语

云原生应用12要素-定义基础,定义上云必须考虑的问题。持续集成+部署、可扩展性。

codebase-基准代码:一份基准代码,多份部署。
dependencies-依赖:声明依赖关系。
config-配置: 不同环境不同配置的信息。在环境中存储部署信息。

== backing service-后端服务:类似数据库的后端服务,每个应用都有一个后端集群。==

== build,relase,run-构建,发布,运行:严格分离构建和运行;可以理解成一个打包过程。==

== processes-进程:应用以什么样的进程运行,一个或多个;==

port binding-端口绑定:通过端口绑定来提供服务。每个服务都有指定的端口。

concurrency-并发:通过进程模型进行扩展;多个并发就启用多个服务容器来满足并发。

涉及到横向应用扩展,来响应海量并发请求。

所谓gvm优化,只能相对优化一下并发请求数;而不能真正意义上解决海量并发请求,只能横向应用扩展来满足。

disposability-易处理:快速启动和优雅停机可最大化健壮性;优雅停机:遇到问题后先满足业务请求后再进行停机停止服务。最大提升应用稳定访问

dev/pord parity-开发环境与线上环境等价:尽可能你保持开发,预发布环境与线上环境相同。

logs-日志:把日志当作事件流。日志分开管理,防止撑满导致应用爆炸。

admin processes-管理进程:后台管理任务当作一次性进程运行。用时再开。

蓝绿部署:相当于网络的热备切换;两套相同环境。v1 v2 类似k8s集群中的pod 滚动升级的概念。

即灰度、金丝雀、生产三种环境的发布;模仿生产环境使用,发现应用bug,方便更新/回溯版本。

构建包:代码包

容器:承载应用的

持续集成和持续部署 CI/CD 通过自动化链路,持续进行应用版本更新

数字化转型: 关注数据流和用户使用和应用。而不是有形的IT资产

分布式系统:

Iaas 基础设施即服务-提供服务器 物理机阶段

Paas 平台即服务-提供系统和软件来开发应用 云计算阶段-平台架构

Saas 软件即服务 提供一套应用

Caas 容器即服务 容器化阶段-业务分离隔离

微服务 micro serveices 在容器中的服务,可独立部署。

私有云:private cloud:本地虚拟化并作为云服务交付给单个企业的计算资源和应用程序。

公有云:public cloud:由第三方提供和管理计算资源。

混合云:hybrid cloud:企业即有自建私有云,也有租赁外部的公有云。

多云架构 multi cloud:包含多个云。减少供应商锁定可能性,充分发挥各云厂商的优点,来满足企业需求。

无服务器:serverless:来自云服务提供商或软件平台的服务,以秒为单位进行度量。具有灵活性来适应广泛变化的资源需求。

静态文件:staticfile:除网络服务器外,不需要后端代码的应用或内容。

虚拟机:virtual machine:底层核心概念,云计算架构中的一个实例。具有特定资源的真实系统。

云原生官方定义

云原生是一种模式,它侧重于各组织在使用公有云、私有云或混合云等新型动态环境中,来构建和运行 可弹性扩展的 应用。
代表技术有:容器、服务网格、微服务、不可变基础设施、声明式API。这些技术组合起来能够构建容错性好、易于管理和便于观察的松耦合系统。

再结合可靠的自动化,云原生工程师可以轻松频繁的对应用/系统进行频繁变更和预测重大变更。该模式由云原生计算基金会CNCF进行培育和维护,并推动云原生技术。让其供大众所用。CNCF是一个不偏向任何厂商的中立组织。

容器:docker;服务网格:serveicemash;微服务:micro services;不可变基础设施:自建云或厂商提供的云服务器等基础环境。声明式API:(包含一切非代码方式)告诉其他云服务我需要用哪些云功能配置文件

CNCF Landscape

https://landscape.cncf.io/

第二章、怎么学云原生-学习路线

1容器化

2ci/cd

3应用编排

4可观测性

5服务代理,服务发现

6网络策略、安全

7分布式数据库、存储

8消息队列转发派发

9容器运行环境、注册中心

10软件分布式可行部署

测试环境:一主一从两台服务器即可

标准集群:3master+3node 高可用、高并发、高性能

一站式平台,kubesphere 两行代码,云原生整个技术栈

QKE 云服务商的完全kubesphere托管平台。

相关推荐
大G哥3 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
feng_xiaoshi3 小时前
【云原生】云原生架构的反模式
云原生·架构
程序那点事儿5 小时前
k8s 之动态创建pv失败(踩坑)
云原生·容器·kubernetes
叶北辰CHINA6 小时前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
Lansonli8 小时前
云原生(四十八) | Nginx软件安装部署
nginx·云原生·ecs服务器
唐大爹17 小时前
项目实战:k8s部署考试系统
云原生·容器·kubernetes
Zl1597531597531 天前
k8s基础环境部署
云原生·容器·kubernetes
陌殇殇殇1 天前
使用GitLab CI构建持续集成案例
运维·ci/cd·云原生·容器·kubernetes·gitlab
Gogeof1 天前
云原生化 - 基础镜像(简约版)
微服务·云原生·基础镜像
Gogeof1 天前
云原生化 - 旅程(简约版)
微服务·云原生