好文档 - 专业文书写作范文服务资料分享网站

云原生实践技术白皮书

天下 分享 时间: 加入收藏 我要投稿 点赞

解决了应用移植过程的环境一致性问题,使微服务实现快速弹性的部 署。敏捷开发带来应用的快速迭代,同时也增加了版本发布的风险与 业务运维的复杂度。DevOps 理念提倡开发、测试、运维之间的高度协同,从而在完成高频率部署的同时,提高生产环境的可靠性、稳定 性、弹性以及安全性,这在很大程度上消除了频繁发布的风险。

图 1:基础架构,交付和应用之间的关系图

(三) 我国云原?产业现状

云原生理念在我国经过几年的推广普及,已经逐步为企业接受, 云原生产业已步入快速发展期。过去两年,容器技术的应用持续深化, 以容器及其编排技术为核心的生态,逐渐扩展至涵盖微服务、DevOps、 服务监测分析、应用管理的完整闭环。

3

图 2:云计算容器技术采纳率

2

华为云、阿里云、腾讯云等巨头云服务商以强大的综合云服务能 力推动着云原生技术的发展变革,细分生态领域的企业级产品服务也 不断涌现,提供更加聚焦的精细化服务。在过去几年中国企业的开源 社区贡献率持续增长,不断有新的开源项目反哺社区,已成为国际开 源社区的重要力量。

二、 云原生架构的关键技术

(?) 云原?架构的关键技术

1. 容器技术

容器是一种轻量级的虚拟化技术,能够在单一主机上提供多个隔 离的操作系统环境3,通过一系列的 namespace 进行进程隔离,每个容器都有唯一的可写文件系统和资源配额。容器技术分为运行时和编排 两层,运行时负责容器的计算、存储、网络等,编排层负责容器集群 的调度、服务发现和资源管理。

2 数据来源:《中国私有云发展调查报告(2018 年) 》

3 定义引自《中国云计算开源产业发展白皮书第二部分:基于容器技术的产业》

4

容器服务提供高性能可伸缩的容器应用管理服务,容器化应用的 生命周期管理可以提供多种应用发布方式。容器服务简化了容器管理 集群的搭建工作,整合了调度、配置、存储、网络等,打造云端最佳 容器运行环境。使用容器技术,用户可以将微服务及其所需的所有配 置、依赖关系和环境变量打包成容器镜像,轻松移植到全新的服务器 节点上,而无需重新配置环境,这使得容器成为部署单个微服务的最 理想工具。

2. 微服务

微服务是指将大型复杂软件应用拆分成多个简单应用,每个简单 应用描述着一个小业务,系统中的各个简单应用可被独立部署。4各个 微服务之间是松耦合的,可以独立地对每个服务进行升级、部署、扩 展和重新启动等流程,从而实现频繁更新而不会对最终用户产生任何 影响。相比传统的单体架构,微服务架构具有降低系统复杂度、独立部署、独立扩展、跨语言编程等特点。

与此同时,架构的灵活、开发的敏捷同时带来了运维的挑战。微 服务框架作为微服务开发和运行治理的必要支撑,帮助实现微服务注 册、发现、治理等能力,目前,在微服务技术架构实践中主要有侵入 式架构和非侵入式架构两种实现形式。侵入式架构是指服务框架嵌入 程序代码,实现类的继承,其中以 Spring Cloud 最为常见。非侵入式架构则是以代理的形式,与应用程序部署在一起,接管应用程序的

4 定义引自《云计算发展白皮书 2018 年》第二章-云计算发展特点

5

网络且对其透明,以服务网格为代表。在中国信息通信研究院制定的

《分布式应用架构技术要求第一部分:微服务平台》中也对这两种架 构进行了详细的描述,并提出了相应的技术要求。

? Spring Cloud

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册 发现、配置中心、消息总线、负载均衡、断路器、数据监控等,都可 以用 Spring Boot 的开发风格做到一键启动和部署。Spring Cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得 起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装 屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、 易部署和易维护的分布式系统开发工具包。

? Service Mesh

Service Mesh 处理服务间请求/响应的可靠传递,并可用于服务治理、遗留系统的零侵入接入以及异构框架开发的微服务。Service Mesh 作为服务间通信的基础设施层,是应用程序间通讯的中间层,实现了轻量级网络代理,对应用程序透明,解耦了应用程序的重试/超时、监控、追踪和服务发现。Service Mesh 的开源软件包括 Istio、 Linkderd、Envoy、SOFAMesh、Dubbo Mesh 等。

3. DevOps

6

DevOps 是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付 软件产品和服务,开发和运营工作必须紧密合作。5

DevOps 旨在统一软件开发和软件操作,与业务目标紧密结合,在软件构建、集成、测试、发布到部署和基础设施管理中大力提倡自动 化和监控。DevOps 的目标是缩短开发周期,增加部署频率,更可靠的发布。用户可通过完整的工具链,深度集成代码仓库、制品仓库、项 目管理、自动化测试等类别中的主流工具,实现零成本迁移,快速实 践 DevOps。

DevOps 帮助开发者和运维人员打造了一个全新空间,构建了一种通过持续交付实践去优化资源和扩展应用程序的新方式。DevOps 和云原生架构的结合能够实现精益产品开发流程,适应快速变化的市场, 更好的服务企业的商业目的。

图 3:DevOps 与传统瀑布式开发、敏捷开发的开发周期对比

5 引自《研发运营一体化(DevOps)能力成熟度模型》标准中对 DevOps 的定义。

7

云原生实践技术白皮书

解决了应用移植过程的环境一致性问题,使微服务实现快速弹性的部署。敏捷开发带来应用的快速迭代,同时也增加了版本发布的风险与业务运维的复杂度。DevOps理念提倡开发、测试、运维之间的高度协同,从而在完成高频率部署的同时,提高生产环境的可靠性、稳定性、弹性以及安全性,这在很大程度上消除了频繁发布的风险。图1:
推荐度:
点击下载文档文档为doc格式
5lscd9gupu4g4gh0kzl91od1e2lmz900xsp
领取福利

微信扫码领取福利

微信扫码分享