我与云原生的故事

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: #我与云原生的故事#云原生学习的最佳路径

说到云原生,就要说到云计算,我认为云原生是对云计算1.0时代的细化和思想的升华。云计算从工业化应用到现在已走过十来年头,云计算得到了蓬勃高速的发展,无论公有云和私有云基本遍地开花,虚拟机代替了原来的物理机,分布式计算已经成为新的基础能力。但企业在云计算应用方面还存在一些问题与挑战。例如企业基于云上的应用,未能充分发挥云价值与能力。其次,数字化转型,使得企业IT需要更敏捷的方式支撑。并且如何解决传统企业IT建设模式与软件架构,导致企业软件运维成本偏高的问题。其实所有这些问题都指向一个共同点,云的时代需要新的技术架构,来帮助企业应用能够更好地利用云计算优势,充分释放云计算的技术红利,从而让业务更敏捷、成本更低的同时又可伸缩性更灵活......这些都是云原生架构专注解决的技术点。

 

一个机会,看到阿里云有相关的云原生相关的入门认证,也考了相关的认证,让我对云原生有了一个概括性的认识。在这里也推荐大家如果想快速的了解的整个云原生体系,可以通过这种对Cloud Native有一个简单的概括性的了解。

image.png

 

对于我们开发者而言,云原生技术的不断发展和演进使得软件平台开发门槛越来越低,在阿里云原生平台通过云原生技术,使得软件开发者无需自行搭建、运维服务器以及底层中间件,开发者不在各种环境、不同技术中间件的试错积累运维、排错经验,可以更加更专注自身的业务逻辑及开发语言。目前比较主流的几种云原生架构主要包含:

1) 服务化架构是云原生时代构建云原生应用标准架构模式。以应用模块为颗粒度划分一个软件,以接口方式定义彼此的业务关系,以标准协议确保服务之间的互联互通。这是微服务的标准模式。

2) Mesh化架构模式是把中间件,比如RPC、缓存、异步消息等从业务中进行剥离,让中间件、SDK与业务代码进一步的解耦,从而使中间件的升级和业务的进程没有影响,让中间件对于业务的应用是透明的。

3) Serverless架构模式强调的是无服务,它将系统底层都抽象出来了,定义为新的服务。将部署这个动作从运维中抽走,使开发者不需要关心应用在哪运行;当业务流量到来,会自动扩容,处理完可以恢复正常水平,弹性扩缩容,降低成本。

4) 存储计算分离模式,基于CAP理论,对于需要有状态存储的数据而言,如何获取C(数据的一致性)A(系统可用性)P(分区容错性)他们之间的最佳的平衡状态,这是一门技术和艺术。在云环境中为了获取更强系统弹性,实现系统高可用,推荐把各类状态的数据、结构化、非结构化的持久化数据采用云存储的形式进行保存,从而实现计算和存储的分离。

分布式事务模式,微服务的模式提倡每个服务使用私有的数据源,而不像单体一样共享数据源,往往大颗粒度的业务要访问多个微服务,必然带来分布式事务的问题,处理不好会带来数据不一致。

5) 可观测架构,包括日志监控、链路追踪、监控指标三个方面。日志监控可以提供多个级别的、详细的信息跟踪。链路追踪一个请求从前端到后端的完整的调用链路跟踪,对于分布式场景很重要。监控指标提供多个维度的观测指标。

对于我们企业而言,我相信对于不同规模的企业都有不同的价值。比如大企业打破部门壁垒,统一技术框架。小企业更多关注敏捷灵活的开发迭代。云计算的下一站,就是云原生。IT架构的下一站,就是云原生架构。

现在我们企业现在也是在积极的拥抱云原生,基于微服务原理而开发的应用,以容器方式打包,在运行时,容器由运行于云基础设施之上的平台进行调度,应用开发采用持续交付和Devops实践。充分运用了容器及容器编排技术、云原生微服务架构、云原生中间件、Devops。目前正在与开发团队进行Serverless融合改造。

阿里云作为拥有国内最丰富的的云原生产品家族、最全面的云原生开源贡献、最大规模的云原生应用实践。很高兴成为客户群体中的一员。

image.png

如果各位小伙伴的企业拥抱云原生技术,具体要在什么方面来落实。CNCF有一个建议的技术路线图。列出诸多,比如说通过应用容器化,使得应用更易于迁移的交付,通过持续集成的区域部署提升云原生软件的质量,通过容器编排简化应用的部署。都是可以参考的。并且阿里云官网也有很多资料(如云原生架构白皮书、云原生技术与架构实践年货小红书-定版)、客户案例供您参考。其中容器(Containers)、微服务(Microservices)、无服务(Serverless)、DevOps、ServiceMesh(服务网格)、云(Cloud)这6个主要方面,并不是孤立的,而是相互联系的。云是一切的基础,为上层应用的运行提供了计算、网络、存储等基础架构资源;容器在云的基础架构和应用之间,集有了应用和基础架构资源;应用层面,用户可以根据场景来选择微服务架构或者是无服务器架构;在复杂的交互场景当中,通过服务网格,可以对服务组建的通讯进行管控;通过DevOps构建一个应用架构不断迭代更新的正向循环。

image.png

最后,大家可以看看CNCF在中国进行的第四次云原生调查,以期更加深入地掌握中国云原生实施的步伐和速度。大家一起来拥抱云原生吧。

https://www.cncf.io/blog/2021/04/28/cncf-cloud-native-survey-china-2020/

 

 

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
存储 安全 关系型数据库
Greenplum 6.1 安装部署
本文详细介绍了Greenplum 6.1安装部署的全过程
2383 0
|
存储 监控 前端开发
OpenStack组件Horizon
【8月更文挑战第20天】
400 4
|
9月前
|
SQL XML Java
八、(了解即可)MyBatis懒加载(或者叫延迟加载)
八、(了解即可)MyBatis懒加载(或者叫延迟加载)
272 1
|
SQL 关系型数据库 MySQL
sqlite3自动插入创建时间和更新时间
在本文中,作者分享了如何使用sqlite3数据库来记录结构化日志,并实现主键ID自增、插入数据时自动填充创建时间(created_at)以及更新数据时更新时间(updated_at)的功能。首先,创建数据库和表`position_info`,然后通过修改表结构使ID字段为自动递增。接着,设置`created_at`和`updated_at`字段默认值为当前时间。最后,创建一个触发器在数据更新时自动更新`updated_at`。完整SQL代码包括表创建和触发器定义。
477 0
|
存储 API Swift
一文秒懂什么是OpenStack?
一文秒懂什么是OpenStack?
1600 0
|
传感器 安全 物联网
5G与物联网:加速产业数字化转型
【10月更文挑战第26天】
325 0
|
Java Maven Android开发
eclipse更改maven的本地路径和外部仓库地址
eclipse更改maven的本地路径和外部仓库地址
688 1
|
机器学习/深度学习 人工智能 算法
人工智能(AI)中的数学基础
人工智能(AI)是一个多学科交叉的领域,它涉及到计算机科学、数学、逻辑学、心理学和工程学等多个学科。数学是人工智能发展的重要基础之一,为AI提供了理论支持和工具。
518 1
|
机器学习/深度学习 存储 人工智能
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能(1)
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
|
数据可视化 数据挖掘 数据处理
statsmodels, Python 统计分析工具库!
statsmodels, Python 统计分析工具库!
346 1