如何从零开始学习云原生

什么是云原生

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

如何从零开始学习云原生

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

先来看一张图:

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

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

学习路线

1. 了解云计算基础概念:

云原生是建立在云计算基础上的,因此首先需要对云计算的基本概念、服务模型(如IaaS、PaaS、SaaS)和部署模型(如公有云、私有云、混合云)有基本了解。

kubernetes

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

推荐一些学习k8s资源:

2. 学习容器技术:

云原生应用通常以容器的形式进行部署和管理。学习Docker等容器技术,了解容器的基本原理、使用方法和常见工具。掌握如何创建、运行和管理容器化应用。

推荐学习资料:

  • Docker技术入门与实战,学习下一些docker的操作命令,知道如何去操作镜像,打包镜像等即可
  • container-runtime

3. 掌握容器编排工具:

容器编排工具用于管理和编排多个容器组成的应用程序。学习Kubernetes这样的容器编排工具,了解集群管理、服务发现、负载均衡、自动伸缩等核心概念和操作。

推荐学习资料:

-coordination-service-discovery

4. 代理网关:

云原生应用通常采用微服务架构,将应用拆分为一组小型、独立部署的服务。学习微服务架构的原理、设计模式、通信方式和治理方法。了解如何构建、测试和部署微服务应用。

5. 熟悉持续集成和持续部署(CI/CD):

云原生应用的开发和交付通常采用CI/CD流程。学习CI/CD的概念、工具和实践,包括源代码管理、自动化构建、测试和部署等方面。

6. 服务注册发现

k8s的数据都存储在etcd中,甚至还能自己服务注册与服务发现,我们需要了解一下服务注册,服务发现,配置中心,注册中心等相关的内容

7. 分布式存储

云原生存储脱胎于云存储,除云存储的特性外、须满足具备云原生生态系统中其他所有组件具备相同的动态(公共云/专有云/混合云等场景)构建可扩展应用、S3 API 驱动、K8S友好等

8. 可观测性

云原生观测可以采集系统提供的任何数据------日志、调用链、度量或事件,并允许团队在全部堆栈(基础设施、应用、业务)中检测和纠正问题。云原生观测还在适当的上下文中提供数据,而且它让企业掌握了采集数据的控制权

9. 学习云原生基础设施:

云原生应用的部署和管理依赖于云原生基础设施,如云原生存储、网络和监控。了解云原生基础设施的概念、特性和常用技术,如云原生存储系统、服务网格等,我们需要对其都有一定了解。

记住,云原生是一个广阔而复杂的领域,需要时间和实践来逐步掌握。坚持学习、实践和不断提升是成为云原生专业人员的关键。

相关推荐
科技互联人生3 小时前
微服务常用的中间件及其用途
微服务·中间件·系统架构
小蜗牛慢慢爬行4 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
小扳6 小时前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
盛派网络小助手14 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
aherhuo16 小时前
kubevirt网络
linux·云原生·容器·kubernetes
catoop17 小时前
K8s 无头服务(Headless Service)
云原生·容器·kubernetes
小峰编程18 小时前
独一无二,万字详谈——Linux之文件管理
linux·运维·服务器·云原生·云计算·ai原生
快乐非自愿18 小时前
分布式系统架构2:服务发现
架构·服务发现
小马爱打代码18 小时前
云原生服务网格Istio实战
云原生
2401_8543910818 小时前
SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法
java·开发语言·架构