SlideShare a Scribd company logo
1 of 18
Data platform
on kubernetes
Jung Chang Un
Kubernetes as data platform
infrastructure
확장성
● Data, 사용자 증가에 따른
● 확장이 빠르고, 가격이 적정하며, 원하는 성능까지 쉽게
● Data 저장에서는 재분산 issue
안정성
● HA
● Fault Tolerance
실시간
● Data river
● Monitoring, Fraud/Anomaly Detection,
bigdata/cloud 시대의 data platform
Kubernetes as data platform infrastructure
데이터플랫폼 구축
● 서비스 설치가 용이함
○ Helm (https://helm.sh/)
○ Yaml ( https://kubernetes.io/ko/docs/tutorials/stateful-application/zookeeper/)
● Data 서비스제공
● Pod/서비스 재시작이 편함
EKS
● AWS Managed Kubernetes
● Master관리, multi AZ, upgrade, 가격이 저렴
Data Processing(Scheduling, Data Mart, ODS, Realtime)
Data Analysis(Presto)
Data Platform 구축
개발/운영 Concept
● Job Scheduler/Coordinator
● Airflow worker에서 직접 Data처리를 하지 않음
● Kubernetes executor를 사용하지 않지만, kubernetes operator는 사용
○ 실제로 Data Processing을 하는 task는 pod 형태로 실행됨
관련Link : https://www.slideshare.net/changunjung/data-platform-data-pipelineairflow-kubernetes
Kubernetes
● Webserver, Scheduler - Fault Tolerance
● Worker - Scalability
● Source - Git sync, EFS
Data Processing(Scheduling - Airflow)
Legacy
● DMS - 변경분만 가져오고 싶지만 전체데이터만 가져와야함
● Glue(python) - 설치된 library 외에 추가로 설치불가. 다양한 database 활용불
가
● Glue(spark)
○ Glue ETL의 GUI환경에서 개발.
○ Spark 으로 read하기때문에 운영db에 부하를 줌
○ Source관리 어려움
○ Data platform 적용
■ Glue ETL의 GUI에서 개발된 job을 그대로 사용하지는 않고 script를 복사해서 airflow에서
submit 하는 방식으로 실행. Airflow환경변수 활용가능
■ 원인 모를 Hang. Job timeout 변수설정으로 Hang발생시에 다시 실행될수 있도록 구성
Data Processing (ODS)
Kubernetes ELT Pods
● ODS 적재를 위한 container
○ Airflow operator 형태로 개발
○ K8s spark operator 를 활용해서 실행 ( https://github.com/GoogleCloudPlatform/spark-on-k8s-operator )
● Extract
○ Extract from source db
○ python script를 사용/multi-processing(using query sharding)
○ 최적화된 Query, fetch 를 통해 db부하 줄여주고, extract performance 증가
○ Extract from Mysql, SQLServer, 필요시 DB 추가가 쉽도록 sqlalchemy활용
● Load
○ Load to target storage(S3, Hive)
○ pyspark(k8s as master) 활용해서 hive table로 insert
○ Spark container
Data Processing (ODS)
● Glue(spark)
○ 비쌈
○ executor/driver 자원을 받는데 처음시작할때는 10분가량 대기가 있고 이후실행은 바로 될때도
있고 다시 10분 기다려야할 때도 있음. 작업시간 예상이 어렵고 Job을 하나의 script에 넣지 않
는한 불필요한 대기시간이 많아짐 -> 개선될 가능성도 있음
○ glueContext 개선기대
○ Executor 사용하는 메모리 모니터링은 직관적임
○ EMR에 비해서 실행시간,비용,instance type지정에 이점이 없어 mart processing에는 사용하고
있지 않음
● EMR
○ EMR 시작하는데 3~5분가량 소요, AWS Dependency
○ EC2 요금 + EMR요금. Spot instance활용으로 ec2비용은 많이 줄일수 있음
○ 빠르게 hive, spark, hive-metastore(glue) 환경 구성이 가능함
○ Data platform 적용
■ airflow에서 job 단위로 EMR start/terminate 함으로써 EMR관리에 대한 resource 및 EMR
서버 안정성에 대한 이슈를 줄일수 있음
■ Livy(REST service for apache spark)
Data Processing (Data Mart)
● Kubernetes ELT(Extract-Load-Transform) Pods
○ Data Processing(ODS)와 같은 container
■ pyspark 실행
■ Airflow kubernetes operator 를 통해서 실행
○ EMR 에 의존성/추가비용 없이 Data Processing
○ 필요한 library를 추가해서 custom image 개발
■ Glue-metastore 설정/관련 library설치
○ Data Mart에 대한 Processing은 DataLake내부의 Hive -> Hive 방식으로, pyspark 을 submit 하
는 방식으로, Transform 작업만
Data Processing (Data Mart)
Data Processing (실시간)
Log Monitoring
● Kinesis - Druid활용한 실시간 logs 모니터링
● Kinesis
○ Log수집
○ AWS managed realtime stream service
● Druid
○ Kinesis를 data source로 사용가능
○ Pivot, Superset, Tableau 등에서 실시간 Monitoring Dashboard 구성
Log data analysis(table)
● Spark-streaming 을 이용한 Log Hive테이블 제공
○ Presto, spark에서 활용가능
○ K8s spark-operator
○ spark using kinesis, insert into hive table
역할
● log데이터 모니터링, 분석cube
ES와 비교
● Druid, ES 둘다 대용량 데이터에 대한 빠른 분석 및 실시간 데이터 처리
● ES는 local storage가 필요하고 druid도 cache를 위해서 local storage가 필요하지만, druid는 deep
storage 가 있어서 node의 추가, 삭제시 데이터 재구성이 용이함 (단일화된 storage 제공으로서의
DataLake구성 concept에 druid가 더 적합)
● ES에 비해서 Druid의 구성, 설치가 복잡함
○ Master/Data/Query + Zk vs node configure
● Druid가 좀더 Query 적용이 용이함
● Druid가 데이터 재적재, 변경등이 불편함(ES는 esquery를 통해서 가능하지만 druid는 별로 api를 사
용해야함)
Kubernetes사용으로 인한 장점
● Node scale 변경시 Statefulsets replica숫자 변경으로 쉽게 적용가능
● Master HA 구성, Druid, Zk 설치
Data Processing (실시간 - druid)
Data Analysis(Presto)
역할
● EDA
● Tableau Report
● Table Summary ETL
PrestoSQL
● fork from prestodb
● CBO
● AWS Glue metastore
● https://prestosql.io/
● Starburstdata.com : presto with k8s, Apache Ranger, Apache Sentry
“If you were entering Hadoop ecosystem 8-10 years ago, there was this mantra:
bring compute to your storage, tie them together; shipping data is so expensive.
That is no longer true. All modern architectures right now separate storage from
compute. Grow your data without limit, scale your compute power whenever you
need.”
Kamil Bajda-Pawlikowski, Data Council NY, Nov 7-8, 2018
● S3 as DataLake
● Presto as Compute
Data Analysis(Presto)
Kubernetes사용하는 장점
● EMR에서 제공하는 presto 에 비해 비용이 저렴하고 서비스 문제시에 재시작,
version upgrade 등이 용이함
● data processing 역할만 담당하고 데이터는 s3저장되어있기때문에 다른
database등과 비교했을때 데이터 동기화/DQ 관리용이
● Worker Scaling
○ Deployments replicas 조정으로 바로 적용가능
○ HPA(cpu,memory,custom metrics)/AutoScaler/Scheduled Scaling
● Multi Cluster
○ K8s Service설정으로 multi cluster, load balancing
■ https://github.com/lyft/presto-gateway
○ Sandbox 형태로 사용자group에게 Cluster 제공 가능
Data Analysis(Presto)
Kubernetes 기반 data platform의 이점
K8s 기반 data platform의 이점
Scalability
● HPA/VPA, AutoScaler
● Metrics기반, Scheduled Scaling
● Service별 구성
○ Airflow worker : worker가 부족할경우 worker pod 추가함으로써 resource 부족해결
○ Druid data server : 필요에 따라 druid data server statefulset replicas 조정
○ Presto worker
■ 필요에 따라 presto worker deployments replicas 조정
■ Presto multi cluster
안정성
● Service pods 를 statefulSet/deployments로 구성하게되면 장애시 자동으로
pod 재시작(Falut Tolerence)
○ Spot instance로 서비스 구성
● Presto multi cluster(HA)
K8s 기반 data platform의 이점
서비스제공
● K8s service, Ingress 구성을 통해서 data 서비스를 사용자에게 제공하기 용이
함
● Docker image, helm을 통해 jupyter, superset, redash등의 데이터조회,분석
solution에 대한 빠른 제공/삭제
Computing Node관리
● ec2를 k8s에서 관리
● Spot instance/on demand + fargate 구성
● Node group 에 대한 auto scaling group 설정
○ Auto scale 가능하지만 instance가 뜨는데 시간이 걸리기때문에 instance 사용 resource 계획에
따라서 schedule 가능

More Related Content

What's hot

AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들Woong Seok Kang
 
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...HostedbyConfluent
 
분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축Nak Joo Kwon
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiDatabricks
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Web Services Korea
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon Web Services
 
Incremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and IcebergIncremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and IcebergWalaa Eldin Moustafa
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...StreamNative
 
Performance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaPerformance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaCloudera, Inc.
 
An Insider’s Guide to Maximizing Spark SQL Performance
 An Insider’s Guide to Maximizing Spark SQL Performance An Insider’s Guide to Maximizing Spark SQL Performance
An Insider’s Guide to Maximizing Spark SQL PerformanceTakuya UESHIN
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...AWSKRUG - AWS한국사용자모임
 
Performance Analysis of Apache Spark and Presto in Cloud Environments
Performance Analysis of Apache Spark and Presto in Cloud EnvironmentsPerformance Analysis of Apache Spark and Presto in Cloud Environments
Performance Analysis of Apache Spark and Presto in Cloud EnvironmentsDatabricks
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database Systemconfluent
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
 
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...HostedbyConfluent
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
 

What's hot (20)

AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
 
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...
Streaming Data Lakes using Kafka Connect + Apache Hudi | Vinoth Chandar, Apac...
 
분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
 
2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best Practices
 
Amazon Redshift
Amazon Redshift Amazon Redshift
Amazon Redshift
 
Incremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and IcebergIncremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and Iceberg
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
 
Performance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaPerformance Optimizations in Apache Impala
Performance Optimizations in Apache Impala
 
An Insider’s Guide to Maximizing Spark SQL Performance
 An Insider’s Guide to Maximizing Spark SQL Performance An Insider’s Guide to Maximizing Spark SQL Performance
An Insider’s Guide to Maximizing Spark SQL Performance
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
Performance Analysis of Apache Spark and Presto in Cloud Environments
Performance Analysis of Apache Spark and Presto in Cloud EnvironmentsPerformance Analysis of Apache Spark and Presto in Cloud Environments
Performance Analysis of Apache Spark and Presto in Cloud Environments
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
 

Similar to data platform on kubernetes

AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기Nak Joo Kwon
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWSGruter
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)Channy Yun
 
spark database Service
spark database Servicespark database Service
spark database Service창언 정
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912Yooseok Choi
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control PlaneSeungYong Baek
 
Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablup Inc.
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준NAVER D2
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈Amazon Web Services Korea
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AILablup Inc.
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기Yeonhee Kim
 
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기Amazon Web Services Korea
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgresPgDay.Seoul
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomGruter
 
The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem종석 박
 

Similar to data platform on kubernetes (20)

AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
spark database Service
spark database Servicespark database Service
spark database Service
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control Plane
 
Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AI
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem
 

data platform on kubernetes

  • 2. Kubernetes as data platform infrastructure
  • 3. 확장성 ● Data, 사용자 증가에 따른 ● 확장이 빠르고, 가격이 적정하며, 원하는 성능까지 쉽게 ● Data 저장에서는 재분산 issue 안정성 ● HA ● Fault Tolerance 실시간 ● Data river ● Monitoring, Fraud/Anomaly Detection, bigdata/cloud 시대의 data platform
  • 4. Kubernetes as data platform infrastructure 데이터플랫폼 구축 ● 서비스 설치가 용이함 ○ Helm (https://helm.sh/) ○ Yaml ( https://kubernetes.io/ko/docs/tutorials/stateful-application/zookeeper/) ● Data 서비스제공 ● Pod/서비스 재시작이 편함 EKS ● AWS Managed Kubernetes ● Master관리, multi AZ, upgrade, 가격이 저렴
  • 5. Data Processing(Scheduling, Data Mart, ODS, Realtime) Data Analysis(Presto) Data Platform 구축
  • 6. 개발/운영 Concept ● Job Scheduler/Coordinator ● Airflow worker에서 직접 Data처리를 하지 않음 ● Kubernetes executor를 사용하지 않지만, kubernetes operator는 사용 ○ 실제로 Data Processing을 하는 task는 pod 형태로 실행됨 관련Link : https://www.slideshare.net/changunjung/data-platform-data-pipelineairflow-kubernetes Kubernetes ● Webserver, Scheduler - Fault Tolerance ● Worker - Scalability ● Source - Git sync, EFS Data Processing(Scheduling - Airflow)
  • 7. Legacy ● DMS - 변경분만 가져오고 싶지만 전체데이터만 가져와야함 ● Glue(python) - 설치된 library 외에 추가로 설치불가. 다양한 database 활용불 가 ● Glue(spark) ○ Glue ETL의 GUI환경에서 개발. ○ Spark 으로 read하기때문에 운영db에 부하를 줌 ○ Source관리 어려움 ○ Data platform 적용 ■ Glue ETL의 GUI에서 개발된 job을 그대로 사용하지는 않고 script를 복사해서 airflow에서 submit 하는 방식으로 실행. Airflow환경변수 활용가능 ■ 원인 모를 Hang. Job timeout 변수설정으로 Hang발생시에 다시 실행될수 있도록 구성 Data Processing (ODS)
  • 8. Kubernetes ELT Pods ● ODS 적재를 위한 container ○ Airflow operator 형태로 개발 ○ K8s spark operator 를 활용해서 실행 ( https://github.com/GoogleCloudPlatform/spark-on-k8s-operator ) ● Extract ○ Extract from source db ○ python script를 사용/multi-processing(using query sharding) ○ 최적화된 Query, fetch 를 통해 db부하 줄여주고, extract performance 증가 ○ Extract from Mysql, SQLServer, 필요시 DB 추가가 쉽도록 sqlalchemy활용 ● Load ○ Load to target storage(S3, Hive) ○ pyspark(k8s as master) 활용해서 hive table로 insert ○ Spark container Data Processing (ODS)
  • 9. ● Glue(spark) ○ 비쌈 ○ executor/driver 자원을 받는데 처음시작할때는 10분가량 대기가 있고 이후실행은 바로 될때도 있고 다시 10분 기다려야할 때도 있음. 작업시간 예상이 어렵고 Job을 하나의 script에 넣지 않 는한 불필요한 대기시간이 많아짐 -> 개선될 가능성도 있음 ○ glueContext 개선기대 ○ Executor 사용하는 메모리 모니터링은 직관적임 ○ EMR에 비해서 실행시간,비용,instance type지정에 이점이 없어 mart processing에는 사용하고 있지 않음 ● EMR ○ EMR 시작하는데 3~5분가량 소요, AWS Dependency ○ EC2 요금 + EMR요금. Spot instance활용으로 ec2비용은 많이 줄일수 있음 ○ 빠르게 hive, spark, hive-metastore(glue) 환경 구성이 가능함 ○ Data platform 적용 ■ airflow에서 job 단위로 EMR start/terminate 함으로써 EMR관리에 대한 resource 및 EMR 서버 안정성에 대한 이슈를 줄일수 있음 ■ Livy(REST service for apache spark) Data Processing (Data Mart)
  • 10. ● Kubernetes ELT(Extract-Load-Transform) Pods ○ Data Processing(ODS)와 같은 container ■ pyspark 실행 ■ Airflow kubernetes operator 를 통해서 실행 ○ EMR 에 의존성/추가비용 없이 Data Processing ○ 필요한 library를 추가해서 custom image 개발 ■ Glue-metastore 설정/관련 library설치 ○ Data Mart에 대한 Processing은 DataLake내부의 Hive -> Hive 방식으로, pyspark 을 submit 하 는 방식으로, Transform 작업만 Data Processing (Data Mart)
  • 11. Data Processing (실시간) Log Monitoring ● Kinesis - Druid활용한 실시간 logs 모니터링 ● Kinesis ○ Log수집 ○ AWS managed realtime stream service ● Druid ○ Kinesis를 data source로 사용가능 ○ Pivot, Superset, Tableau 등에서 실시간 Monitoring Dashboard 구성 Log data analysis(table) ● Spark-streaming 을 이용한 Log Hive테이블 제공 ○ Presto, spark에서 활용가능 ○ K8s spark-operator ○ spark using kinesis, insert into hive table
  • 12. 역할 ● log데이터 모니터링, 분석cube ES와 비교 ● Druid, ES 둘다 대용량 데이터에 대한 빠른 분석 및 실시간 데이터 처리 ● ES는 local storage가 필요하고 druid도 cache를 위해서 local storage가 필요하지만, druid는 deep storage 가 있어서 node의 추가, 삭제시 데이터 재구성이 용이함 (단일화된 storage 제공으로서의 DataLake구성 concept에 druid가 더 적합) ● ES에 비해서 Druid의 구성, 설치가 복잡함 ○ Master/Data/Query + Zk vs node configure ● Druid가 좀더 Query 적용이 용이함 ● Druid가 데이터 재적재, 변경등이 불편함(ES는 esquery를 통해서 가능하지만 druid는 별로 api를 사 용해야함) Kubernetes사용으로 인한 장점 ● Node scale 변경시 Statefulsets replica숫자 변경으로 쉽게 적용가능 ● Master HA 구성, Druid, Zk 설치 Data Processing (실시간 - druid)
  • 13. Data Analysis(Presto) 역할 ● EDA ● Tableau Report ● Table Summary ETL PrestoSQL ● fork from prestodb ● CBO ● AWS Glue metastore ● https://prestosql.io/ ● Starburstdata.com : presto with k8s, Apache Ranger, Apache Sentry
  • 14. “If you were entering Hadoop ecosystem 8-10 years ago, there was this mantra: bring compute to your storage, tie them together; shipping data is so expensive. That is no longer true. All modern architectures right now separate storage from compute. Grow your data without limit, scale your compute power whenever you need.” Kamil Bajda-Pawlikowski, Data Council NY, Nov 7-8, 2018 ● S3 as DataLake ● Presto as Compute Data Analysis(Presto)
  • 15. Kubernetes사용하는 장점 ● EMR에서 제공하는 presto 에 비해 비용이 저렴하고 서비스 문제시에 재시작, version upgrade 등이 용이함 ● data processing 역할만 담당하고 데이터는 s3저장되어있기때문에 다른 database등과 비교했을때 데이터 동기화/DQ 관리용이 ● Worker Scaling ○ Deployments replicas 조정으로 바로 적용가능 ○ HPA(cpu,memory,custom metrics)/AutoScaler/Scheduled Scaling ● Multi Cluster ○ K8s Service설정으로 multi cluster, load balancing ■ https://github.com/lyft/presto-gateway ○ Sandbox 형태로 사용자group에게 Cluster 제공 가능 Data Analysis(Presto)
  • 16. Kubernetes 기반 data platform의 이점
  • 17. K8s 기반 data platform의 이점 Scalability ● HPA/VPA, AutoScaler ● Metrics기반, Scheduled Scaling ● Service별 구성 ○ Airflow worker : worker가 부족할경우 worker pod 추가함으로써 resource 부족해결 ○ Druid data server : 필요에 따라 druid data server statefulset replicas 조정 ○ Presto worker ■ 필요에 따라 presto worker deployments replicas 조정 ■ Presto multi cluster 안정성 ● Service pods 를 statefulSet/deployments로 구성하게되면 장애시 자동으로 pod 재시작(Falut Tolerence) ○ Spot instance로 서비스 구성 ● Presto multi cluster(HA)
  • 18. K8s 기반 data platform의 이점 서비스제공 ● K8s service, Ingress 구성을 통해서 data 서비스를 사용자에게 제공하기 용이 함 ● Docker image, helm을 통해 jupyter, superset, redash등의 데이터조회,분석 solution에 대한 빠른 제공/삭제 Computing Node관리 ● ec2를 k8s에서 관리 ● Spot instance/on demand + fargate 구성 ● Node group 에 대한 auto scaling group 설정 ○ Auto scale 가능하지만 instance가 뜨는데 시간이 걸리기때문에 instance 사용 resource 계획에 따라서 schedule 가능

Editor's Notes

  1. 빅데이터 클라우드 시대의 기존 data-warehouse 와 같은 데이터플랫폼 보다 필요한 요소는 저는 확장성, 안정성, 실시간 이라고 생각을 합니다. 확장성은 데이터나 사용자가 기아급수적으로 늘어나는 환경에서 그에 맞게 시스템을 확장할 수 있는 기능으로, 빠르고,적당한 가격에, 원하는 성능까지 쉽게 확장할수 있는 플랫폼이어야합니다. 데이터 같은 경우는 확장시 재분산과 같은 이슈가 있는데 해당이슈에 대응이 솔루션 선택에 중요한 요소가 됩니다. 안정성이라고 하면 두가지 HA(High Availability)와 Falut Tolerance를 생각해볼수 있는데, HA는 고가용성을 위해 장애발생시 시스템을 2중화 하거나 SPOF등의 방법을 제공할수 있겠고 WebServer, API, DB등에서 요구하는 안정성인데 데이터 플랫폼에서는 HA까지 원하는 서비스 보다는 falut tolenrace정도의 안정성만 제공해도 되는 부분이 많습니다. Fault Tolerance는 장애가 나더라도 빠르게 자동으로 복구될 수 있는 시스템으로 data platform에서 batch나 분석시스템 worker/execute node등은 실패시 재시작만 되면 서비스제공에 무리가 없는 부분입니다. 실시간은 데이터 플랫폼에 신선함/최신성을 제공하며 Data Lake 개념에 대비해 data river라고 불리거나 생각될수 있습니다. 데이터나 사이트를 모니터링 한다거나 fraud/anomaly detection에 사용이 될수 있고 데이터플랫폼에 대한 사용성이나 신뢰도 향상에 역할을 할수 있는 부분입니다.
  2. 데이터 플랫폼 구축 입장에서도 kubernetes를 사용하면 설치에 있어서 helm이라는 설치툴도 있고 , yaml파일 만으로도 설치가능한 서비스들이 있으며 저희도 zookeeper를 yaml파일을 통해서 설치했습니다. 또 제품을 개발이나 설치했을때도 kubernetes의 service, ingress등을 사용해서 사용자들에게 서비스를 쉽게 제공가능하며 서버에 문제가 있어서 재시작할때도 서비스를 삭제하고 다시 시작하는데 부담이 없어서 편리합니다. 직방은 kubernetes를 aws에서 구현할때 EKS를 사용했는데요, EKS는 AWS의 managed kubernes로 master 서버들을 관리하고, multi AZ를 지원하며 k8s upgrade도 최근에 지원하기 시작했습니다. 가격적인 면에서도 1월에 가격을 50%인하했는데 안해도 썻을것 같고 EKS를 안쓰고 설치해서 쓴다면 master서버 node를 multi AZ에서 관리하는 ec2비용이나 관리에 들어가는 resource이 훨씬 많이 들것으로 예상이 됩니다.
  3. Airflow 은 job coordination platform으로서 자세한 소개 및 설치에 대해서는 여기를 참조해주시고 개발/운영은 airflow worker에서는 직접데이터를 처리하지 않는다는 것이고(meta db외 분석대상/결과가 되는 db나 s3등의 storage에 접근하지 않음). Kubernetes worker를 사용하지는 않지만 kuberntes operator는 내무적으로 개발해서 사용하고 있고, 실제로 데이터를 처리하는 task는 pod형태로 kubernetes 에서 실행이 됩니다. Airflow 를 kubernetes 에 설치했을때의 장점은 webserver나 scheduler는 fault tolerance의 안정성을 제공하고 worker는 작업이 많아지게되면 추가적인 worker를 늘릴수 있도록 구성이 가능합니다. Airflow webserver경우에는 HA도 가능하지만 팀내개발용이기도 해서 Falut Tolerance로 구성했지만 요구사항에 따라 HA도 가능합니다. Airflow DAG source동기화를 위해서는 다른 배포프로세스 없이 git sync를 통해서 주기적으로 동기화 하고 있고, pod간 storage공유를 위해서는 network file system인 AWS EFS를 사용하고 있습니다. 아래 화면은 airflow에서 git version을 확인하기 위해 custom 된 화면입니다. airflow가 완전한 솔루션이 아니라 필요한 기능을 개발해야해서 불편하거나 불안정하다고 생각할수 있지만 그렇기 때문에 kubernetes에서 실행되는 환경에서 필요한 기능을 쉽게 개발해서 적용할수 있다고 생각합니다.
  4. Hudi -일배치에서는 별로 의미가 없기는한데, 더 찾은 데이터 동기화를 위한 updatable table store방식으로 이원화해서 적재중
  5. Hudi -일배치에서는 별로 의미가 없기는한데, 더 찾은 데이터 동기화를 위한 updatable table store방식으로 이원화해서 적재중
  6. Hudi -일배치에서는 별로 의미가 없기는한데, 더 찾은 데이터 동기화를 위한 updatable table store방식으로 이원화해서 적재중
  7. 확장성, 안정성에 대한 해결을 위해서 저희는 kubernetes를 적용하게 되었고 Kubernetes에서 확장성은 HPA/VPA, Autoscaler등을 통해 제공가능하며 metrics기반이나 schedule 을 통해서 제어가능합니다. 안정성은 services, deployments, statefulset 등의 kubernetes 고유기능을 통해서 제공할수 있는데, 예를 들면 presto 를 여러개 cluster를 생성한다거나, superset 과 같은 데이터 조회툴에 대해서도 service와 deployments를 통해 HA를 구성할수 있습니다. 또 Presto worker나 druid datanode 혹은 airflow webserver/worker/scheduler에 대해서 deployment/statefulset 등을 통해서 장애가 발생하더라도 다시 재실행될 수 있는 fault tolerance 구성도 가능합니다.
  8. 확장성, 안정성에 대한 해결을 위해서 저희는 kubernetes를 적용하게 되었고 Kubernetes에서 확장성은 HPA/VPA, Autoscaler등을 통해 제공가능하며 metrics기반이나 schedule 을 통해서 제어가능합니다. 안정성은 services, deployments, statefulset 등의 kubernetes 고유기능을 통해서 제공할수 있는데, 예를 들면 presto 를 여러개 cluster를 생성한다거나, superset 과 같은 데이터 조회툴에 대해서도 service와 deployments를 통해 HA를 구성할수 있습니다. 또 Presto worker나 druid datanode 혹은 airflow webserver/worker/scheduler에 대해서 deployment/statefulset 등을 통해서 장애가 발생하더라도 다시 재실행될 수 있는 fault tolerance 구성도 가능합니다.