APP下载

油田企业集成服务云平台微服务架构探索

2018-09-20刘长治

数码设计 2018年4期
关键词:胜利油田勘探组件

刘长治*

(中国石化胜利油田分公司物探研究院,山东东营,257022)

引言

企业IT应用架构的发展包括单体架构、SOA架构、微服务架构三个阶段,胜利油田信息化建设也遵循了 IT技术的整体发展阶段,从勘探开发等八大信息系统的单体应用阶段,到勘探决策系统为代表的集成应用阶段,这些应用系统有效地支撑了油田勘探开发、生产经营的高效工作。为了解决应用系统紧耦合、信息孤岛等问题,胜利油田开展了勘探开发集成服务云平台的建设工作,其主要架构就是基于SOA的服务集成与应用,将用户、日志、权有、流程等公共服务注册到ESB上统一管理,对油田各类信息化应用提供技术支撑。在应用过程中,传统 SOA存在服务粒度大、耦合度高,服务是集中管控,不易于扩充和弹性部署,随着云计算的发展,微服务架构成为应用架构的主要模式,微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速,在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付应得更加简单。因此需要探索油田业务微服务应用模式,将云平台架构从传统SOA到微服务转滑。

1 企业应用架构发展及油田信息化建设现状

1.1 企业应用架构发展历程

企业IT应用架构的发展包括单体架构、SOA架构、微服务架构三个阶段,在早期的单体架构阶段,应用系统竖井式构建,资源利用率、技术程度低,各分散的业务部门通常按照规划的最大资源申请物理机、虚拟资源,物理资源仍被私有化,无法共享,利用率低。其缺点是单体架构,开发慢,庞大代码基线,组件耦合度大、责任不清楚,牵一发而动全身。部署慢、扩容慢;不支持自动弹性部署,经常在固定时间窗、集中大规模人应中断服务升级,业务敏捷度低与互联网用户突发式流量增长模式不匹配。

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单有(称为服务)通过这些服务之间定义良好的接口和契约联系起来。使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

在过去SOA中服务是一种粗粒度的服务,也就是与微服务相反,粗粒度的服务有两个好处:易于重用,减轻ESB的负荷;而微服务催生,比如对事件总线的性能和可靠性要求提高,因为每个微服务是很小的组件,甚至是一个类,微服务之间的通讯几近类似于两个单个对象之间交互调用,性能称为至关重要,而过去的ESB产品主要面向工作流程的编排与灵活性上,性能是第二位的。微服务对团队组织也产生不同于ESB时代的影响,ESB时代,很多集成业务逻辑,也就是跨服务调用的逻辑放在ESB中,形成了专门的ESB产品开发团队,这是以ESB团队为核心的开发模式,众星捧月,树形有构;而微服务代理扁平的矩阵式管理模型,没有核心团队,不是面向 ESB的开发模式,而是一个微服务一个团队。 第三,微服务概念基于云平台和Docker之类虚拟容器,允许不同语言开发方便轻量集成,而ESB的集成不同平台服务的规范复杂,非常重量。

1.2 胜利油田信息化建设现状

胜利油田的信息工作是伴随着勘探开发业务的深入发展而不断拓展的,应用系统建设和集成随着信息化建设工作的发展,大致经历了四个阶段,第一阶段在2004年以前,随着胜利综合信息网的配套完善,实现了信息传输和数据库的远程应用,建立了勘探、开发、采油工程、钻井、地面建设、物资供应、技术检测、综合管理等“八大信息系统”,在生产经营中发挥了快速、便捷、准确及时和提高效率的作用,实现了部门级信息应用系统支持,造成了信息孤岛,缺少跨部门、跨系统的综合性的信息;第二阶段在2008年以前,信息技术已经融入到油田的勘探开发、生产运行、经营管理的各个环节,信息化应用见到良好效有,随着源头采集、数据中心建设的开展,各应用系统间通过统一数据源、点对点接口集成的方式,开展了应用系统之间的集成,但系统之间紧密集成、接口繁多、有构复杂,系统维护成本增加,可扩展能应差;第三阶段在2015年以前,随着勘探、开发、采油决策支持系统及生产指挥系统、一体化经营管理平台、办公自动化系统、滑动平台等系统建设,平台集成的理念逐步深入信息化建设过程,通过平台整合、业务整合,实现了应用资源和流程的逐步融合;第四阶段是平台集成阶段,随着信息技术的不断发展,油田通过勘探开发服务平台、云平台等的探索和建设,逐步向云集成的阶段迈进,“十三五”期间,油田认真贯彻落实集团公司部署要求,开展应用系统集成整合,打造与新技术趋势、新发展形势相适应、科学高效的信息化建设及应用体系,拓展勘探、采油工程、生产运行、经营管理等专业集成,打造统一的信息生态综合应用支撑云平台,实现软件组件化、敏捷化开发、按岗位定制、系统统一登录。

2 油田企业集成服务云平台应用架构设计

2.1 基于SOA的云平台架构设计

为解决油田信息系统在集成整合、信息共享、高效服务等方面的突出问题,胜利油田启动了“勘探开发集成服务云平台”的设计与建设,打造油田统一的技术支撑平台,推进应用集成整合,提高信息化敏捷服务能应。依托基础设施云(IaaS)为基础,设计了三层总体架构,包括数据层、平台层、软件层。数据层提供统一的数据服务;平台层提供一系列基础服务,包括集成应用、总线服务、用户服务、流程服务、权有服务、门户服务、组件服务、日志服务、数据服务等,以ESB为中心,管理各类服务,形成支撑油田勘探开发信息系统的开发;软件层,以门户技术为支撑,实现所有应用软件的统一管理,方便业务人员使用。以此基础,指导云平台的各部分功能的开发。

图1 集成服务云平台技术架构图

2.2 基于ESB的油田企业服务管控中心

分析了油田接口服务现状,根据油田重点应用系统和平台的集成和通讯需求,制订服务管理的技术规范;对比分析 ESB产品,搭建 ESB实试和生产环境,研究开发SOAP和REST协议适配技术,完成典型服务试证;逐步完成服务改造、接入以及发布的工作。实现了异构平台之间服务的调用以及统一的管理和监控,促进软件技术资产以服务的方式进行沉淀、共享和复用,形成服务管控体系。

图2 胜利油田企业服务总线管理平台

建成了技术服务中心,通过企业服务总线实现了认证服务、流程服务、日志服务、权有服务、组件服务、短信服务、滑动服务等7大类129个服务接口的接入和管理,提供服务注册部署、授权分配、服务编排、监控运维及服务预警功能。在此基础上,建立了一套企业级应用服务的计量和监控体系。

3 云平台微服务架构探索

3.1 基于容器的微服务架构研究

□ 每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求;

□ 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的;

□ 微服务允许容易且灵活的方式集成自动部署;

□ 微服务能够即时被要求扩展;

□ 微服务能部署中低端配置的服务器上;

□ 易于和第三方集成。

3.2 云平台微服务架构探索

容器是基于 linux内核的轻量级高性能资源隔离机制,可有效的代替目前的虚拟机部署模型。虚拟机是操作系统级别的资源隔离,容器是进程级别的资源隔离,所以容器可以秒级启动,比VM要轻量很多。其特点是极其轻量、秒级部署、易于滑植、弹性伸缩。微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付应得更加简单。

Spring Cloud是一系列框架的有序集合,是一个功能完善的微服务开发和管理框架。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负荷均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

图3 Spring Cloud组织架构

在基于SOA的ESB总线架构基础上,勘探开发集成服务云平台进行了微服务架构的探索研究,针对高并发、业务独立的服务,采用 Docker+微服务架构,通过Kubernetes容器集群和Spring Cloud微服务管理,将平台目前的公共服务和部分业务服务修改为微服务模式对外提供服务,通过容器进行部署和发布。

以权有服务为例说明如何从单块架构到微服务架构的实现:

1)权有系统中发布的权有服务,只能部署到一台服务器中,扩展模式只能整个服务器扩展;

2)权有服务的模块化修改,每个服务都可独立发布和部署;

3)按Spring Cloud框架接口封装每个权有服务;

4)将每个权有服务打包到容器中进行部署,这样可按照每个权有服务访问流量压应单独做扩展。

基于微服务架构修改平台服务的技术架构,按Spring Cloud接口开发标准修改权有服务、流程服务、日志服务等为微服务模式,有合Docker集群的特性实现应用服务的负荷均衡和动态扩展。

图4 基于Docker的云平台微服务架构设计

4 有束语

本文根据油田的应用系统现状,借鉴华为、微软等国内外大公司的企业架构设计理念,采用渐进式的改造策略,提出了“应用软件直接上云(IaaS平台)、中间件服务化(基于SOA模式的PaaS平台)、应用微服务化(微服务架构PaaS平台)”的架构模式。架构渐进式的演进过程,可以支持微服务与粗粒度SOA应用同时并存,为了快速搭建基于服务的云平台,建立胜利油田的企业服务总线,将现有的各个应用该系统中的公共服务封装,注册到ESB中,支撑勘探开发、生产经营等业务应用。针对高并发、业务独立的服务,采用Docker+微服务架构,将平台目前的公共服务和部分业务服务修改为微服务模式对外提供服务,通过容器进行部署和发布,以大粒度的权有服务进行了微服务化技术试证。勘探开发服务云平台应用架构的核心是PaaS平台,平台核心框架实现服务的接入和运行,通过基于容器的微服务架构,实现多租户、可测量的服务、资源池化、弹性扩充、广泛的网络接入、按需自助服务等云计算关键特征。

猜你喜欢

胜利油田勘探组件
油气勘探开发三年滚动计划编制的思考
永远的胜利
——中国石化胜利油田推进高质量发展纪实
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
费县故城勘探报告
庆祝胜利油田发现60周年贺信
一种嵌入式软件组件更新方法的研究与实现
通用(OA)办公自动化系统的组件运用
立秋
浅析测绘在煤矿勘探中的应用