云原生初探:概念起源与每日小知识分享

发表时间: 2023-09-19 13:36

先说大白话:

云原生技术的发展是软件工程不断进步的一个缩影,它代表了现代软件开发和部署的最佳实践。

所以,云原生是软件工程的最佳实践。

为什么呢?它的发展过程和背景是什么呢?

  1. 容器技术的兴起:Docker公司的成功使得容器技术开始被大规模采用,它改变了应用的打包、分发和运行方式,极大地提高了应用分发的效率和一致性。这个阶段可以看作是云原生技术的崭露头角。
  2. 编排技术的发展:Kubernetes的成功定义了云原生应用的运行方式,通过声明式API和自我修复能力,它简化了应用的部署和运维,使得开发者可以专注于应用开发。
  3. 服务网格和Serverless:在Kubernetes的基础上,更上层的抽象,如服务网格和Serverless,开始出现。服务网格使得微服务间的通信、安全、流量管理变得更简单;而Serverless进一步简化了应用的运维和扩缩容,使得开发者完全不需要关心基础设施。
  4. GitOps和DevOps的结合:在这个阶段,开发和运维的边界变得越来越模糊,通过自动化CI/CD和GitOps,开发者可以很方便地将源代码以云原生的方式部署到云环境中,并且可以很方便地进行持续交付和持续部署。


从发展过程来看,云原生发展受限是容器化的发展,容器化的出现最大程度的标准化了软件的运行环境,从物理机的资源配置环境中脱离,实现了逻辑部署和物理资源的解耦。这是云原生发展的第一步。

随后,编排技术的出现,让自动化部署和运维得到了实现,软件工程的工作集中到了应用开发本身。而网络服务的发展,再次将应用环境的物理条件进行了剥离,我们可以更容易的管理流量、通信、安全。

最后,随时devops整个体系的发展,gitops从代码库层面到最终到产线运行,形成了完整的工具化自动化体系,让软件工程真正聚焦到代码实现,这使得软件工程释放了大量的成本,成为了当下软件领域的最佳实践。


所以:云原生包括两个方面,一个是云原生技术,另一个是云原生应用。利用云原生技术构建云原生应用,这是提出云原生的直接目的。

用云原生应用,快速开发迭代,管理协同从需求、研发、测试、运维上线等步骤协同,最大限度的降低运维和环境对应用的影响,同时可以协同大型分布式系统去满足复杂业务,用微服务去实现解耦和迭代及大团队协同,用弹性扩容、服务网络实现生产基于业务场景的资源实时调配保障可用性,无论从“效率”还是“可用性”上大大提升,是云原生本质存在价值。


可以说,标准化和黑盒解耦,是人类协同的永恒方法论~

下一遍开始云原生12特性,具体说说它~