전체 글 162

[Airflow] Airflow DAG Serialization (직렬화)

직렬화(Serialization) Airflow의 DAG 직렬화를 알아보기 전에, 직렬화가 무엇인지부터 정리해보려고 합니다. 우리가 어떤 객체 데이터를 가지고 저장하거나 통신한다고 가정해보겠습니다. 실제 실행중인 프로세스상에서 데이터는 연속적이지 않게 메모리에 퍼져 있습니다. 물론 프로세스를 메모리에 연속된 주소로 할당하는 기법도 있긴 하지만, 단편화 문제도 있고, 가장 크게는 메모리 크기를 넘어서는 프로세스는 실행할 수 없다는 치명적인 문제가 있어서 사용하지 않고 있으니 요 친구는 논외로 하겠습니다. 그러니 앞서 말씀드린 것처럼, 객체 데이터는 비연속적으로 퍼져 있다고 볼 수 있습니다. 이런 객체 데이터를 가지고 통신하거나 저장하려면, 그 객체 데이터 그대로를 사용해서는 불가능합니다. 메모리 주솟값 등..

IT/Airflow 2022.05.08

[wookiist] 프로그래머스 Data Engineering 스터디 후기

시작에 앞서, 본 스터디는 모두 제 사비로 구매하여 수강한 것임을 먼저 밝힙니다! 데이터 엔지니어..?! 이번에 데이터 엔지니어로 합류하게 된 후, 여러 고민을 많이 했습니다. 특히, 지금까지 해오던 분야와 전혀 다른 Data라는 분야에 어떻게 적응하고 익혀가야할까 하는 고민이 정말 컸던 것 같아요. 더구나 저는 SQL도 정식으로 강의를 들어본 적이 없다보니, 무엇부터 해야하는지조차도 여러 소스에 의존할 수밖에 없었습니다. 그래서 여러 인터넷 강의(패X트캠퍼스, 인X런)를 구매하고, 하나하나 들어가기 시작했어요. 헌데, 문제는 강사님들의 강의 스타일도 저와 잘 맞지 않았고, 강의 내용이 기대했던 것보다 훨씬 낮은 수준인 경우가 종종 있었습니다. 강사님 음성보다 배경 음악이 더 큰 경우도 있었고, 전달력이..

욱이야기/욱이 2022.01.01

[후기] '에어비앤비 엔지니어가 행복하게 일할 수 있는 이유' 영상을 보고 나서

Prologue 8월 1일 이후, 블로그에 포스트를 올리지 못했습니다. 개인적인 성장을 위해 바쁘게 살다보니 생각을 정리할 새도 없었던 것 같습니다. 오랜만에 작성한 이 글은 유튜브 EO 채널에서 에어비앤비 유호현 엔지니어님을 인터뷰한 '에어비앤비 엔지니어가 행복하게 일할 수 있는 이유'란 영상을 보고 정리하였습니다. 지금까지 회사 생활을 하면서 느꼈던 원인 모를 답답함이 무엇이었는지 깨달을 수 있었습니다. 그리고 많은 한국의 회사들이 실리콘밸리 문화를 따라한다고 해도 혁신이 일어나지 않는 이유가 무엇인지도 느낄 수 있었습니다. 이번 글을 보시고 나서 영상을 꼭 보시는 것을 추천드립니다 🙂 Role-driven vs. Rank-driven 영상의 주된 내용은 Role-driven 조직과 R..

욱이야기/욱이 2021.09.25

[Kubernetes] Kubernetes Study: "Pod - Lifecycle"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "Pod - Lifecycle" 강의를 듣고 정리한 포스트입니다. Pod 라이프사이클 사람이 태어나서, 성장하고, 다시 자연으로 돌아가는 과정처럼, 파드에게도 정의된 라이프사이클이 있습니..

IT/Kubernetes 2021.08.01

[DevOps/번역글] Helm vs Kustomize: 어떻게 배포할 것인가?

Prologue 패키징 작업을 하다보면 Helm과 Kustomize를 사용하는 예제들을 종종 찾아볼 수 있습니다. 그러나 정작 둘의 차이점은 명확하게 알지 못한 채, "그냥 클러스터에 패키지 배포 쉽게 해주는 녀석 아니야?"라는 추상적인 개념만 갖고 있다면, 오늘 이 글이 도움이 되지 않을까 싶습니다. 과연 Helm, Kustomize는 무엇이고 어떤 차이점이 있는 걸까요? 그리고 둘 다 비슷한 역할을 한다면, 무엇을 사용하는 것이 더 좋을까요? 오늘 포스트에선 이 두 엔진을 비교해본 좋은 글을 소개합니다. Helm vs Kustomize: How to deploy your applications in 2020? 본 포스트는 위 글을 읽고 번역한 글임을 밝힙니다. Introduction 한 때, Helm..

IT/DevOps 2021.07.24

[Kubernetes] Kubernetes Study: "컨트롤러 - DaemonSet, Job, CronJob"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 지난 시간에 이어 컨트롤러의 마지막 내용. "컨트롤러 - DaemonSet, Job, CronJob"을 다뤄봅니다. DaemonSet 데몬셋은 모든(또는 일부) 노드가 파드의 복제본을 실..

IT/Kubernetes 2021.07.12

[Kubernetes] Kubernetes Study: "컨트롤러 - Deployment (feat. Canary)"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 지난 시간에 소개해드린 ReplicaSet에 이어 "컨트롤러 - Deployment"를 다뤄봅니다. Deployment 디플로이먼트는 지난 시간에 소개드린 ReplicaSet을 추상화한 ..

IT/Kubernetes 2021.07.11

[Kubernetes] Kubernetes Study: "컨트롤러 - ReplicaSet"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "컨트롤러 - Replication Controller, ReplicaSet"을 다뤄봅니다. 다만, ReplicationController는 ReplicaSet의 레거시 개념이므로, Re..

IT/Kubernetes 2021.07.10

[DevOps/번역글] Github Actions냐 Jenkins냐! 올바른 선택을 해봅시다

시작하기에 앞서, 본 포스트는 "Github Actions or Jenkins? Making the Right Choice for You" 를 읽고 한국어로 정리하기 위해 쓴 번역 글입니다. 오역이 있거나 미숙한 번역이 있을 수 있습니다. 많은 지적질 부탁드립니다! 지난 몇 년간, DevOps는 소프트웨어 생명 주기에 필수적인 부분이 되었습니다. 이는 곧 현재 주도적인 많은 DevOps 도구와 경험을 만들었습니다. CI/CD 프로세스를 지원하는 다양한 도구를 찾을 수 있겠지만, Jenkins와 GitHub Actions는 그 중에서도 압도적으로 우뚝 선 도구입니다. 이 글에서는 GitHub Actions와 Jenkins를 비교해서 올바른 선택을 할 수 있도록 인사이트를 제공하고자 합니다. Jenkins와..

IT/DevOps 2021.07.04

[DevOps] ArgoCD Slack Notification 설정하기

2022.01.01 업데이트 - 명령어 순서와 내용의 흐름, 가독성을 위해 수정 및 업데이트하였습니다. Prologue ArgoCD를 사용하게 된 이래로, 재배포나 자동 배포에 대한 불편함이 많이 사라졌습니다. 팀 DevOps 파이프라인의 CD 쪽의 개선이 이루어져서 사용하시는 분들께서도, "이젠 이 파이프라인 없으면 못 살 것 같다" 라는 말씀도 종종해주시는 걸 보면 뿌듯합니다 😝 오늘은 ArgoCD에 정의한 애플리케이션이 어떤 상태에 있는지 전달 받을 수 있도록 Notification을 설정해보고자 합니다. ArgoCD는 Email, GitHub, Slack, Grafana, Webhook, Telegram, Teams 등의 다양한 알림 채널을 지원하고 있습니다. [참고] 많은 채널 중에 오늘은 Sl..

IT/DevOps 2021.07.03