高 巍,陈 磊,张红兵,杨红军
(1.麒麟软件有限公司,北京 100080;2.上海道客网络科技有限公司,上海 200438)
企业架构指引企业建立配套的业务架构、应用架构和数据架构,推动以虚拟化技术为核心的资源型云基础设施建设演进,以云原生为代表的新一代效能型云基础设施建设。云原生是一套技术体系和方法论,涵盖应用开发、构建、部署、更新、运维、运营等流程,云原生技术包含操作系统内核、容器、编排、服务网格、可观测技术等,构建安全可控、高性能、高可靠高可用、可观测的云原生平台,可更好地服务于行业数字化转型。
企业架构(Enterprise Architecture,EA)是指企业整体上的组织结构、业务流程、信息系统和技术基础设施等方面的总体规划,旨在实现经验战略和目标。企业架构定义了组织的愿景、战略和业务目标,并提供了实现这些目标所需的结构、流程、人员和技术等资源。企业架构包含四部分:业务架构(Business Architecture,BA)、数据架构(Data Architecture,DA)、应用架构(Application Architecture,AA)、技术架构(Technology Architecture,TA)。
云原生概念最早由Pivotal的MattStine于2013年提出。2015年谷歌公司牵头成立了云原生计算基金会(Cloud Native Computing Foundation,CNCF),致力于推动云原生技术的普及和可持续发展。2018年,随着服务网格(Service Mesh)的加入,CNCF对云原生的定义发生了改变:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生技术主要包括容器、服务网格、微服务、不可变基础设施和声明式API。
Linux内核从技术层面讲是将应用层的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址;从应用程序层面讲,应用程序与硬件没有联系,只与Linux内核有联系,应用程序使用系统调用(syscall)接口发出请求。随着云原生技术的发展,新一代Linux内核以cGroup、eBPF等为代表支撑分布式调度、容器管理、编排管理等新功能[1]。
云原生平台支撑以应用为核心,从基础设施建设到IT架构,到应用开发运营实现全方位改造,助力实现应用现代化[2]。
(1)基础设施方面:云原生平台构建统一的调度、管理和运行维护能力。通过统一资源管理和统一集群调度以及统一流量治理,实现跨云、跨集群的监控能力;通过统一运行维护,实现多中心不同集群的运维协同能力。
(2)应用管理方面:云原生平台构建统一的治理和分发能力加速业务迭代。通过统一应用治理,实现独立灵活的策略和应用配置,保障了应用的一次构建多次部署运行,同时可根据资源利用情况实现多集群间的弹性部署[3]。
(3)运维管理方面:云原生平台构建统一的安全防护和优化能力。通过安全治理可将漏洞治理、威胁处理、应用保护等安全能力下放至分布式节点,实现安全的统一能力纳管、统一攻击防护、统一响应和统一运营,快速提升分布式接入节点的安全防护能力。
从传统IT架构到云原生架构转型,受行业业务特点影响,面临如下挑战。
(1)开发模式转变:从单体应用架构向微服务应用架构升级,需要转换应用架构设计开发思想,在微服务切分、敏捷开发、上线等诸多环节都与传统应用有很大差别。
(2)运维新挑战:云原生应用中微服务数量多,数据量大,监控数据复杂,需要综合考虑多种指标。微服务架构使得应用的监控粒度更加细化,需要针对每个微服务进行单独的监控和统计,同时需要维护整个应用的全局视图。
(3)安全新挑战:微服务架构和容器技术使得应用的部署和管理变得更加复杂,增加了应用的攻击面。基于容器技术应用中的多个微服务共享同一个操作系统内核和容器宿主机,带来了隔离性的挑战,一旦一个容器受到攻击,攻击者就可以在容器内部自由活动。
云原生核心功能包括:针对行业IT资源实现敏捷管理,对感知业务流量进行弹性分配,提升资源利用效率;为分布式开发、交付和运维定义统一的规范标准,发挥微服务架构灵活性,覆盖开发、测试、运维、运营的应用交付全生命周期,提升整体应用交付速度和质量;满足行业特殊的安全监管需求,将安全理念融入应用开发全生命周期,保障全局安全运营。
Linux内核技术是支撑云原生技术的根基。
4.1.1 容器网络支撑
容器网络依赖Linux内核虚拟化和网络等技术,随着内核技术发展有如下技术路线。
(1)采用Linux bridge、Open vSwitch等技术实现overlay网络:早期容器间依赖Linux Bridge、Open vSwitch等技术实现Overlay网络。数据包的路由转发基于封包的方式,如VXLAN。基于VXLAN的封包和通过隧道进行跨主机的传输性能虽有损耗,在应用未大规模上云时性能基本满足需求。
(2)基于BGP(Border Gateway Protocol,边界网关协议)路由能力的网络:不使用封包的方式来构建容器网络能够提升性能,借助内核的路由能力实现Pod之间的可寻址、可路由和可互通的方案。典型的方案是基于BGP路由传播协议的方式,将容器的路由信息在所有主机之间广播。
(3)基于MacVLAN、IPVLAN等偏物理网络的underlay网络:某些特定场景有使用物理IP地址实现容器网络互通的诉求,使用MacVLAN、IPVLAN等技术实现物理IP地址与容器绑定。这种方案性能明显优于Overlay网络。
4.1.2 操作系统eBPF技术
近年来,Linux内核技术eBPF(扩展的伯克利数据包过滤器,extended Berkeley Packet Filter)可以运行沙箱程序,安全有效地扩展内核功能,无须更改内核源代码或加载内核模块。eBPF技术在云原生可观测性、网络加速、安全等方面具有极大支撑能力。
基于“容器+Kubernetes”构建容器云。容器技术将应用程序打包到容器中,Kubernetes进行容器编排,实现容器的自动化部署、集群管理及应用容器化管理。相比传统PaaS平台,容器技术和Kubernetes容器编排引擎为应用提供了DevOps集成能力、持续发布策略以及扩缩容、服务治理等能力,使得开发者更专注于业务逻辑的开发,充分利用容器云平台的能力,通过自动化缩短业务迭代上线周期、优化资源利用率、提高服务响应效率。
基于eBPF技术实现从底层容器、通用技术组件到业务应用系统全链路监测,将链路、指标、日志、事件有机整合。相比监控系统异常,平台可观测性不仅包含监控的能力,更多的是面向业务,强调将业务全过程透明化的理念。业内通常采用OPLG体系搭建平台可观测性,OPLG是指将OpenTelemetry Traces、Prometheus Metrics、Loki Logs通过Grafana Dashboards进行统一展示。
基于构建“本质安全+过程安全”底座,具备完整、有效、可靠的全栈原生安全体系。
(1)“本质安全”解决供应链安全的问题:选择具备自主知识产权、生态体系完备、技术架构先进、替代升级同步的信息技术创新应用,通过“本质安全”“关后门”,解决制约网络安全和数据安全的命门。
(2)“过程安全”构建全栈网络安全的防护机制:依靠可信计算技术构建主动免疫体系、原生安全产品体系,构建高等级安全防护能力、安全合规保障体系,满足强合规要求、攻防实战安全运营体系达成安全效果目标,通过“过程安全”“堵漏洞”,对网络安全整体运营进行防护,解决影响网络安全和数据安全的关键问题。
某大型券商是国内领先的证券集团,提供专业、多元的证券金融服务,随着互联网业务的深入发展,亟须进行数字化转型,寻找新的业务增长点。
(1)构建自主可控安全底座:基于国产处理器,通过国产操作系统屏蔽底层硬件,提供多样性算力支撑,采用国产操作系统提供虚拟化、容器等技术和生态支撑。
(2)搭建开放的容器云:建设稳定可靠、跨环境一致的运行环境,构建坚实高效、稳定就绪、可管可控的容器云。容器云实现资源池化,为应用提供高效算力和AI支持。
(3)提供面向交付的一体化研发流程:平台通过DevOps定义自动化的应用交付流程,在金融交易的复杂环境中实现应用的快速迭代。基于平台封装大量底层能力,提供高效的业务交付能力,赋能业务快速上线和价值变现。
(4)打造敏捷的应用上云方案:提供统一的应用编排能力,用户可以通过模板实现应用的快速、多环境部署。通过微服务框架实现应用上云,建立独立开发、独立部署的应用秩序。
(5)提供“内生安全+过程安全”的安全架构:基于国产操作系统提供内生安全支撑,通过平台提供安全可视化、运行时安全、基础镜像管理、安全控制、安全基线、漏洞管理等全方位的安全管控方案,为业务系统提供生产合规的安全保障。
(6)构建运维分析的决策支撑体系:基于操作系统eBPF平台引入智能的可观测性模块,提升运维效率,快速定位问题根因,缩短故障处置时间。
通过平台建设实现支撑从基础软硬件到应用的全栈安全可控功能,通过国产操作系统部署适配,提升业务系统自主可控的能力;通过容器化和微服务化的应用部署,提升应用开发、运维全链路效率。使App应用从开发到上线部署效率提升60%,运维响应速度提升50%,业务流程效率提升30%。为服务能力提升和业务战略实施打下良好基础。
云原生技术和平台是行业数字化转型基础设施,不难看出操作系统(Operating System)与云操作系统(Orchestration System)是构建云原生平台的基石,操作系统为容器提供底层的资源管理和隔离,云操作系统提供应用管理和编排能力,实现高效、安全和灵活的应用程序部署和管理功能。OS+OS技术不断发展,为行业数字化转型基础设施建设和业务应用创新提供驱动力。■