실시간분산병렬 CEP 플랫폼 2015. 10
Agenda 목차 I. SK 빅데이터솔루션소개 III. 실시간분산병렬 CEP PoC 사례 1. 배경및필요성 2. 확보방안 3. 솔루션 Coverage 4. 솔루션아키텍처 1. 동기및개선방향 2. 데이터흐름도 3. 아키텍처 II. 실시간분산병렬 CEP IV. 맺음말 1. 개요 1. 향후추진방향 2. 고려사항 2. Summary 3. 실시간솔루션비교 4. 요소기술 1
1. 배경및필요성 I. SK 빅데이터솔루션소개 배경 필요성 Big Data/IoT 를활용한 IT 서비스 Value-up 1 Big Data / IoT 기반기술패키징 ICT 요소기술 Big Data/IoT 기술및노하우를 자산화하여패키징필요 Big Data 대용량데이터실시간처리 / 분석 IoT Machine Data, 행동 Data 등수집 / 연결 Big Data/IoT 영역에서의다양한 Biz 요구에신속한반응을하기위함 2 Platform 기반사업실행 Platform 기반사업실행생태계조성을통한지속적사업영역확대 Global ICT B2B Platform 사업자 B2B 중심 Platform 사업기회발굴 이후서비스모델확대및 Global 진출 2
2. 확보방안 I. SK 빅데이터솔루션소개 Big Data / IoT 기반기술및노하우를자산화하고영역별전문기업들과 Partnership 을구축하고협력업체와상생을통한확보추구 Big Data/IoT Eco-system 확보방안 Big Data/IoT Eco-System A 핵심영역 자산화 1 Big Data/IoT Device B Partnership Network Data Platform Analytic Platform B Service 기반기술패키징 C End-to-End 사업역량확장 A 핵심기술자산화 (Data 수집 / 처리및 Analytic Engine 등 ) Big Data/IoT Core 영역자사 Solution 확보 Timely/Speedy 한사업수행 2 Platform 기반 사업실행 B 영역별전문기업 Partnership Global ICT 기업및영역별전문 Player 협업생태계마련 C 협력업체와상생 솔루션개발유지보수 Co-Work 3
3. 솔루션 Coverage I. SK 빅데이터솔루션소개 Big Data 프로젝트를통해旣확보된 R&C 를 Leverage 하여핵심기술 4 개에대한솔루션 / 자산化를진행함. Big Data 솔루션영역 주요내용 : 솔루션영역 Analytics Platform Analytic Tool/Engine 2 3 R 통합분석 Tool 실시간처리 / 분석 Algorithm 1 데이터수집 / 저장 / 처리 Big Data 기술적용에필수적으로필요한 Hadoop 기반인프라 Storage 및 Open source 표준 Platform 1 Collector Processing Management 4 2 R 통합분석 Tool Data Platform Structured Semi/ Un-structured Batch Real-time Storage Workflow Administration Scheduler 통계 / 마이닝 / 머신러닝등알고리즘을사용자 Biz. 에맞게제공하는분석 / 시각화 Tool 3 실시간처리 / 분석 RDB HDFS (Hadoop Distributed File System) 전산업에서요구가증대되고있는 Event 기반실시간데이터처리 / 분석엔진 실시간 Streaming, Event Rule 엔진등 4 Admin & Workflow Network/ Device 유 / 무선통신망 Sensor Node IoT 전용망 Gateway 구축된 Big Data 의모니터링, 설치 / 배포 Big Data 프로세스 Workflow /Designer 및 Job 스케줄러 4
4. 솔루션아키텍처 I. SK 빅데이터솔루션소개 Analysis Layer 2 R 통합분석 Tool 3 실시간처리 / 분석 Web R Package Data Connection Web Real-Time Processing Analysis R Shiny (R GUI 기능 ) 데이터전처리 데이터변환 그래프분석 기초통계 예측 / 분류 기계학습 R Hadoop (Hadoop) ODBC (RDB) File Read (excel,txt) Meta Mgmt. Workflow Monitoring Event Processing Real-Time ETL Rule Engine Data Visualization SQL On Stream Platform Layer 1 데이터수집 / 저장 / 처리 Collector Log 수집 Flume Msg. Queue Msg. Publishing 분산메세징 Kafka Processing Batch Script SQL NoSQL Real-Time In-Memory Security Knox Ranger 데이터암호화 Operation Ambari Oozie Zookeeper Hue 4 Admin & Workflow Workflow Web Job Designer Job Scheduler Monitor Service Job Mgmt. Schedule Mgmt. Builder MR Executor Hive Pig. Dashboard Admin Web Hadoop 정보 유관시스템 Link 설치 / 배포 Admin Server Monitoring Cluster 정보처리유관시스템 Link 권한관리정보처리설치 / 배포처리원격작업 Hive Meta 관리 Agent 원격작업처리하둡 Eco 수집 System Info. 수집설치 / 배포수행 DB 입출력 Sqoop Storage 분산파일시스템 HDFS (Hadoop Distributed File System) RDBMS My SQL 5
Agenda 목차 I. SK 빅데이터솔루션소개 1. 배경및필요성 2. 확보방안 3. 솔루션 Coverage III. 실시간분산병렬 CEP PoC 사례 1. 동기및개선방향 2. 데이터흐름도 3. 아키텍처 II. 4. 솔루션아키텍처 실시간분산병렬 CEP IV. 맺음말 1. 향후추진방향 1. 개요 2. Summary 2. 고려사항 3. 실시간솔루션비교 4. 요소기술 6
1. 개요 II. 실시간분산병렬 CEP 다양한분야에서기존에처리할수없었던대용량데이터에서실시간으로다양한이벤트를 감지하여 Biz 목적에맞게반응하려는요구가증가 현황 Biz 실시간솔루션 Biz Data 보안실시간침입탐지실시간영상분석 대용량영상데이터 신규분석데이터 생산 / 제조비정상운영감지 Fault Detection Control 대용량기계데이터 Biz Adaptor 금융사이벤트기반마케팅 Fraud Detection 실시간처리 / 분석솔루션 Data Adaptor 대용량센서데이터 대용량비정형데이터 통신사비정상거래감지네트워크이상감지 기존레거시데이터 실시간 CEP 이해 여러분야에서발생하는대용량의데이터에서특정이벤트들을적시에감지하여목적에맞게반응할수있는스마트시스템이요구됨 대용량의데이터에서의미있는특정패턴의이벤트필터링이요구됨 하나의이벤트가아니라복수의이벤트를상관하여분석가능해야함 User Component 를활용하여기존 Biz Solution 과도연동가능해야함 실시간으로대용량데이터처리가필요하여기존 CEP 엔진으로는처리가불가능함 7
2. 고려사항 II. 실시간분산병렬 CEP 실시간으로처리할데이터의특성을파악하여비즈니스목표에맞게적절한분산병렬시스템을 설계구축해야함 정규화 데이터특성 대용량의다양한데이터 정제 / 필터링 실시간배치작업목적에맞게가공 실시간감지 Rule 적용 분산병렬처리 8
3. 실시간솔루션비교 - 상용솔루션 II. 실시간분산병렬 CEP 병렬처리가능한 Hadoop 기반 CEP 영역은 14 년부터글로벌대형기업 (Tibco, SAS, Oracle) 중심으로시장본격화, 국내는최근일부벤처기업에서솔루션개발중 구분 회사제품명특징비용비고 TIBCO StreamBase 실시간처리성능 ( 응답시간, 처리량 ) 면에서우수 실시간복합이벤트 Rule 처리기능제공 유료 시각화솔루션별도구매 (LiveView) 외산 Oracle Stream Explorer Web 기반으로사용자가쉽게데이터흐름을제어 실시간데이터의시각화기능포함 유료 메모리 DB 제품과 Bundle 로만판매 SAS EventStream Processing Stream 이벤트를사전정의 Rule 기반으로탐지하거나데이터를분석하여패턴을파악하는기능제공 유료 시각화솔루션별도구매 (Visual Analysis) 국산 Raonbit Raonbit 대용량실시간데이터와배치데이터의분석플랫폼 Open Source 를활용한제품구성 유료 (License 정책수립중 ) 현재솔루션개발진행단계 실시간솔루션필요성 Open Source 기반으로, 상용 Tool 의비용부담 ( 서버증설시, 비용부담高 ) 을해결 실시간처리 / 분석에필요한시각화기능을포함하여독립솔루션化 ( 번들 / 옵션방식이아님 ) 9
3. 실시간솔루션비교 - 오픈소스 II. 실시간분산병렬 CEP 오픈소스기반의솔루션중최근 Spark Streaming 이다른기술과연동하여대용량데이터처리뿐만아니라기계학습 /R 분석도가능하여활발히사용되고있음 Spark Streaming Storm Storm Trident Processing Model Micro Batches Tuple Micro Batches 성능 ++++ ++ ++++ Latency Second Sub-Second Second Reliability Model Exactly Once At least once Exactly once Embedded Hadoop Distro 기술지원업체 HDP, CDH, MapR HDP,MapR HDP Databricks Community 활성 ++++ ++ ++ 연동기술범위 Batch, Streaming, Graph, Machin Learning, SQL (RDBMS, Hive), R Streaming Only Spark 선택이유 10
4. 요소기술 Flume II. 실시간분산병렬 CEP 가장많이사용되는빅데이터용수집도구인 Flume 은다양한데이터소스와데이터정제와다양한형태로대용량데이터를저장함 Flume 아키텍처 Flume 특장점 메모리, 파일, DB 기반,Kafka 1 다양한 Data Source Web Server Client Source Chain of Interceptors Source Processor Agent Agent Channel Selector Agent Channel 1 Channel 2 Sink Sink 빅데이터수집영역에서가장많이활용되는도구 다양한 Data Source (Avro, Thrift, Files, Http, JMS, EXEC, Syslog 등 ) 2 데이터정제가능 Source 와연동하는 Interceptor 를이용하여 Tagging Filtering 가능 ( 정규표현식이용 ) Channel Selector 로 Routing 기능제공 3 데이터다양한형태로전송 Agent Agent Agent Hadoop Hbase Elastic Search Avro,Http, Hbase, Hadoop, File, Elastic Search 등다양한형태로저장가능 3 기타장점 Agent HA 기능제공 다양한수집도구와도 Plugin 기능제공 (Fluentd, Scribe 등 )
4. 요소기술 - Kafka II. 실시간분산병렬 CEP 실시간으로대용량데이터를 CEP 엔진으로안정적으로유입하는버퍼로사용되고있으며메시지 Broker 로도활용되고있다 Kafka 아키텍처 Flume 특장점 1 Pub Sub 구조 Producer Producer Producer 가메시지를 Kafka 토픽에 publish 하고 특정 Topic 을미리구독한 Consumer 가등록된메시지를받아처리 Broker Broker Broker Broker ZK T1P1 T1P1 T1P2 T1P1 T1P2 T1P2 2 Persistency 메시지를파일로저장하여 Replay 가가능하여안정성을높일수있음 메시지큐역할과 Integration 역할도함 3 Zero-Copy Consumer Consumer OS 레벨에서파일을 NIC 카드와직접연동하여신속한데이터처리가능 각노드당 Broker가토픽들을관리 각토픽은멀티파티션으로구성가능 복제도가능함 보통장애복구를복제는 2F+1로하는데 Kafka는 F+1를보장 3 기타장점 확장가능한 High Throughput 파티션을활용한분산병렬처리로응답속도빠름 배치처리와압축처리지원하여처리속도향상
4. 요소기술 Flume + Kafka II. 실시간분산병렬 CEP Kafka 를 Flume 의채널로사용하여데이터수집을안정적으로처리할수있다
4. 요소기술 - Spark II. 실시간분산병렬 CEP 데이터처리방식이 Hadoop 기반의 File 기반에서메모리기반의 Spark 로진화되면서 Hadoop 상의 Application 들의성능이급성장하고있음 Spark 아키텍처 Spark 특장점 분산메모리클러스터활용 Input Spark Streaming Standalone iter. 1 iter. 2... Distributed memory Spark SQL Spark Core query 1 query 2 MLLib Yarn query 3 Input... 10-100 faster than network and disk GraphX SparkR Mesos Spark Core 기반으로기계학습 (MLLIb,), 그래프분석, R, SQL, 및스트리밍등목적에맞게다양한라이브러리연동하여사용가능 Standalone, Yarn, Mesos 기반으로데이터처리 Resilient Distributed Data (RDD) 기반으로데이터를메모리클러스터에분산시켜처리하여우수한성능이보장 RDD 는병렬로처리될수있는 Immutable (readonly), partitioned 된 elements 의집합 RDD Operation 은변환작업을하는Transformation 과결과처리하는 Action 으로나뉨 Spark SQL 은표준SQL과 Hive-QL 지원 Spark Streaming 은초단위로 Micro-Bath 작업을하여실시간으로데이터신속히처리가능 ( 초당수십만건처리가능 )
4. 요소기술 Spark Streaming II. 실시간분산병렬 CEP Spark Streaming 은 Micro Batch 기술을활용하여 Streaming 데이터를실시간배치처리하는기술로실시간솔루션으로최근많이활용되고있다 Spark Streaming 아키텍처 Spark Streaming 특장점 Kafka Flume File Http Hbase ElasticSearch Rule Engine 실시간으로들어오는 data stream 은 batch 단위로나뉘어지고나뉘어진 batch 단위의 data 는 Spark 엔진에의해서 processing 된뒤에최종 final stream 이생성 Spark streaming 은 Discretized stream 혹은 Dstream 이라고하는 High-level abstraction 을제공 DStream 은여러 input 소스에서부터생성될수있음 (Kafka, Flume, File 등 ) DStream 은연속적인 RDD 의집합 DStream 내 RDD 는일정한인터벌시간내존재하는 Data 가들어있음 Dstream 은다른 Dstream 의변환되었다가최종적으로 Output 으로다른저장또는처리시스템에전송된다
4. 요소기술 Rule 엔진 II. 실시간분산병렬 CEP 오픈소스기반의 Rule 엔진인 Drools 를활용하여실시간 CEP 엔진을구성가능함 Drools 아키텍처 Drools 특장점 FACTs Patten Matching Rule Rule 중앙관리배포 성숙된오픈소스기반의 Rule 엔진 애플리케이션에서작업흐름을제어하는조건들을별도분리 Rule 변경으로인해전체어플리케이션을다시빌드할필요가없음 => Rule 변경동적으로적용가능 Rule 을별도의파일에저장 Web UI 를 Workbench 로제공 사용자 Rule 정의 사용자그룹에의한 Rule 권한설정가능 모든 Rule 들이단일저장소 (repository) 에저장되어통합된 Rule 관리가능 읽기쉽고편한 Rule 포맷제공 Kie Execution 서버는확장가능한구조 BPM 분산처리가안됨
Agenda 목차 I. SK 빅데이터솔루션소개 1. 배경및필요성 2. 확보방안 3. 솔루션 Coverage 4. 솔루션아키텍처 III. 실시간분산병렬 CEP PoC 사례 1. 동기및개선방향 2. 데이터흐름도 3. 아키텍처 II. 실시간분산병렬 CEP 1. 개요 2. 고려사항 IV. 맺음말 1. 향후추진방향 2. Summary 3. 실시간솔루션비교 4. 요소기술 17
1. 동기및개선방향 III. 실시간분산병렬 CEP PoC 사례 인포섹 Big Data 기반실시간보안관제솔루션개발 => 신속한탐지와대응 + 무중단서비스제공 동기 대용량보안로그데이터를실시간으로분산처리할수있는기술력확보 향후 Machine Learning 및 Data Mining 등과융합하여, 보안위협예측과침해패턴추출등을자동화하는 솔루션으로진화가최종목표 공격탐지 logic 공격탐지예시 단일탐지 NIDS - 개별솔루션의단일 Event 중심탐지 탐지 Field 조건 SSH_Brute_Force AS-IS - 10 개 Field->Count 임계치, 공격문자열, 내외부등 상관탐지 - 상관탐지분석수행하지않음 배치작업으로만탐지 (1 시간이상소요 ) Repeat Count 50 공격 Event, Count 탐지 단일탐지 NIDS TO-BE - 단일 Event 의조건 Field 추가 - Time 기준탐지조건추가 - 전체공격유형표준화 탐지 Field 조건 - 50 개 Field 조건확장 1 st SSH_Brute_Force Repeat Count 50 3 분 FW 5 분 SSH Logon Success 탐지 상관탐지 - Multi-Device 상관분석수행하여정확도향상 실시간분산병렬시스템구축 ( 초단위 ) 2 nd SSH_Brute_Force Repeat Count 50 18
2. 데이터흐름도 III. 실시간분산병렬 CEP PoC 사례 Platform 의전체구성은 Data 수집 / 분석 / 저장 / 질의하는 4 단계로구성되는엔진과, 탐지및질의결과를화면에 View 하는 UI 로구성됨. 대상장비 Data 수집 Data 분석 Data 저장 Data 질의 Data View FW Snmptrap Syslog Flume 1) Flume Sink 원천저장 질의 HDFS 7) Hive 8) IDS Kafka Flume -Producer 2) Spark 5) ( 실시간처리 ) 정제저장 Drill 통합관제화면 WAF 상관분석 HBase RDBMS DDoS Kafka Topic 3) Drools 6) ( 실시간탐지 ) 탐지저장 Rule 배포 Rule 엔진 Gateway Elastic Search Kafka Spark -Consumer 4) 실시간검색엔진 Kibana Dashboard 19
3. 아키텍처 방안비교 III. 실시간분산병렬 CEP PoC 사례 Spark Streaming Time Window 활용방안 내용 Drools 의 Time Window 기능대신 Spark Streaming 의 Time Window 기능을활용 Spark Streaming 에서같은데이터를여러개의 Time Windows 를생성 각레코드는특정 Window 의 Summary 데이터를매핑정보를통하여해당 Drools 서버로전송 장단점 Spark Streaming 의자원사용률이높아적절한부하분산이필요 Rule 을동적으로 Update 시에도영향이없음 Drools Rule 서버의부하를덜어줌 실시간탐지분석과상관분석을별도로수행 다양한사이즈의 Time Window 사용이제한적임 Elastic Search 활용방안 Spark Streaming 에서데이터정규화정제후바로 Elastic Search 에적재 Drools 에서 Rule 에따라서 Elastic Search 에조회하여탐지분석수행 Elastic Search 시간을제외한상관분석은 Hbase 나 Hive 를병행하여활용하여함 Elastic Search 의검색기능활용가능 실시간탐지분석과상관분석을한번에수행하여프로세스가단순해짐 실시간데이터처리성능이 Elastic Search 의데이터처리용량에제약을받음 => 수십 TB 분석에적용하기는어려움 Kafka 활용방안 1 차 Spark Streaming 에서정규화 / 정재후매핑정보를활용하여각데이터를해당파티션에 Grouping 하여배분 2 차 Spark Streaming 에서 Grouping 된데이터를각파티션별로 Drools 로전송 Drools 는 Rule 적용하고분석수행 Spark Streaming 에서는간단히분류작업만수행하여부하가마니줄어듦 Kafka 를활용하여 Group By 를수행하게됨 Drools Rule 서버는 Time Windows 기능을사용하여 Rule 분석하여서버부하증가 20
3. 아키텍처 1 안 : Spark Time Windows 활용방안 III. 실시간분산병렬 CEP PoC 사례 Spark Streaming 의 sliding time windows 를활용하여이벤트카운트하여 Rule 서버에적용 Kafka #1 Spark Drools Execution Data Topic 1 수집로그전송 실시간탐지 Consumer Repartition Window size 1 분 3 분석대상 Data 전송 Callback Topic 기준정보 Callback Log 정규화 정제로직 2 Global Filtering 정규화 Raw Data 저장 Window size 5 분 Window size 10 분 매핑정보 탐지분석 Rule 적용 Alert Topic Alert Consumer 오탐처리 4 침입탐지결과전송 탐지분석 Rule 상관분석 Rule 보안관제 Portal Scheduler Dashboard 6 탐지내용전송 5 탐지내용저장 Log Data Detection Data 상관분석 7 상관분석대상 8 Data조회 9 분석결과전송 분석대상 Data 전송 상관분석 Rule 적용
3. 아키텍처 2 안 : Elastic Search 활용방안 III. 실시간분산병렬 CEP PoC 사례 분산검색엔진인 Elastic Search 를활용하여대용량데이터를신속하게검색하여실시간탐지에적용 Kafka #1 Spark Drools Execution Data Topic 1 수집로그전송 실시간탐지 Consumer Executor 3 데이터적재 4 탐지 / 상관분석 Callback Topic 기준정보 Callback Log 정규화 Filtering Executor Executor Elastic Search 정제작업 2 정규화 Raw Data 저장 매핑정보 Callback 5 4 침입탐지결과전송 탐지상관분석 Rule 적용 Alert Topic Alert Consumer 오탐처리 탐지분석 Rule 상관분석 Rule 보안관제 Portal Dashboard 6 탐지내용전송 7 탐지내용저장 Log Data Detection Data 상관분석 8
3. 아키텍처 3 안 : Kafka 활용방안 III. 실시간분산병렬 CEP PoC 사례 Kafka 를활용하여 Grouping 하여 Spark Streaming 의부하분산 Kafka #1 Spark #1 Kafka #2 Spark #2 Drools Execution Data Topic 1 수집로그전송 실시간탐지 Consumer 매핑정보 Partition 분류 Data Topic 2 Partition 1 DStrem Partition 1 3 분석대상 Data 전송 Callback Topic 기준정보 Callback Log 정규화 Partition 2 Kafka Spark Consum er Partition 2 정제로직 2 Global Filtering 정규화 Raw Data 저장 Partition 25 Partition 25 매핑정보 탐지분석 Rule 적용 Alert Topic Alert Consumer 오탐처리 4 침입탐지결과전송 탐지분석 Rule 상관분석 Rule 보안관제 Portal Scheduler Dashboard 6 탐지내용전송 5 탐지내용저장 Log Data Detection Data 상관분석 7 상관분석대상 8 Data조회 9 분석결과전송 분석대상 Data 전송 상관분석 Rule 적용
3. 아키텍처 Dynamic Info Update III. 실시간분산병렬 CEP PoC 사례 Rule 이나기준정보변경시서비스의중단없이동적으로변경사항적용하는방안필요 보안관제 Portal Kafka Spark #1,2 기준정보관리 기준정보조회 Callback Topic 기준정보조회 Driver 기준 / 매핑정보 Consumer 4 기준 / 매핑정보 Dynamic Update By Broadcasting 기준정보변경 1 2 기준정보변경알림 기준정보저장 Data Topic 3 Executor 기준 / 매핑정보 Executor 기준 / 매핑정보 Executor 기준 / 매핑정보 1 탐지 Rule 저장 Rule Data 기준정보 Data Drools Rule 관리 탐지분석 Rule 생성 / 배포 상관분석 Rule 생성 / 배포 2 Rule Dynamic Update KIE Execution I/F 탐지분석 Rule 상관분석 Rule Drools 상태조회 3 Drools Server 상태확인
Agenda 목차 I. SK 빅데이터솔루션소개 III. 실시간분산병렬 CEP PoC 사례 1. 배경및필요성 2. 확보방안 3. 솔루션 Coverage 4. 솔루션아키텍처 1. 동기및개선방향 2. 데이터흐름도 3. 아키텍처 II. 실시간분산병렬 CEP IV. 맺음말 1. 개요 1. 향후추진방향 2. 고려사항 2. Summary 3. 실시간솔루션비교 4. 요소기술 25
1. 향후추진방향 IV. 맺음말 대용량데이터를기계학습하여데이터기반의분석모델을자동생성하여실시간동적으로적용하여비즈니스프로세스까지자동화할수있는플랫폼필요 통합실시간분산병렬 CEP 플랫폼 실시간수집 Tool 분석 Application Data Mediator Data Broker 실시간분석 Use Case #1 BPM 실시간분석 Use Case #2 실시간분석 Use Case #N 자동제어 DPI SON Data Streaming Processing Engine Driver Broad casting Executor Executor Executor Executor 예측모델적용 Rule Check White Black Rule Engine Analytic Policy Rule Group ( 감지 ) ( 제어 ) Rule #1 Rule #2 Rule #3 Rule #N Rule #1 Machine Learning Lib. Data Store 기계학습모델전송 Analytics P/F HDFS 운영통합 DB DW (RDB) 검색엔진 NoSQL In - Memory 대용량데이터 Sampling Algorithm 시뮬레이션 Rule 도출 시범운영 강화할영역
2. 요약 IV. 맺음말
Q & A 28