BLOG
COM306-OF_Bringing software engineering rigor to data연사 : Zainab Maieki 일시: 2022.11.28 10:00 ~ 11:00 장소: Caesars Forum, Level 1, Summit 232, Content Hub, Green Screen 작성자 : 메가존클라우드 Data Business Center 조예원 매니저 |
Software Enigineering 관점에서 본 효율적인 Data Platform 구축 및 활용방안에 대해 소개하는 세션에 참여 하였습니다.
효율적인 데이터 플랫폼 구축 및 활용 방안에 대해 아래의 Agenda로 진행 됩니다.
- 빠른 데이터 이동
- 데이터의 DORA metrics
- 성공을 위한 전략
- 성공적인 데이터 엔지니어링을 위한 권장 사항
DORA metrics란, 소프트웨어 개발 팀의 퍼포먼스를 측정하기 위해 정의된 4가지 중요 metrics로, DevOps Research and Assessment의 6년간의 리서치로 정의되었습니다. 이와 같은 DORA metrics를 Data Engineering 에 적용하여 효율적인 Data Platform을 어떻게 측정할 수 있는지에 대해 설명 한다고 합니다.
DORA metrics는 아래와 같은 4가지 metrics를 가집니다.
- Deployment frequency : 조직이 얼마나 자주 성공적으로 배포하는지
- Lead time for changes : 변화가 production까지 반영 되는데 걸리는 시간
- Change failure rate : 배포했을 시 실패하는 비율
- Time to restore service : production에 실패/장애가 발생했을 때 필요한 복구 시간
4가지 Dora metrics 값을 조합하여 위와 같이 조직의 퍼포먼스를 평가하는 것도 가능합니다.
조직에서 자주 겪는 첫번째 어려움은 변화가 느린 Data Platforms입니다.
대부분의 Analytical Data Platfom은 위와 같은 구조를 가지고 있는데요, 여러 도메인에서 생성되는 데이터를 하나의 Data Platform을 거쳐 여러 데이터 소비자에게로 전달됩니다.
모든 데이터가 하나의 Data Platform에서 처리되고 있기 때문에, 데이터 혹은 프로세스에 문제가 발생하였거나, 변경을 해야 할 경우 데이터 플랫폼에서 처리하는 속도가 느릴 수 밖에 없습니다.
모든 데이터가 하나의 데이터 플랫폼으로 모이면서 변화 및 활용이 느려지게 되는데요, 이 때 생기는 문제는 Data Engineering Team을 분산하여 해결할 수 있습니다.
Data Engineering Team을 분산하는 구조의 데이터 플랫폼 구축 방안을 Data Mesh라고 합니다.
Data Mesh란, 각 도메인별로 데이터를 수집, 처리, 공급하는 플랫폼을 가지고 있고, 데이터 소비자가 필요한 데이터 플랫폼에서 데이터를 활용하도록 구성된 데이터 플랫폼입니다. 각 도메인(데이터 생성자)별로 데이터 엔지니어링 팀이 존재하는 것과 같다고 볼 수 있습니다.
Data Mesh의 아키텍쳐는 위와 같습니다. 아래와 같이 추가 설명을 드리도록 하겠습니다.
- 데이터 플랫폼 팀은 저장소 및 쿼리 엔진, Catalog, Access management, Monitoring, Privact Automation 등, 각 도메인 팀 (데이터엔지니어) 이 본인의 데이터 플랫폼을 구축, 활용할 수 있는 Self-Serve Data Platform을 구축합니다.
- 각 도메인의 팀은 데이터 엔지니어의 상담, 가이드, Best Practices를 활용하여 플랫폼 팀이 구축한 Self-Serve Platform 위에 본인들의 데이터를 수집, 처리, 활용하는 각자의 데이터 플랫폼을 만듭니다.
이런 구조의 self-serve platform이 성공적이기 위해서는 Platform의 책임과, Domain의 책임을 분리하여 각각의 책임을 다 하도록 해야합니다.
- Platform Responsibilities
- 도메인 팀의 일을 할 수 있도록 하는 것
- Platform 보안
- 중앙화된 접근 단계
- Platform 일관성
- Platform 품질 감시
- 템플릿 생성
- Domains Responsibities
- 데이터 수집
- 데이터 변환/처리
- 데이터 공급
- 데이터 관찰
- 자동화된 데이터 테스트
- 데이터 마스킹(PII 제거 등)
두 번째 어려움은 도메인 팀에 적절한 능력이 없을 수 있다는 점인데요, 모든 도메인 팀이 자신의 데이터를 수집/처리/제공할 수 있는 능력을 가지기란 어렵기 때문입니다.
이런 문제점을 해결하기 위해선, 강력한 플랫폼을 구축해서 모든 도메인 팀의 능력을 잘 합칠 수 있도록 해야 합니다.
세번째 문제점은 플랫폼 적용이 느리다는 점입니다.
도메인 팀이 각자의 데이터 능력을 적용할 수 있도록 자동화 된 데이터 플랫폼을 만들어야 합니다.
자동화된 플랫폼에는 내재된 CI/CD, 자동화된 테스트 패턴, 관찰 능력(모니터링)이 필요합니다.
네번째 문제점은, 과도하게 방어적인 데이터 팀의 태도인데요, 데이터 팀은 보안 문제에 민감하기 때문에 데이터를 공유하지 않으려는 태도를 보여, 효율적인 데이터 플랫폼 구축 및 활용에 어려움이 생기는 경우가 많습니다.
이런 문제를 해결하기 위해선 보안 및 데이터 발견 능력을 플랫폼에 반영해야 합니다.
다섯번째 문제는 데이터 플랫폼에 불필요하게 여러 파이프라인이 뭉쳐 있는 경우가 많다는 점입니다.
위 사진 처럼, 기존에 s3 -> glue -> redshift 데이터 파이프라인을 가지고 있던 데이터 플랫폼에서 어떠한 문제 해결 혹은 개선을 위해 databricks라는 서비스를 활용하는 파이프라인을 덧붙이고, 또 이후에 snowflake와 fivetran을 활용하는 파이프라인을 덧붙여서 결국 지저분하게 여러 파이프라인이 뭉쳐있는 경우가 종종 발생하게 되는데요, 이럴 경우 데이터 플랫폼의 효율적인 관리 및 활용이 어려워집니다.
이런 문제를 해결하기 위해선 한번에 제대로 구축해야 합니다.
그 외에 성공적인 데이터 엔지니어링을 위해 아래와 같은 사항이 권장 됩니다.
- git/version 컨트롤 사용
- 자동 배포 설정
- 모든 비즈니스 로직에 대한 자동 테스트 추가
- 데이터 파이프라인과 플랫폼 관리의 분리
- 데이터 파이프라인의 상태에 대한 데이터 수집
- 데이터 엔지니어에게서 Administration Access 삭제
이번 세션에서는 소프트웨어 개발자 출신의 데이터 엔지니어가 실제 겪어보고 지켜본 내용을 기반으로 한 효율적인 데이터 플랫폼 구축 방안에 대한 실용적인 이야기를 들을 수 있었습니다. Data Mesh는 실제로 데이터 부서에서 많이 논의되고 있는 데이터 플랫폼 구조여서 관심을 가지고 있었는데, 이에 대한 개념과 필요성을 배울 수 있는 세션이었습니다.
효율적인 데이터 플랫폼을 위해 고려해야할 사항들을 전반적으로 정리하는 세션이어서 앞으로 데이터 엔지니어로써 많은 도움이 될 것 같다고 느꼈습니다.
👉 본 세션 내용 관련하여 추가 문의나 요청 사항이 있으시다면? 우측 링크로 이동하셔서 편하게 의견을 남겨주세요! https://www.megazone.com/contact/
👉 다른 세션 후기글이 궁금하시다면? 아래 링크를 통해 확인해 주세요!
🔷Keynote Report #1. Day1 Monday Night Live with Peter DeSantis 확인하기
🔷Keynote Report #2. Day2 Adam Selipsky Keynote 확인하기
🔷Keynote Report #3. Day3 Swami Sivasubramanian Keynote 확인하기
🔷Keynote Report #4. Day4 Dr.Werner Vogels Keynote 확인하기
✅3. 현대화 (Modernization)세션 후기 확인하기
✅4. SAP 세션 후기 확인하기
✅5. 쿠버네티스 세션 후기 확인하기
✅7. 분석 세션 후기 확인하기
✅8. AI/ML 세션 후기 확인하기
✅10. 현대화 (Modernization) 2 세션 후기 확인하기
✅11. 현대화 (Modernization) 3 세션 후기 확인하기
✅13. 네트워킹 세션 후기 확인하기
✅14. 마이그레이션3 세션 후기 확인하기
✅16. 보안 세션 후기 확인하기
✅17. SAP 2 세션 후기 확인하기
✅18. 마이그레이션4 세션 후기 확인하기
✅19. DevOps 세션 후기 확인하기
✅20. 신규업데이트 세션 후기 확인하기
✅21. 스토리지 세션 후기 확인하기
✅22. Amazon 세션 후기 확인하기
✅23. 신규업데이트2 후기 확인하기
✅24. 거버넌스 후기 확인하기
✅25. 거버넌스2 후기 확인하기
✅26. DevOps 2 후기 확인하기
✅27. AI/ML 3 세션 후기 확인하기
✅28. 분석2 세션 후기 확인하기
✅29. 쿠버네티스2 세션 후기 확인하기
✅30. 분석 3 세션 후기 확인하기
✅31. 서버리스 컴퓨팅 세션 후기 확인하기
✅32. 신규 업데이트 3 세션 후기 확인하기
✅33. 신규 업데이트 4 세션 후기 확인하기
✅34. 보안 2 세션 후기 확인하기
✅35. 분석 4 세션 후기 확인하기
✅36. 모니터링 세션 후기 확인하기
✅37. AI/ML 4 세션 후기 확인하기
✅38. 운영 세션 후기 확인하기
✅39. 운영 2 세션 후기 확인하기
✅40. 데이터베이스 세션 후기 확인하기
✅41. 데이터베이스 2 세션 후기 확인하기
✅42. 보안 3 세션 후기 확인하기
✅43. SaaS 세션 후기 확인하기
✅44. 컴퓨팅 세션 후기 확인하기
✅45. 신규 업데이트 : AWS SnapStart 세션 후기 확인하기
✅46. 신규 업데이트 : 네트워크 최적화 인스턴스와 최신 Amazon EC2 네트워킹 세션 후기 확인하기
✅47. 아키텍처 세션 후기 확인하기
✅48. SAP 3 세션 후기 확인하기
✅49. 고객사례 세션 후기
✅50. SAP 4 세션 후기 확인하기
✅51. 데이터베이스, 마이그레이션 세션 후기 확인하기
✅52. 보안 4 세션 후기 확인하기
✅53. 보안 규정 세션 후기 확인하기
✅54. 데이터베이스 3 세션 후기 확인하기
✅55. 신규 업데이트 5 세션 후기 확인하기
✅56 .DevOps 3 세션 후기 확인하기
✅57. 분석 5 세션 후기 확인하기
✅58. AI/ML 5 세션 후기 확인하기
✅59. DevOps 4 세션 후기 확인하기
✅60. 신규업데이트 6 세션 후기 확인하기
✅61. 분석 6 세션 후기 확인하기
✅62. 데이터 보호 세션 후기 확인하기
✅63. AI/ML 6 세션 후기 확인하기
✅64. DevOps 5 세션 후기 확인하기
✅65. 신규업데이트 7 세션 후기 확인하기
✅66. 신규 업데이트 8 세션 후기 확인하기