23
한국전 HUB-PoP 플 개 현황과 과 2019. 09. 26 - Open Cloud PaaS-TA Summit 2019 - 디지털솔루션연구소 선임 신지강

39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

한국전력 HUB-PoP 플랫폼개발 현황과 성과

2019. 09. 26

- Open Cloud PaaS-TA Summit 2019 -

디지털솔루션연구소 선임 신지강

Page 2: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

플랫폼의 필요성

• 4차 산업 혁명에 따라 데이터를 통한 가치 창출 시도가 확대됨에 따라, 전력 분야에서도데이터를 통한 새로운 Insight 발견과 새로운 비즈니스 모델 발굴을 지향

• 이를 효과적으로 지원하기 위한 공용 플랫폼의 필요성 증대

To-Be

S/W 개발생산성

데이터활용성

데이터 및개발환경표준화

프로젝트별 플랫폼 환경 개별 구축

기간 증가 비용 증가

공용 플랫폼 기반의 SW개발 및 데이터 분석

S/W재활용성

① SW 요소기술의 개별적 개발로 공동활용 곤란

As-Is

② 시스템별IT인프라도입으로인프라유지비증가

③ 전력 데이터의 공동활용 부재 및 Island화

① SW 요소기술의 플랫폼 내재화로 SW 재활용성 향상

② Cloud 플랫폼 구축으로 IT 인프라 공유 및 비용절감

③ 데이터 표준화를 통한 연결성 / 활용성 / 융복합 향상

Page 3: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

최종 목표

• (최종 성과물) 클라우드 기반의 전력 어플리케이션 개발/운영 및 데이터 분석을 위한 환경을

제공하는 전력 소프트웨어 공용 플랫폼(HUB-PoP)

전력산업 현장에서생성되는 다양한 정보

INPUT

전력설비

IoT센서

외부플랫폼

레거시시스템

미디어

HUB-PoP에서 개발되는다양한 전력 APP

발전

송전

변전

배전

에너지신산업

Dat

a A

dap

ter

& Pla

tform

Gat

eway

API G

atew

ay

OUTPUT데이터 수집 데이터 저장 분석 및 예측 시각화

Cloud (Virtual Machine, Container)

실시간 수집

배치 수집

지리정보 수집

Data Lake

Data Mart

DBaaS

통계분석

머신러닝

자연어처리

WEB UI

WEB GIS

WEB HMI

Portal 개발자 Portal 운영자Portal App Store

DevOps 개발 테스트 배포

Page 4: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

플랫폼 Positioning

• System Platform과 Industrial Platform의 장점을 융합하여

KEPCO 전력 SW 공통플랫폼에 최적화 된 서비스 제공 및 비즈니스 확산 기반 제공

Business Model

Domain Knowledge &

Domain Specific Service

Infra

System S/W

Generic Service

Infra

System S/W

Generic Service

System S/W

Generic Service

DB DB DBWAS

Domain Knowledge &

Domain Specific Service

서비스 제공

서비스 제공

서비스 제공

WASWAS

HUB-PoPHUB-PoP

Page 5: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

HUB-PoP 플랫폼 주요 서비스

• 전력 어플리케이션의 개발 및 데이터 분석에 공통으로 활용할 수 있는 클라우드 자원,

SW 개발환경, 데이터 수집/저장/분석/시각화 등 기능을 통합 플랫폼 기반으로 제공

데이터 저장 데이터 분석 시각화

•Data Lake전력 데이터 통합 저장소

및 데이터 제공

•Data Mart특정 도메인 분야의 분석을

위한 재구조화된 데이터 집합

•DBaaSTenant별 격리된 DB 제공

(RDB, Timeseries, Hadoop 등)

•데이터 분석 통합환경데이터 선택, 모델 설계, 학습 및 추론 환경 제공

•분석 실행 프레임워크개발된 분석 모델을 API로

연동할 수 있는 실행환경 제공

•분석 모델 형상관리분석모델 및 활용 데이터의형상관리 및 공유환경 제공

•WEB UI 템플릿표준 WEB UI 및

인포그래픽스 템플릿 제공

•GIS 플랫폼 서비스전력분야 지리정보 통합 DB, 공통활용 컨텐츠 및 서비스 활용 가능

•웹 HMI 서비스전력설비 및 IoT 수집 데이터를코딩 없이 빠르게 시각화 표현

SW 개발환경•SW 개발 파이프라인소스코드 저장소, 빌드 및 배포

자동화 환경 제공

•API 게이트웨이전력분야 API 서비스

공유 및 개발자 협업 지원

•SW 개발 프레임워크개발에 즉시 사용 가능한 Best

Practice를 집약한 아키텍처 제공

• IaaS서버, 네트워크 및 스토리지자원 가상화 제공 서비스

•PaaSWEB, WAS, DB 등 개발환경

가상화 제공 서비스

•SaaS어플리케이션SW 가상화

운영 서비스

데이터 수집

•플랫폼 어댑터OPC-UA, IEC61850 등

전력설비 프로토콜 호환

•플랫폼 게이트웨이전력설비의 데이터를클라우드 서버로 전달

•데이터 브로커데이터 발행 및 구독중개 서비스 제공

Cloud

Page 6: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

6

클라우드 플랫폼

• IaaS

• PaaS

• 전력 SW 마켓플레이스

Page 7: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

Openstack

KVM

Ubuntu(Linux)

Kubernetes

Istio

Knative

Functions(Application)Applications

(Monolithic)

Spring CloudApplications(Monolithic)

Cloud Foundry(PaaSTA)

Micro Services(Application)

Docker

클라우드 플랫폼 – 오픈소스를 활용한 클라우드 구축

• IaaS : Host OS로 Ubuntu, VM 관리는 Openstack 오픈소스 활용• PaaS : PaaS-TA(미래부), Spring Cloud(Netflix OSS) 오픈소스 활용• CaaS 및 FaaS : Google에서 최근에 공개한 Kubernetes, Istio 및 Knative 오픈소스 활용

IaaS PaaS CaaS FaaS

Page 8: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

서버/ 스토리지/ 네트워크구축시간단축(3개월→ 2분30초),통합적인프라자원관리및효율화

클라우드 플랫폼 – IaaS(Infrastructure as a Service) -

Page 9: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

9Web/WAS/DBMS 구축 시간 단축(3주→5분), 개발환경 표준화와 신속한 개발 환경 제공

클라우드 플랫폼 – PaaS(Platform as a Service) -

Page 10: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

• 클라우드에 설치된 SW를 다른 직원(연구원)이 활용할 수 있도록 제공

- 모든 SW 설치 및 설정이 완료된 상태의 가상 서버를 바로 사용

• 외부 사용자에게 사업화할 수 있도록 “상품"으로 제공

- (AS-IS) 연구원들이 개별적으로 SW산출물 관리 및 사업화 업무 수행

- (TO-BE) 마켓 플레이스를 통해서 산출물 관리 및 사업화 추진

클라우드 플랫폼 – 전력 SW 마켓플레이스

Page 11: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

11

클라우드 플랫폼 – 전력 SW 마켓플레이스

Page 12: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

12

SW 개발환경

• 개발 프레임워크

• 개발 파이프라인

• 시각화

Page 13: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

• SW개발에 필요한 프레임워크, 파이프라인, API 게이트웨이 등 SW개발환경을 통합 제공

• 개발환경 표준화, 개발공정 자동화 및 MSA(Micro Service Architecture) 기반의 API 관리 기능을

통하여 SW개발 생산성과 재활용성을 향상

개발환경관리

파이프라인생성

소스코드 저장소 이슈 관리 빌드/배포 관리

App 개발자

개발 WebApp

SkeletonWebApp

UI템플릿

OS(Windows)

Spring 웹 프레임워크

Eclipse 개발환경

Meta Plugin

품질검사

개발

API G/W

API API API API

SW 개발환경

Page 14: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

• SW개발 프레임워크는 업무 기능 등 최소한의 개발을 위해 공통 기능 및 개발환경 제공• 전력SW 개발의 표준화를 통해 공통 아키텍처기반의 Best Practice를 제공

형상관리메타관리 파이프라인

실행환경

입출력

처리

비즈니스

처리

데이터

처리

온라인

Image Recogniti

on

인터페이스

처리공통 처리

배치

실행

배치

제어

Utility성

기능

배치

Async IO

병렬처리

장애

관리

On-Demand

호출

SW 개발 프레임워크

개발환경

IO관리DBIO

관리

설계

관리

개발 IDE

테스트

관리

통합

관리

품질

관리

운영환경

온라인 운영 배치 운영

실행환경 운영관리

시각화

UI 템플릿

서비스

시각화 도구

웹HMI

서비스

인포

그래픽스

서비스

GIS

플랫폼

서비스

연계 시스템 및 플랫폼

제공 서비스

개발환경 구축 시간(2개월 → 10분) 및 개발 단축, 표준화 확대로 SW개발 생산성 향상

BatchWebApp

ManagerWebApp

SkeletonWebApp

• Maven Archetype기반 개발환경• Spring schema기반 환경설정• UI Template

• DB Connection Pool• DB기반 Message Source 및 관리• DB기반 Error Logging 및 관리

• Batch Application 표준개발환경• Batch Manager 및 Scheduler

SW개발 프레임워크 아키텍처 표준 개발환경

SW 개발환경 – 개발 프레임워크 -

Page 15: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

• SW 개발 및 운영을 위한 DevOps 환경을 제공하고 빌드/배포 기능 제공• CI/CD(Continuous Integration / Continuous Delivery) 솔루션 → 지속적인 통합, 배포

• App에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스드되어 공유 리포지토리에 병합되므로

여러 명의 개발자가 동시에 App 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결

App 개발 서비스 제공

코드& 커밋Code & Commit

빌드& 설정Build & Config

스캔 & 테스트Scan & Test

공개Release

배포Deploy

지속적인 통합/배포

구분코드&커밋

Code & Commit빌드&설정

Build & Config스캔&테스트Scan & Test

공개Release

배포Deploy

내용개발자가

소스 저장소에소스 커밋

소스 커밋 발생 시 소스저장소의

소스를 Maven설정에 따라 빌드

PMD, CheckStyle을 통한 정적 분석 수행 Junit

도구를 이용한단위 테스트 수행

Maven 패키지 기능을활용하여 빌드된 소스를release 버전으로 패키

패키징 된 release 버전을 개발환경,

운영환경으로 배포

Tool

SW 개발환경 – 개발 파이프라인 -

Page 16: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

웹 UI 템플릿

• 웹App 개발시 즉시 활용할 수 있는 다수의 웹 UI 컴포넌트와 라이브러리, UI/UX 표준 정의서, UI 템플릿 소스코드 등을 제공

인포그래픽스

• 데이터 분석결과를 시각적 표현을 통하여 쉽고 빠르게 전달, 정보의 습득 시간을 절감, 기억의 지속시간을 연장

웹 HMI

• 웹 기반으로 전력설비 및 IoT에서 수집되는 실시간데이터를 S/W 코딩 없이 빠르게 시각화

GIS 플랫폼

• 전력지리정보 통합 DB 와 GIS 서비스를 API로 제공• 개별적인 GIS 환경 구축 없이 지리정보 시각화 서

비스를 개발할 수 있도록 지원

SW 개발환경 – 시각화

Page 17: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

17

데이터 분석

• 데이터 제공

• 알고리즘 공유

• 분석 도구

Page 18: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

데이터 분석 - 개요

• 전력 데이터를 활용한 분석을 보다 쉽게 수행할 수 있도록 데이터, 분석 도구 및

알고리즘 공유 환경을 제공하는 서비스

데이터

알고리즘

분석 도구

• KEPCO 운영시스템 데이터(12종, 16억건 이상) 검색/조회

• 분석 과정에서 생성된 데이터 및 전처리 노하우 공유

• 데이터 분석 노하우를 공유하는 알고리즘 공유 환경 제공

• 프로젝트 사용자간 데이터 분석 협업 환경 제공

• 클라우드 기반 온/오프라인 분석 환경 제공

• 오픈소스 기반의 분석도구 제공 (R, Python, KINME)

7/26

Page 19: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

데이터 분석 – 서비스 구성

쉬운데이터취득을위한데이터제공

활용도높은분석모델및알고리즘공유

기본AI분석용알고리즘및 공개된최신AI분석사례/모델제공

다량의데이터를다양한조건과변수등으로검색데이터메타정보제공(분류, 데이터명, 컬럼수, 예시샘플등)

최신인공지능패키지및분석도구제공

분석 저장소 서비스 분석 환경 및 실행 서비스

KEPCO 빅데이터 플랫폼 데이터 제공사용자 분석 데이터 공유

온라인 분석 도구 : R, Jupyter, Zeppelin오프라인 분석 도구 : KNIME윈도우 VM : SPSS, Tableau, KNIME, Python 설치

오픈소스기반데이터분석도구및튜토리얼제공KEPCO 빅데이터플랫폼분석도구제공(윈도우VM)

전력 데이터 분석 사례 공유기계학습 예제 제공

분석코드를바로활용할수있도록API로변환

분석코드, 딥러닝모델을API로변환/등록하기위한기능제공

분석 언어 : Python분석 모델 : Keras, Tensorflow

1

2

3

4

9/26

Page 20: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

데이터 분석 – 데이터 제공

• 시스템 명 / 분류 / 데이터 명에 따라 필요한 데이터 검색 기능 제공

• 데이터 미리보기 / 기초 통계 / 조건문 필터 기능 제공

12/26

Page 21: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

21

데이터 분석 – 알고리즘 공유

• 개발된 AI 분석 결과물을 다른 연구원들과 공유하는 기능 제공

- 알고리즘 소스 코드 / 샘플 코드 / 알고리즘에 대한 설명 제공

• 다른 연구원이 개발한 알고리즘을 활용하여 신속하게 AI 분석 알고리즘 개발

13/26

Page 22: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원

데이터 분석 – 분석 도구

• 온라인 분석도구 3종, 설치형 분석도구 1종 제공

- 온라인 분석 도구 : R Studio, Jupyter (Python), Zeppeline

- 설치형 분석 도구 : KNIME

• 원활한 분석 수행을 위한 R, Python 분석 패키지 저장소 구축 (51만개, 1.5TB)

15/26

Page 23: 39cc2f66-9098-4820-834f-04691d92f06e [ б ]) · 소스코드저장소, 빌드및배포 자동화환경제공 •API 게이쾮웨이 전력분야API 서비스 공유및개발자협업지원