乘云原生之风,破IT升级之浪

当今,全球数字经济蓬勃发展,各种新兴技术层出不穷,云计算便是其中之一。云计算服务从最初的兴起到逐渐落地到各个行业,经过了黄金发展的十年,一直保持着高速增长的趋势,被视为 21 世纪最有前景的市场之一。

2020 年,一场突发的新冠疫情,再次引爆了云计算市场。疫情之下,足不出户,带来了“在线服务”的大爆发,学校在各种云平台上开展在线教学,企业在云平台上开展视频会议,进行线上协同办公,无论是线上教学,还是线上办公,其背后都需要稳定的云服务来保障。

在传统 IT 开发环境里,产品开发上线周期长、研发效能不高,云原生架构充分利用了云计算的分布式、可扩展和灵活的特性,更高效地应用和管理异构硬件和环境下的各类云计算资源。通过方法论工具集、最佳实践和产品技术,开发人员可专注于应用开发过程本身。
什么是云原生

从字面意思上来看,云原生可以为云和原生两个部分组成。
说到云,不得不提到本地,毕竟我们传统的应用都是跑在本地的服务器上的,而如今,云的应用不断广泛,很多行业和应用也都逐渐上云了。
而原生,也就是原本的样子,即我们在开始设计应用之初就得考虑该应用以后是得运行在云环境的,充分利用云资源的优点,比如分布式和持续交付等优势。云原生利用的主要技术框架见下图:
image.png

1. 微服务

我们把微服务的本质看做是把一块大蛋糕分成若干块低耦合的小蛋糕,比如一块小蛋糕专门负责接收外部的数据,一块小蛋糕专门负责响应前台的操作,小蛋糕可以进一步拆分,比如负责接收外部数据的小蛋糕可以继续分成多块负责接收不同类型数据的小蛋糕,这样每个小蛋糕出问题了,其它小蛋糕还能正常对外提供服务。


2. DevOps

DevOps(Development 和 Operations 的组合词)是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
image.png
简而言之,就是开发和运维不再是分开的两个团队,而是互相融合的一个团队。

3.持续交付

持续交付是一种软件开发实践,通过持续交付,系统可以自动为将代码更改发布到生产环境做好准备。现代应用程序开发的支柱,持续交付通过在构建阶段后将所有代码变更部署到测试环境和/或生产环境中,实现对持续集成的扩展。在正确实施时,开发人员将始终拥有已通过标准化测试流程的部署就绪构建构件。
image.png

4.容器化

容器化使开发人员可以更快,更安全地创建和部署应用程序。容器化通过捆绑应用程序代码以及运行它所需的相关配置文件,库和依赖项。该软件或“容器”的单个软件包是从主机操作系统中抽象出来的,因此,它是独立的,并且可以移植,可在任何平台或云上运行而不会出现问题。

所以你也可以简单地把云原生理解为:

云原生 = 微服务 + DevOps + 持续交付 + 容器化

云原生****三大核心价值助力开发者降本增效

1.降低运营复杂度云原生架构使软件应用和服务器实现了解耦,让服务器不再是开发者的焦点。在开发者进行应用上线前,无须再提前规划服务器的数量和规格。而在运维过程中,开发者也无须再持续监控和维护具体服务器的状态,只需要关心应用的整体状态。

2.降低运营成本
运营人员不需要过于关注服务器,运营的复杂度下降,应用运营所需要投入的时间和人力也将大大降低。在最好的情况下,可以做到少数几个应用管理员即可管理一个处理海量请求的应用系统。

3.缩短产品的上市时间
在云原生架构下,软件应用的开发效率更高,应用开发的迭代周期更短。因而,开发者的关注点可以更多地放在软件应用的体验和改进以及其他能带来更高业务价值的地方。

总而言之,云原生容器平台解决方案,兼顾了用户对于性能、成本和安全的综合需求。因此开发者不需要过多关注服务端的运维,不需要关心不熟悉的领域,只需要专注于业务的开发、专注于产品的实现。

未来,芯片、开发平台、应用软件乃至计算机等将诞生于云上,可将网络、服务器、操作系统等基础架构层高度抽象化,降低计算成本、提升迭代效率,大幅降低云计算使用门槛、拓展技术应用边界。

参考资料:

https://aws.amazon.com/cn/devops/continuous-delivery/

https://aws.amazon.com/cn/devops/what-is-devops/

https://www.redhat.com/en/topics/microservices/what-are-microservices

https://www.jianshu.com/p/a37baa7c3eff