对“云原生”的初印象

一、背景

最近因为在工作中以及一些技术博客中听的比较火的一个关键词 "云原生",于是产生了好奇,云原生到底是什么东西?自己对云原生也是一个纯小白,于是带着这个问题去好好了解一下,什么是"云原生"。

二、云原生的概念了解

云原生是一种新的软件开发和部署方法 ,它的目标是在云计算环境中构建和运行可扩展、弹性、可观测和可维护的应用程序。这种方法的核心是将应用程序设计为弹性和可扩展的微服务,并将它们部署在容器中,以便于管理和快速部署。云原生应用程序通常使用现代的开发、部署和自动化工具,如DevOps、持续交付和自动化测试,以实现高效的开发和部署过程。 云原生的设计理念与云计算技术密切相关,它可以充分利用云计算提供的资源池、弹性扩展和自动化管理等特性,从而提高应用程序的可靠性、可扩展性和灵活性,并降低开发和部署的成本。云原生应用程序通常具有更好的性能、更高的可用性和更好的用户体验,是云计算时代的主流应用开发和部署方式。

我们来看看搜索引擎给的云原生的定义,其实对于新手小白来说是比较抽象,包括我自己看的也是云里雾里,我们试着来拆解一下云原生

(1)它是一种软件开发和部署方法,说明它并不是一种技术,而是一种技术体系,在这种技术体系中,目的是为了构件和运行一套可扩展性、弹性、可观测(监控体系)、可维护的应用程序

(2)它的核心是微服务,以微服务进行开展,这个对于Java程序猿还好理解,我们从一开始的单体架构,到集群架构,再到SOA架构,又到微服务架构,本质上其实就是提升自身能够支持更大的用户量以及更高的并发量

(3)具备持续部署,持续交付的能力,我们程序猿写完代码,是不是要把代码打包,以及部署, 如当代比较主流的DevOps技术体系以及容器化技术,可快速的伸缩容。

(4)利用云计算能力对应用程序进行赋能、弹性扩展以及应用监控,提升应用程序的可靠性、可扩展性和灵活性。

(5)通用化技术体系降低开发和部署的成本

这个时候,不知道小伙伴们是否理解,文字的表述能力是比较晦涩,这个时候在我的脑海有一张图,如下所示:这仅仅还是比较简单的云原生架构

三、用大白话再解释一遍

云原生的关键特点可以用更通俗的方式总结如下:


1. 像搭积木一样做软件

  • 模块化设计:把大软件拆成一个个独立的小功能(微服务),每个小功能只管自己的事,互不影响。

  • 灵活拼装:就像乐高积木,需要什么功能就组合什么模块,方便修改和升级。


2. 一键打包,随处运行

  • 容器化:把每个小功能连同它的运行环境一起打包(比如集装箱),装到哪都能用,不再担心"我电脑能用,你电脑用不了"。

  • 快速启动:像快递包裹一样,拆开就能用,几秒就能启动一个服务。


3. 自动伸缩,省心省钱

  • 想加就加,想减就减:人多了自动加服务器(比如双十一抢购),人少了自动缩容,不浪费资源。

  • 故障自愈:服务器坏了能自动换新的,用户完全感觉不到。


4. 开发运维一条龙

  • 自动化流水线:代码写完自动测试、自动发布,不用手动熬夜加班。

  • 随时更新:新功能可以像手机APP一样随时更新,用户无感知。


5. 天生为云而生

  • 用云如用水电:直接利用云计算的资源池,要多少算力随时取用,按量付费。

  • 跨云兼容:不依赖某一家云厂商,想搬家就搬家。


一句话总结:

云原生就是让软件像"智能机器人"------模块化设计、自动伸缩、快速迭代,天生适合云环境,省钱省力还抗折腾!

四、部署一套云原生架构

讲那么多,还不如自己上手玩一遍,后续有空需要搭建一套原云生架构,再完善下此博客,共勉共勉!

相关推荐
Boilermaker19921 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂1 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs2 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_992 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子2 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34162 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
古城小栈2 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie90902 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab