云原生架构的关键技术
导读:随着云原生技术理念的在行业内进一步的实践发展,云原生架构完成了IT架构在云计算时代的进化升级。以CI/CD、DevOps、微服务架构为代表的云原生技术以其高效稳定、快速响应的特点驱动引领企业的业务发展,帮助企业构建更加适用于云上的应用服务。对企业而言,新旧IT架构的转型与企业数字化的迫切需求也为云原生技术提供了很好的契机,云原生技术在行业的应用持续深化。(⼀)云原⽣...
导读:
随着云原生技术理念的在行业内进一步的实践发展,云原生架构完成了IT架构在云计算时代的进化升级。以CI/CD、DevOps、微服务架构为代表的云原生技术以其高效稳定、快速响应的特点驱动引领企业的业务发展,帮助企业构建更加适用于云上的应用服务。对企业而言,新旧IT架构的转型与企业数字化的迫切需求也为云原生技术提供了很好的契机,云原生技术在行业的应用持续深化。
(⼀)云原⽣架构的关键技术
1.容器技术
容器是一种轻量级的虚拟化技术,能够在单一主机上提供多个隔离的操作系统环境,通过一系列的namespace进行进程隔离,每个容器都有唯一的可写文件系统和资源配额。容器技术分为运行时和编排两层,运行时负责容器的计算、存储、网络等,编排层负责容器集群的调度、服务发现和资源管理。
容器服务提供高性能可伸缩的容器应用管理服务,容器化应用的生命周期管理可以提供多种应用发布方式。容器服务简化了容器管理集群的搭建工作,整合了调度、配置、存储、网络等,打造云端最佳容器运行环境。使用容器技术,用户可以将微服务及其所需的所有配置、依赖关系和环境变量打包成容器镜像,轻松移植到全新的服务器节点上,而无需重新配置环境,这使得容器成为部署单个微服务的最理想工具。
2.微服务
微服务是指将大型复杂软件应用拆分成多个简单应用,每个简单应用描述着一个小业务,系统中的各个简单应用可被独立部署。各个微服务之间是松耦合的,可以独立地对每个服务进行升级、部署、扩展和重新启动等流程,从而实现频繁更新而不会对最终用户产生任何影响。相比传统的单体架构,微服务架构具有降低系统复杂度、独立部署、独立扩展、跨语言编程等特点。
与此同时,架构的灵活、开发的敏捷同时带来了运维的挑战。微服务框架作为微服务开发和运行治理的必要支撑,帮助实现微服务注册、发现、治理等能力,目前,在微服务技术架构实践中主要有侵入式架构和非侵入式架构两种实现形式。侵入式架构是指服务框架嵌入程序代码,实现类的继承,其中以SpringCloud最为常见。非侵入式架构则是以代理的形式,与应用程序部署在一起,接管应用程序的网络且对其透明,以服务网格为代表。在中国信息通信研究院制定的《分布式应用架构技术要求第一部分:微服务平台》中也对这两种架构进行了详细的描述,并提出了相应的技术要求。
ØSpringCloud
SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册发现、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。SpringCloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
ØServiceMesh
ServiceMesh处理服务间请求/响应的可靠传递,并可用于服务治理、遗留系统的零侵入接入以及异构框架开发的微服务。ServiceMesh作为服务间通信的基础设施层,是应用程序间通讯的中间层,实现了轻量级网络代理,对应用程序透明,解耦了应用程序的重试/超时、监控、追踪和服务发现。ServiceMesh的开源软件包括Istio、Linkderd、Envoy、SOFAMesh、DubboMesh等。
3. DevOps
DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
DevOps旨在统一软件开发和软件操作,与业务目标紧密结合,在软件构建、集成、测试、发布到部署和基础设施管理中大力提倡自动化和监控。DevOps的目标是缩短开发周期,增加部署频率,更可靠的发布。用户可通过完整的工具链,深度集成代码仓库、制品仓库、项目管理、自动化测试等类别中的主流工具,实现零成本迁移,快速实践DevOps。
DevOps帮助开发者和运维人员打造了一个全新空间,构建了一种通过持续交付实践去优化资源和扩展应用程序的新方式。DevOps和云原生架构的结合能够实现精益产品开发流程,适应快速变化的市场,更好的服务企业的商业目的。
(⼆)云原⽣架构的典型技术特征
云原生架构具有如下典型技术特征:
采用轻量级的容器。云原生应用程序是打包为轻量级容器的独立自治服务的集合。与虚拟机相比容器可以实现更加快速的扩展,优化基础架构资源的利用率。
设计为松散耦合的微服务。属于同一业务的服务通过微服务框架相互发现,它们可作为独立的服务而存在,并利用弹性基础架构和应用架构进行高效扩展。
通过API进行交互协作。云原生服务使用轻量级API进行交互,比如基于RESTFul、gRPC或NATS等协议。
使用最佳语言和框架开发。云原生应用的每项服务可以使用最适合该功能的语言和框架开发。云原生应用程序是多语言的;服务使用各种语言、运行时和框架。开发微服务的细粒度方法使各个服务能够为特定功能选择最佳语言和框架。
通过DevOps流程进行管理。云原生应用的每项服务都有一个独立的生命周期,通过敏捷的DevOps流程进行管理。多个持续集成/持续部署流水线可以协同工作以部署和管理云原生应用程序。
(三)云原⽣应用的优势
云原生应用可充分利用云平台服务优势。云原生应用可以快速构建并部署到平台上,平台提供了简单快捷的扩展能力并与硬件解耦,提供了更大的灵活性、弹性和跨云环境的可移植性。云原生将云计算作为竞争优势,原生云意味着将云目标从IT成本节约转向业务增长引擎。
云原生应用使团队专注于弹性设计。在传统的旧基础设施故障时,服务是可能会受到影响的。在一个云原生的世界中,团队特别关注于为弹性和高可用进行架构设计。云原生焦点帮助开发人员和架构师设计不受环境中故障影响的在线系统,快速弹性的重建和保持系统可用。
云原生应用具备多云间扩展的灵活性。公有云的厂商绑定现象一直为人诟病,但是使用支持云原生技术的云平台,企业可以将构建在任何(公有或私有)云上的应用快速迁移,兼具不同云服务商的优势服务能力无需担心锁定。
互联互通社区
互联互通社区-IT智库,是互联互通社区IT架构、前沿技术平台。包含科技趋势、总体架构、产业架构、技术架构、系统架构、业务架构等内容,内容简练,皆属干货,合作请+微信:hulianhutongshequ.
更多推荐
所有评论(0)