AWS Certified Data Engineer - Associate - 합격후기

DEA-C01 합격 후기를 쓰러왔다.

AWS Certified Data Engineer - Associate 자격증은 2024년 3월 12일 정식으로 출시되었으며, 취득일은 3월 14일이다.

먼저 DEA 시험은 Beta 시기를 거쳐서 오픈했는데, 그 이전에 https://explore.skillbuilder.aws/learn 에서 강의를 이미 오픈했다. 나는 사실 자격증을 얼른 취득하고 싶어서 조금씩 공부를 해놓고 있었다.

(올서티가 마려웠다.)

https://aws.amazon.com/ko/certification/certified-data-engineer-associate/


공부의 시작은 시험안내서 이다.

https://d1.awsstatic.com/ko_KR/training-and-certification/docs-data-engineer-associate/AWS-Certified-Data-Engineer-Associate_Exam-Guide.pdf

내가 본 안내서에서 중요하다 생각하는 부분이다.

  • 프로그래밍 개념을 적용하면서 데이터를 수집 및 변환하고 데이터 파이프라인을
  • 오케스트레이션합니다. - Glue / Step Function
  • 최적의 데이터 스토어를 선택 및 데이터 모델을 설계하고 데이터 스키마를
    카탈로그화하고 데이터 수명 주기를 관리합니다. - S3 / RDS(PostgresSQL) / RedShift / Dynamodb
  • 데이터 파이프라인을 운영화하고 유지 관리 및 모니터링합니다. 데이터를 분석하고
    데이터 품질을 보장합니다. - Kinesis / Glue
  • 적절한 인증, 권한 부여, 데이터 암호화, 프라이버시 및 거버넌스를 구현하고 로깅을
    사용합니다. 로깅을 활성화합니다. - CloudTrail / lake formation

서론만으로도 데이터엔지니어의 역할이 보인다. 적절한 데이터 스토어(데이터 레이크 / 데이터 웨어하우스 / 데이터베이스등) 에 파이프라인을 통하여 수집 변환 적제를 하는것이 핵심이고, 이과정에서 암호화, 모니터링, 거버넌스틀 통한 제어를 하는것이다.

어떤 시험을 볼때도 안내서가 제일 중요하다. 재대로 안보면 시험에서 어이없게 떨어질수 있다. 테스크 설명을 보면서 AWS의 서비스를 연상할수 있는게 가장 중요한 포인트이다.

그러면 예를 들어서 시험안내서의 1.1 데이터수집에서 <데이터를 수집하는 AWS 서비스의 처리량 및 지연 시간 특성> 에 대해서 이야기 해보겠다. 일반적으로 AWS에서는 데이터를 수집하는 Kinesis 이다. Kinesis 는 보통 Stream 과 Firehose 로 구분된다. 이 두가지를 헷갈리는 사람이 많은데, 나 같은 경우엔 이두가지를 이렇게 나눈다

기능/특징Kinesis Data StreamsKinesis Data Firehose
주요 용도 실시간 데이터 스트리밍 처리 및 분석을 위한 고수준 API 제공. 사용자가 스트림 데이터를 자세히 제어하고 관리할 수 있음.데이터를 실시간으로 수집하고, 변환하여 S3, Redshift, Elasticsearch, Splunk 등의 AWS 서비스로 쉽게 로드.
데이터
스토리지
스트림 내의 데이터는 최대 7일까지 저장 가능. 데이터 보존 기간 사용자 설정 가능.Firehose는 스스로 데이터를 저장하지 않음. 바로 다음 대상으로 전송.
데이터
처리
사용자는 스트림 데이터를 읽고 처리하기 위해 자체 소비자(예: EC2 인스턴스, Lambda 함수)를 관리해야 함.데이터 변환 및 필터링 기능 내장. Lambda를 사용하여 데이터 변환 가능.
대상
서비스
통합
Kinesis Data Streams 자체는 직접적인 데이터 저장 대상을 제공하지 않음. 소비자가 데이터를 읽고 처리한 후 저장소에 저장 필요.S3, Redshift, Elasticsearch 및 Splunk로 데이터를 직접 전송할 수 있음.
관리
편의성
높은 수준의 관리와 모니터링 필요. 사용자가 스트림과 데이터 소비자를 직접 관리.관리가 훨씬 쉬움. AWS가 대부분의 관리 작업을 자동으로 처리.
시작
난이도
설정과 관리에 더 많은 단계와 고려 사항이 있음.설정이 간단하며, 몇 분 내에 데이터 스트리밍 시작 가능.
실시간
처리
거의 실시간으로 데이터 처리 및 분석 가능.거의 실시간으로 데이터를 수집하고 대상 서비스로 전송.
비용데이터 스트림의 샤드 수, PUT 요청 수, 데이터 전송량 등에 따라 비용이 결정됨.전송된 데이터의 양에 따라 비용이 결정됨.

이런형태의 차이점을 이해하고 있으면 이제 두가지 서비스를 고려할때 바로 판단할수 있다. 또한 이 두가지 서비스는 실시간이 아니다. 거의(실시간)이다. 더 실시간으로 처리해야한다면 큐서비스를 사용해야한다.

시험 안내서의 범위는 너무 넓으니 속성으로 공부하고 싶다면 이제 사전테스트를 해야한다.

https://explore.skillbuilder.aws/learn/course/external/view/elearning/18868/exam-prep-official-pretest-aws-certified-data-engineer-associate-dea-c01-korean

나는 사전테스트를 여러차례 풀었고 해체하 듯 하나하나 Docs를 찾아가며 봤다. 예제문제가 훨씬어렵다. 예제문제 85%이상이면 시험을 봐도 좋을거 같다.

나는 다시 AWS의 모든 자격증을 획득했다.

읽어주셔서 감사하고 좋은하루 되시라!

AWS-ALL-Certification-Review

50일간의 챌린지를 끝냈다.

근래의 나는 다시금 내한계를 부수고 성장하는 과정을 거쳤다. 어느 순간부터 일하는것도 너무 쉬웠다.
공부하는건 시험이라는 부담감은 있었지만 공부가 어렵진 않았다.

50일간의 긴 시간이었다. 평균 5일에 1개의 자격증을 취득했다.

2023.12 CKAD: Certified Kubernetes Application Developer
2023.12 AWS Certified cloud practitioner
2023.12 AWS Certified Solutions Architect - Associate
2023.12 AWS Certified Developer – Associate
2023.12 AWS Certified SysOps Administrator – Associate
--------------------------------2024----------------------------------
2024.01 AWS Certified Database - Specialty
2024.01 AWS Certified Security - Specialty
2024.01 AWS Certified Advanced Networking - Specialty
2024.01 AWS Certified Solutions Architect - Professional
2024.01 AWS Certified: SAP on AWS - Specialty
2024.02 AWS Certified DevOps Engineer – Professional

시험응시료만 1,609,128원을 사용했다. 업무와 공부를 병행하는것도 어려웠다. 새벽 2시까지 매일같이 ChatGPT와 공부했다.

먼저 내가 공부한 방법을 설명하겠다. 나는 집중한 시간만 공부한 시간으로 잡았다. 자격증 평균 10시간정도의 공부시간을 가졌다. 공부시간은 스탑워치를 켜고 집중이 깨지면 스탑워치를 멈췄다. 평균 12분정도의 집중을 가질수 있었다.

그리고 공부는 보통은 이해를 하기위해 시험안내서를 읽었다. 공부의 시작과 끝은 시험안내서였다.

https://aws.amazon.com/ko/certification/certified-cloud-practitioner/

자격증 소개 페이지에 시험안내서가 있다. 이 시험안내서를 기반으로 분석한다.

여기 링크를 다보면 시험을 볼준비가 30%정도 완료 된거다. 그러면 이제 어떤 공부를 하냐?
안내서엔 도메인과 서비스가 있다.

태스크 설명 1.1: AWS 클라우드의 이점 정의.
관련 지식:

  • AWS 클라우드 가치 제안
    기술:
    • 규모의 경제에 대한 이해(예: 비용 절감)
    • 글로벌 인프라의 이점 이해(예: 배포 속도, 글로벌 도달 범위)
    • 고가용성, 탄력성 및 민첩성의 장점 이해

도메인은 다음과 같은 설명을 해주는데 그럼 이제 한줄한줄을 가지고 ChatGPT와 이야기를 하며 내가 모르는 키워드를 정리한다.

https://chat.openai.com/share/e84fb046-f996-4938-bd2d-c1526e3ee2fe
잠깐 예를들어서 질문을 한내용을 첨부한다. 내가 사용하는 프롬프트는 주로 자세하게 / 쉽게 / 키워드 추출 / 시험 내용 추천 / 등이다.

물론 나는 이미 한번 시험을 모두 본터라, 그동안 안다뤄본 서비스들을 따라가는 시간이라 좀더 수월함이 있었다.

그래도 나는 갱신의 시간을 가지면서 그동안 못다뤄본 서비스를을 만들어보거나 어떤방식으로 구성된지 확인하는 시간을 거치며 한층더 촘촘한 아키텍처구상력을 가지게 되었다.

올해의 첫 목표는 2달정도 빠르게 끝냈다. 이제 좀 쉬고 다음 목표를 향해 달려보려한다.

이글이 도움이 되면 좋겠다.
읽어줘서 감사하다.

좋은저녁 되시라!

AWS CLF/SAA/DVA/SOA-Review

2023년의 마지막에 이르러 나는 각성을 맞이했다.

급 다시 불타 올라서 스스로의 챌린지를 시작했다. 12월 16일 부터 27일까지 총 5개의 자격증을 진행했고, 모두 합격했다.

4개의 시험을 보면서 느낀점은 AWS는 계속 달라지고 있다는 거다. 나는 AWS를 아주 좋아하는 사람으로 다양한 AWS의 변화에 함께했다. 그런데 시험을 보면서 느낀점은 이 변화에 오롯이 내가 모두다 깔끔하게 적응한것은 아니라는 것이다.

자격증 갱신을 내려놓는 순간이 있었는데, 이건 내가 좀 잘못 생각한거였다. 자격증 갱신은 실무에도 커리어에도 도움이 된다. 4개의 자격증을 재취득하면서 얻은바와 느낀바가 크다.

실무로만 플랫폼을 접하고 공부한것과 자격증을 공부하면서 보게된 시야가 다르다는것을 익히 경험했으면서도 다안다고 생각했다. 아니다 나는 아직도 배울게 많다. 다시금 정진하려 한다.

Argo-Rollouts-Pod-Lifecycle


Argo Rollouts 의 쿨다운에 대한 이야기를 하려고한다.

이글은 Argo Roullouts 의 scaleDownDelaySeconds 옵션부터 preStop terminationGracePeriodSeconds 까지의 과정을 다룬다.

Argo Rollouts 는 배포를 도와주는 툴로 블루그린 카나리등과 같은 부분을 도와주는 도구이다. 간략하게 동작을 설명하겠다.

블루그린이 완료된이후 RS는 축소하지 않고 30초간 대기한다. 이 30초간 대기하는 옵션이 scaleDownDelaySeconds다. 혹시나모를 롤백 상황에 대해서 기다리는 옵션인것이다. 이시간이 종료되면 이제 RS는 replicas 를 0으로 수정해서 pod 들은 축소된다.

replicas 가 0으로 수정되면 pod는 일반적인 pod 의 lifecycle 를 거친다. pod 는 여러 차례 말했지만 N+1개의 컨테이너의 집합이고 컨테이너는 프로세스이므로 프로세스의 종료 과정이 그대로 pod 의 lifecycle 를 따르나 쿠버네티스는 이 프로세스를 컨트롤하는 고도화된 툴이므로 다양한 과정을 컨트롤 할수있게 만들어져 있다.

pod 의 종료과정에는 여러 작업을 끼워넣을수 있으며 그 과정중의 하나가 preStop hook 이다. preStop Hook이 설정되면 preStop hook 이 끝날때까지 컨테이너는 종료되지않으며 PreStop 훅이 종료된 시점에 TERM 을 날린다. 그리고terminationGracePeriodSeconds 은 pod 가 종료되는 시점부터 설정된 시간이 끝나면 KILL 시그널을 날린다.

결론적으로 preStop HooK은 terminationGracePeriodSeconds 보다 클수 없다. terminationGracePeriodSeconds 시간내에 행해져야 하고, preStop Hook 보다 커야지만 Graceful 하게 동작할수있다.

2023 회고

2023은 나에게 어려운 한해였다.

인간의 빅데이터는 잘 틀리지 않는다. 보통 그것을 우리는 본능이라 한다.
나의 본능은 2022년부터 위험신호를 보냈다.

나는 인지했지만 충분히 내 능력이라면 이겨낼수 있을거라 생각했다.
그건 내가 잘못 생각한것이었다. 일과 사람은 뗄수없으며, 사람의 문제는 조직의 문제로 발전하고, 건강할수 없다.

그렇지만 나는 최선을 다했다.

그 최선은 나의 마음을 갈아넣는 것이었고, 내 마음 또한 한계가 오는 시점들이 있었다. 이 시점들을 지나고 보니 그게 나는 슬럼프인걸 알았다. 사람은 변하지 않고, 나는 타인을 변하게 할수 없음을 안다. 사람이 변하지 않으면 조직이 변하지 않고, 나는 조직을 변화시킬수 없음을 슬럼프가 다가 왔을때 느꼈다.

그런데도 불구하고 나는 올해 정말 많은 일을 했다.

먼저 회사에서 멀티미디어를 서빙할때 Multi DRM을 사용하는데, 이 Multi DRM의 아키텍처를 내가 설계했다.

E-book 이라는 컨텐츠또한 DRM을 사용하는데 이 DRM을 고도화 하는 작업에서 누구도 납품받은 솔루션을 재대로 다룰수 없는 상태라 이 DRM을 설계하고 프로토 타입을 내가 만들었다. 이 기사 에서 말하는 DRM이 내가 만든거다.
그 다음으로 회사의 인프라는 많은 변화를 겪고있는데, DX를 통하여 서버기반의 인프라를 컨테이너 기반으로 이동중이다. 새로이 만들고 있는 플랫폼은 Gitops / Terraform / EKS 등등 맛있는 건 다들어가있고, 반년이상 지속적으로 관리하고 고도화하는 과정에서 결과물이 슬슬 나오고 있다.

또 팀의 리더로서 나의 동료들을 지키고 성장시키기 위해서 다양한 고민을 했다.

2022년은 같이 일하는 동료를 파악하기 위한 과정이었고, 2023년은 나의 동료들이 최고의 퍼포먼스를 낼수있도록 만드는 과정에 있었다. 그 과정에서 나는 많은 고통을 받았다. 하지만 내 동료들은 정말 많은 성장을 했다.

우리의 형 T. 나는 많은 DBA를 본건아니지만 이토록 방대한 범위를 꼼꼼하게 설계하는 사람을 본적이 없다. 차근차근 항상 꾸준하게 퍼포먼스를 뽑는다. 체계를 만들고 그 체계를 잘 활용한다. 이 과정에서 나오는 시너지가 어마어마 하다. 창의적으로 일하고 업무에 미학이 있다. 아름다운 데이터베이스 아키텍처를 설계한다.

동료인 S. 는 이제 시니어에 이르러서 막강한 퍼포먼스를 뽑아주기 시작했다. 나와는 결이 좀 다른데, 나는 레거시는 뜯어서 없애버리자는 주의인데, 이 동료는 레거시가 분포되어있는 영역을 파악하고 하나로 모아서 고도화 하는 작업을 스스로 시작했다. 또한 누구나 기피하는 운영의 영역에서 단한번도 싫은 내색없이 묵묵히 운영업무를 감내했다. 우리 팀의 최고의 인싸이자 로멘티스트로 정말 멋진 사람이다.

우리의 행동대장 칼잡이 D. 막내인데도 이미 두세사람 몫은 반드시한다. 협업능력 / 판단능력 다 좋다. 업무를 깔끔히 정리하고 이해안되면 죽어라 공부해온다. 그냥 적당히 설명만 하면 납득하거나 납득 안되는 부분은 물어온다. 나로서는 한가지 방식의 지시만 하면된다. 내가 생각하는 목적지를 구체적으로 보여주는것. 구체적인 그림을 보여주거나 내가 예측하는 그림을 보여주기 어려운 경우도 있지만 서로가 생각하는 방식이 비슷한점이 있어서 거의 대부분을 해결했다.

팀 전체로 우리는 올해 같은 목적을 가지고 뛰었고, 같이 분노하고 기뻐했다.
우리가 얻은 가장 큰것은 결속이 아닌가 싶다.

나는 여러번 리더로서 일했지만 성장하는 법을 이제야 배우고 있다.

다시 나의 이야기로 돌아가서 나는 이 과정에서 성장도 경험했지만, 나 스스로 무언가 억눌리고 심리적인 불안감이 있었다. 그건 슬럼프였고, 어느 순간 갑자기 슬럼프가 사라졌다. 그 결과 나는 다시한번 나의 한계를 부술수있는 강한 고양감을 느끼고 있다.

한 해의 마지막에서서 각성이 된다는건 참으로 이상한 일이다. 다른사람들이 마무리와 시작을 준비할때 나는 막 달리고 있는 순간이다. 이 감을 잃지않고 달려보려 한다.

모두 고맙다.