course thumbnail
  • 데이터사이언스
  • 초급

카카오 엔지니어와 데이터 엔지니어링 입문 on Cloud

데이터 파이프라인 구축 과정에서의 각 컴포넌트에 대해 학습할 예정입니다. 이 강의 하나로 데이터 엔지니어링, 완벽히 입문하실 수 있습니다.

3기
22.09.17 ~ 22.10.22 (총 6회) 매주 토요일 10:00 ~ 13:00 (총 18시간)

Data Engineering,
제대로 입문하려면?

전체 구조를 이해한 후 세부적인
컴포넌트에 대해 다룰 수 있어야 합니다.


강의소개

데이터 엔지니어링의 큰 그림부터
다양한 오픈소스와 AWS 서비스까지 한번에!

cloud 강의

01. 데이터 엔지니어링 전체적인 구조 및
최신 트렌드를 알고 싶다면?

데이터 엔지니어링을 제대로 이해하기 위해서는 데이터 엔지니어링의
큰 그림을 기반으로 세부적인 요소들을 채워 나가야 합니다.

02. 데이터 파이프라인의 전 과정을 직접 구축해 보고 싶다면?

데이터 파이프라인을 구성하는 각 컴포넌트는 다양한 오픈소스와 AWS 서비스로
구성되어 있습니다. 소개만이 아닌 각 구성방식을 직접 다뤄보게 됩니다.

03. 현업 엔지니어의 업무 경험과 문제 해결 케이스, 노하우가 궁금하다면?

강사님이 업무를 하면서 당면했던 이슈와 해결 방안은 물론, 여러 기업의 데이터 파이프라인에 대한 비교 분석을 통해 클라우드 데이터 인프라를 구축할 수 있습니다.


본 강의에서
무엇을 얻어갈 수 있나요?

현업 엔지니어와 현장에서 소통할 수 있는 유일한 강의

  • 데이터 인프라

    언제든 재현 가능한

    우리 기업과 조직에 맞는 데이터 인프라 구축 방법을 현업 혹은 사이드 프로젝트에 직접 적용할 수 있게 됩니다.

    apache 강의
  • AWS 클라우드

    데이터 파이프라인 구축

    수많은 AWS 서비스 중 무엇으로 데이터 파이프라인을 구축해야 하는지를 함께 고민하고

    cloud 강의
  • 커리어 전환

    설계 / 개발 / 운영

    요구 사항 분석, 개념적 / 논리적 / 물리적 모델링, DBMS 구축까지 실무자들이 실전에서 어려워하는 케이스를 모두 다룹니다.

    apache 강의

현업에서의 경험, pain point 등을 담아
데이터 엔지니어링에 완벽히 입문할 수 있게!


본 강의가 특별한 이유는
무엇인가요?

1

데이터 파이프라인 구축에 필요한 컴포넌트와 서비스 이론 및 실습

데이터를 수집, 처리, 저장하기 위해 수많은 오픈소스와 서비스가 등장하고 있습니다. 지금, 이 시간에도 새로운 오픈소스와 각 오픈 소스마다 새로운 기능을 탑재한 버전이 업데이트 되고 있습니다. 본 강의에서는 데이터 파이프라인의 메인 스트림을 제시해주고 필요한 컴포넌트와 서비스를 직접 다뤄보게 됩니다.

2

현업 사례 기반의 스트림 데이터 처리 분야 학습

현대 빅데이터 처리 분야에서 실시간 스트림 처리가 점점 중요해지고 있습니다. 이를 위해 가장 유명한 스트림 처리 프레임워크인 'Apache Flink'에 대해 배워봅니다. 단순히 설명과 예제만 보여주는 것이 아닌 현업 사례 기반의 예제와 운영 관점에서의 pain point, 이를 해결하기 위한 구조를 함께 실습해 봅니다.

3

아키텍처 이해 : 기업들의 데이터 파이프라인 Case Study

테크 블로그나 컨퍼런스에 공개된 유명 IT 기업과 스타트업의 데이터 파이프라인과 아키텍처를 함께 살펴볼 예정입니다. 해설을 통해 특장점을 파악하고 비교 분석하여, 수강생들은 각각의 아키텍처를 이해하여 이를 내재화합니다.

FAQ

강의에 대해
궁금한 점이 있으신가요?

Q. 수강 시, 준비 사항은 어떤 것이 있을까요?

실습을 위해 개인 PC가 꼭 필요합니다.
또한, AWS 계정(프리티어 가능)이 필요합니다.

Q. 기초 지식이 없어도 수강이 가능한가요?

기본 터미널 쉘(Bash, Zsh 등) 사용 지식,
Java, Python 기본 지식이 필요합니다.

수강 대상

이런 분들은 꼭 들으셔야 해요!


데이터 엔지니어링의 구조, 필요한 지식, 학습 방향에 대해 알고 싶은 분


클라우드 데이터 엔지니어링과 스트림 데이터 처리 입문자


개발 분야에서 데이터 엔지니어로 커리어 전환을 목표로 하는 분

강사소개

우리 강사님을 소개할게요!

apache 강의
Lukas
이력사항
  • (전) 카카오 클라우드 & 데이터 엔지니어
  • (전) 티맥스 소프트웨어 엔지니어
  • (전) KOSSLab 오픈소스 개발자
  • (글로벌 오픈 프론티어)
  • ONOS(Open Network Operating System) Contributor
프로젝트
  • AWS 로그 & 메트릭 파이프라인 구축 및 운영
  • 클라우드 데이터 파이프라인 개발 및 운영
  • 클라우드 시스템(Infra-as-a-Service) 개발 및 운영
  • 클라우드 네트워크 모니터링 및 분석 시스템 개발
  • 2021,2020 if kakao 발표 진행
  • 한국정보과학회 춘계 단기강좌, 공개 SW 개발자센터 컨퍼런스 등 진행
1. 자기소개 부탁드립니다.

안녕하세요. 데이터 플랫폼을 개발하고 있는 Lukas입니다. 클라우드와 거기에서 생산되는 수많은 데이터를 수집하고 처리하는 데에 관심이 많은 개발자입니다. 점차 많은 기업들이 데이터를 기반으로 의사결정을 하면서 점점 더 많은 데이터를, 더욱 신속하고 정확하게 처리해야 하는 시대입니다.
이러한 시대에 발맞춰 스트림 처리, 실시간 처리에 관심을 갖고, 끊임없이 공부하고 성장하고 있는 개발자 중 한 사람입니다. 원래는 IaaS(Infra-as-a-service), PaaS(Platform-as-a-service)와 같은 클라우드 시스템을 개발했지만 클라우드와 그 위에 올라간 수많은 서비스에서 생산되는 데이터의 가능성을 보고 데이터 엔지니어의 길로 방향을 살짝 틀게 됐습니다. 커리어 방향을 틀었지만 많은 부분이 겹쳤고 이전의 클라우드 경험이 많은 도움이 됐습니다.
최근 데이터 엔지니어링은 클라우드와는 떼려야 뗄 수 없는 관계입니다. 데이터가 증가하는 속도에 맞춰 파이프라인과 플랫폼도 확장성을 보장해야 하고 그와 동시에 안정성도 보장해야 합니다. 이를 위해서는 클라우드 또한 이해하고 사용할 수 있어야 합니다.
앞으로 진행하는 강의에서 저의 과거와 현재 경험을 기반으로 데이터 세상에 잘 안착할 수 있도록 도움을 드리고자 합니다.

2. 강의에서는 주로 어떤 내용을 다룰 예정이시고, 어떤 형태로 진행되나요?

데이터 엔지니어링, 데이터 파이프라인의 큰 그림을 설명해 드리고, 그 그림을 구성하는 각 요소에 대해 설명하고 직접 실습하며 다뤄볼 예정입니다. 이 과정에서 데이터 엔지니어뿐만 아니라 백엔드 개발자에게도 요구되는 여러 오픈소스와 AWS 서비스를 다루어 봅니다. 대표적으로 Apache Kafka와 ELK 스택이라고 불리는 Elasticsearch, Logstash, Kibana 입니다. Kafka와 Elasticsearch는 현업에서 가장 많이 사용되며 다양한 분야의 개발자들이 활용하고 있습니다. 사실 이 두 오픈소스를 다루고 운영하려면 각각 따로 강좌를 들어야 할 정도로 방대하지만, 입문자들을 위해 최대한 핵심을 설명하면서 활용 방안 그리고 현업에서 겪을 수 있는 문제점 등을 정리해서 전달하려고 합니다. 데이터 파이프라인을 구성하는 각 컴포넌트에 대해 설명만 듣는 것이 아니라 설정값들을 바꿔보면서 하나씩 실습하는 형태의 강의입니다.

3. 본 강의에서 배운 내용을 수강생 분들이 어떻게 활용할 수 있을까요?

데이터 엔지니어링과 클라우드에 입문하시는 분들이 주요 수강 대상입니다. 데이터 엔지니어링은 회사마다 심지어 조직마다도 다루는 툴이 다르고 구성하는 방식 또한 달라질 수 있습니다. 비즈니스 로직과 해당 기업의 데이터 정책에 따라 구조와 구성요소가 천차만별이라서 쉽게 접근하기 어려운 점이 있습니다. 개발자 컨퍼런스나 세미나에서 발표되는 여러 기업의 아키텍처를 참고해도 너무 많은 오픈소스와 기술들이 등장하기 때문에 무엇을 공부해야 할지, 저건 무슨 역할을 하는지, 왜 이런 구조인지를 파악하기 힘든 경우가 많습니다.
이러한 어려움을 해결하는 데에 조금이나마 도움이 되고자 빅데이터 이론에 나온 일반적인 구조를 설명해 드리고, 이후 여러 기업의 사례를 (공개된 자료에 한해서) 비교 분석해 보려고 합니다. 데이터 엔지니어링에 대한 시장 수요가 높아지는 만큼 오픈소스와 상용 서비스들이 쏟아지고 있습니다. 여기서 예산과 구조 그리고 개발자 입맛에 맞게 각 컴포넌트를 골라 데이터 파이프라인을 구축해야 합니다. 강의에서 배운 지식을 기반으로 스스로 가지를 뻗어서 공부하면 본인 회사나 목표로 하는 기업의 아키텍처를 이해하고 나아가 더 나은 아키텍처를 제시하실 수 있으리라 생각됩니다.

4. 다른 강의와 어떤 차별점이 있나요?

이 강의는 빅데이터 아키텍처를 기반으로 데이터 엔지니어링의 전체적인 구조를 파악한 후, 각 세부 컴포넌트를 직접 다루어 보면서 데이터 파이프라인을 실습할 수 있도록 구성하였습니다. 입문자의 배경지식을 고려하지 않고 특정 오픈소스를 딥 다이브하는 다른 강의와는 달리 각 컴포넌트의 역할과 특징, 이론 등을 상세히 설명합니다. 이 강의를 기반으로 수강생이 데이터 엔지니어링 분야에서 가지를 뻗어 나가고 데이터 관련 커리어를 이어 갈 수 있도록 여러 키워드와 컴포넌트도 강의 중간중간 최대한 전달하려고 자료들을 구성하였습니다.

5. 마지막으로 수강생들에게 하고 싶으신 말이 있다면?

데이터 엔지니어링은 데이터를 중심으로 다양한 요구사항을 만족시키기 위해 고민하는 분야입니다. 기술적인 도전과 비즈니스 관점에서의 도전이 모두 공존합니다. 데이터 엔지니어링은 특히나 기업마다 조직마다 정말 다양한 아키텍처와 기술 스택을 가지고 있습니다. 그러기 때문에 입문자 입장에서는 어떻게 접근해야 할지, 무엇부터 공부해야 할지, 어떤 토이 프로젝트를 할지 감을 잡기 힘든 경우가 많습니다. 그런 분들께 방향성을 제시하고 작게나마 도움이 되고 싶습니다. 실습 때 다루는 기술 스택은 데이터 엔지니어뿐만 아니라 백엔드 개발자나 DevOps 엔지니어에게도 요구되는 기술들이 많으니 사용 목적과 특징들을 배워둔다면 많은 도움이 될 것 같습니다.
강의가 끝날 때쯤이면 데이터 엔지니어링 입문자에서 효율적인 데이터 처리에 대해 함께 고민할 수 있는 동료가 될 수 있었으면 좋겠습니다.

커리큘럼 (6)

  • 1주차. 데이터 엔지니어링 소개

    [목표]

    데이터 엔지니어링이란 무엇이며 왜 중요해졌는지 그리고 이를 구성하는 기술은 어떤 것들이 있는지 알아봅니다.
    또한 최신 빅데이터 아키텍처와 트렌드를 소개를 통해 기업이 필요로 하는 구조와 기술에 대해 전달합니다.
    실습으로는 데이터 파이프라인에서 가장 앞단에 있는 데이터 수집부를 다뤄봅니다.


    [이론]

    1) 데이터 엔지니어링의 필요성과 데이터 파이프라인의 구성 요소

    2) Batch Processing(일괄 처리), Stream Processing(스트림 처리)

    3) Lambda Architecture vs Kappa Architecture 설명

    4) 클라우드 기반 데이터 엔지니어링


    [실습]

    1) AWS 실습 환경 셋팅

    2) Collector 소개 및 실습 - AWS EC2에 logstash 설치, input / filter / output 테스트

    3) filebeat & logstash 기반 데이터 수집부 구현 실습 - 연동 및 데이터 전달 연습

  • 2주차. 람다 아키텍처 - 배치 처리 시스템

    [목표]

    가장 많이 사용되는 방식인 배치 처리에 대해 배우고,
    ETL(Extract-Transform-Load)과 ELT(Extract-Load-Transform)프로세스에 대해 알아봅니다.


    [이론]

    1) 데이터 엔지니어링 구성요소(OLAP, 데이터 웨어하우스, 데이터 마트, 데이터 레이크)

    2) ETL vs ELT

    3) 배치 처리에 사용되는 기술들 소개(오픈소스 및 AWS 서비스)

    4) 클라우드 기반 대형 배치 처리 시스템 소개


    [실습]

    1) AWS S3, DynamoDB, Athena, Lambda, EventBridge, Glue를 이용한 배치 처리 시스템 실습

    2) S3 저장, Athena 쿼리 실습, EventBridge 스케줄링 실습

  • 3주차. 람다 아키텍처 - 스트림 처리 시스템

    [목표]

    최근 각광받고 있는 스트림 처리에 대해 설명합니다.
    관련 오픈소스 및 클라우스 서비스를 이용하여 직접 실습하고, 실시간 스트림 데이터 파이프라인을 구축합니다.


    [이론]

    1) Stream Processing과 필요성 설명, pub/sub 메시지큐 설명

    2) Apache Kafka 소개 : 사용 목적, 구조, Broker / Producer / Consumer 설명, 기타 비교 오픈소스 군 설명

    3) AWS Kinesis 소개 : 사용 사례, 서비스 파라미터 설명


    [실습]

    1) Kafka 셋팅, producing-consuming 테스트, 앞서 배운 logstash를 이용한 데이터 파이프라인 구축 실습

    2) AWS kinesis 셋팅, 데이터 전달 및 처리 실습, 중간 변환 테스트, 간단한 파이프라인 실습

  • 4주차. 카파 아키텍처 - 스트림 처리 심화

    [목표]

    람다 아키텍처의 단점을 보완하고 최근 트렌드에 발맞춘 카파 아키텍처에 대해 배우고 이를 직접 구축해봅니다.


    [이론]

    1) Apache Flink 소개 및 구조, 장점 설명


    [실습]

    1) Flink application & job 개발 실습

    2) Flink operator(map, filter, flatmap, etc)를 이용한 테스트

    3) Flink 기반 데이터 처리 app 개발 후 데이터 파이프라인 연동

    4) 모니터링 및 운영 실습

  • 5주차. 시각화 및 분석 툴

    [목표]

    데이터 엔지니어링의 최종 목표인 데이터를 활용하는 단계인 시각화 및 분석에 대해 배웁니다.
    스토리지에 쌓인 데이터를 시각화할 수 있도록 연동하고 분석 툴을 사용해봅니다.
    검색 엔진이자 데이터 분석 및 시각화를 담당하는 Elasticsearch에 대해 배우고 실습하는 시간을 갖습니다.


    [이론]

    1) Elasticsesarch 소개 및 구조 설명, 운영 팁

    2) cluster, node, index, shard 설명

    3) ELK 스택 소개, Kibana 소개

    4) AWS QuickSight 소개


    [실습]

    1) Elasticsearch 셋팅

    2) 주요 API를 이용한 데이터 저장, 검색, 삭제 실습

    3) 데이터 파이프라인 연동으로 데이터 적재 실습

    4) Kibana를 이용한 데이터 분석 및 시각화 실습

  • 6주차. 기업 아키텍처 분석 Case Study

    [목표]

    배운 내용을 기반으로 각 데이터 파이프라인을 통합하고 데이터를 생성, 수집, 저장, 처리 과정을 직접 경험해봅니다.
    지금까지 배웠던 내용을 기반으로 여러 기업의 데이터 파이프라인을 해설하고,
    각 컴포넌트에 사용된 기술 등에 대해 공유하고 질의응답을 받는 시간을 갖습니다.


    1) 각 컴포넌트를 연동해서 통합 파이프라인 구축

    2) 현업 데이터 파이프라인 공유

    3) Wrap-up 및 QnA

커리어 성장으로 가는 길, 러닝스푼즈와 함께 하세요!

지금 보고 계시는 강의의 관련 태그로 다른 강의도 찾아보세요.

오프라인

카카오 엔지니어와 데이터 엔지니어링 입문 on Cloud

매일 선착순 20명 한정! 할인가 확인하고 커리어 성장하세요!