为什么要学习“云原生”技术2 | 学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 从信息系统迭代的关键历程开始,阐述云原生技术的演进和趋势方向。

开发者学堂课程【云计算、容器和云原生基础课程第一课时:为什么要学习“云原生”技术(下)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/823/detail/13943


为什么要学习“云原生”技术?(下)

 

二、云原生平台的生态模型

1云原生的一个参考架构示例

1)基础设施层

主机、存储、网络管理

2)预配层( Provisioning )

主机创建、操作系统安装、存储分配等

3)运行时层

●CRICNICSI

4)容器编排及管理

5)安云原生应用程序定义与开发

image.png

2云原生系统的功能特征

1)动态化是云原生应用的天然属性,微服务架构是支撑该目标的关键所在

各微服务提供的API应该集成为复合的API,通过“API网关对外提供统一的访问接口

◆API网关对于安全、监控、计费等也是必不可少的组件

 

微服务治理

◆Istio OpenPaaSLinkerd

 

●Serverless

◆Knative

 

各微服务以窗口镜像进行交付

 

云原生编排平台

调度、运行、健康状态检测、监控

弹性扩缩容

 

灵活部署:重建、灰度、蓝绿、金丝雀、A/B测试、影子( Shadow)部署

image.png

image.png

 

3云原生的技术范畴

1)云应用定义与开发流程

应用定义与镜像制作

●CI/CD

消息和Streaming

数据库

 

2)云应用编排与管理

应用编排与调度

服务发现与治理

远程调用

●API网关

●Service Mesh

 

3)监控与可观测性

监控

日志

链接追踪

混沌工程

 

4)云原生底层技术

容器运行时(CRI

云原生存储技术(CNI

云原生网络技术(CSI

 

5)云原生工具集

流程自动化与配置管理

容器镜像技术

云原生安全技术

云端敏感信息管理

 

6Serverless

●FaaS

●BaaS

●Serverless计费

image.png

 

4如何设计和使用云原生架构( 2 )

1)使用微服务架构解决单体架构导致的复杂性问题;

2)通过服务治理框架和立体化监控方案解决服务间协同及调用异常等相关的问题;

3)借助于容器技术解决应用构建、分发和部署等相关的问题;

4)使用Kubernetes解决服务编排、调度和弹性化等需求;

5)使用Service Mesh解决微服务框架的侵入式、流量治理等问题;

6)将Service Mesh运行于Kubernetes之上,以提供更好的底层支持;

7)借助于laaS云与容器技术,解决不可变基础设施相关的问题;

 

三、CNCF生态全景及重点项目简介

1云原生技术生态全景图

1)应用开发

2)编排与管理

3)运行时

4)预配 ( Provisioning )

5)平台( Platform )

6)监控与分析

7Serverless

8CD

image.png

 

2Maturity levels

1CNCF将项目按成熟度分为sandbox(起步阶段)、incubating(早期大众采用阶段)和graduated(晚期大众采用阶段)三个级别

image.png

 

3沙箱中的项目

1)项目很多,列举几个由阿里云贡献的代表产品

●OAM/KubeVela ——开放架构模型及其在K8s上的完整实现OAM/KubeVela

●OpenYurt——业界首个非侵入式式的边缘云原生项目OpenYurt

●OpenKruise——云原生应用自动化弓|

●Fluid——云原生环境 下的数据密集型应用的高效支撑平台

image.png

 

4云原生平台DIY

1Kubernetes

CRI: Containerd/CRI-O

CSI: Rook/L onghorn

CNI: Flannel/Calico/Cilium/WeaveNet

CoreDNS

Ingress Controller: Contour/Ingress - Nginx/gloo

Image Registry: Harbor

2)监控体系

监控系统:Prometheus/Cortext/Thanos

日志系统: EFK/PLK

分布式链路追踪: Zipkin/Jaeger/Pinpoint

3ServiceMesh

网络: Envoy/lstio/OSM

4Serverless

Knative

 

5GitOps

代码仓库: GitLab/Gogs

●CI: Jenkins/Spinnaker

●CD: ArgoCD/Flux/Flagger

 

6)基础设施

裸服务器/私有云/公有云

●laC: Terraform

 

5

image.png

6阿里云云原生平台产品

image.png

image.png

image.png

 

 

四、云原生的未来架构趋势

1通过把所有传统中间件(例如ESB )的功能移到其他运行时组件,未来的云原生模型实现了如下图中的整个功能环,不久之后,人们在服务中唯一要做的就是编写业务逻辑

image.png

2我们可以把不同领域进行创新的各种云原生项目进行叠加

image.png

●Kubernetes:基于现代应用容器技术在多语言应用程序的生命周期管理

服务网格:Kubernetes之上实现了高级网络功能

●Knative:专注于Serverless型的工作负载,同时满足了服务编排和事件驱动的绑定需求●Dapr:建立在KubernetesKnative和服 务风格的思想之上,深入应用程序运行时以解决有状态工作负载、绑定和集成的需求,从而充当现代化分布式中间件;

 

 

五、云原生人才培养计划课程介绍

1第一阶段Kubernetes课程大纲

1)容器技术基础


2Kubernetes系统核心概念及工作模型

 

3)使用kubeadm部署集群

 

4API资源模型及Pod基础

 

5Pod使用进阶:资源需求、资源限制、多容器Pod章存储卷

 

6)使用ConfigMapSecret配置Pod应用

 

7)服务发现与Service资源

 

李应用编排之ReplicaSetDeployment

 

李应用编排之DaemonSet JobCronJob

 

李应用编排之StatefulSet

 

泰综合应用案例

 

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
355 44
|
1月前
|
Kubernetes Cloud Native 云计算
云计算与云原生技术探索
🌟蒋星熠Jaxonic,云原生探索者!以代码为舟,遨游技术星河。专注容器化、微服务、K8s与DevOps,践行GitOps理念,拥抱多云未来。用架构编织星辰,让创新照亮极客征途!
云计算与云原生技术探索
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
338 2
|
6月前
|
人工智能 Cloud Native 安全
云原生+AI 为企业出海提供全新技术引擎!明天见
5月22日 14:00「飞天发布时刻」,阿里云云原生应用平台产品负责人李国强将重磅揭晓面向 AI 场景的云原生产品体系升级,通过弹性智能的全球一体化架构、开箱即用的云原生 AI 工程化能力,为中国企业出海提供全新技术引擎。
|
7月前
|
Cloud Native 关系型数据库 分布式数据库
|
1月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
495 0
|
7月前
|
存储 关系型数据库 分布式数据库
|
6月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
4月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
250 0