공부하고 기록하는, 경제학과 출신 개발자의 노트

학습일지/architecture 19

Airflow Summit 2021 - Deep Dive into the airflow scheduler

사족: 발표자 진짜 개패고싶음. 지금까지 봤던 모든 발표 중 단연 최악.중언부언에 용어 거꾸로 설명하다가 뒤늦게 바로잡는다던가, 뇌정지 온 것처럼 몇 초 가만히 있다가 대충 수습하고 넘어가는 게 한두번이 아님.발표만 깔끔하게 잘했어도 훨씬 좋은 세션이 되었을 거다.  https://youtu.be/DYC4-xElccE?si=lW5prwBguU_MqwQy   Ash Berlin-TaylorPMC member on AirflowDirector of Airflow EngineeringScheduler의 HA를 위해 re-architecting 했던 것들 정리.Responsibility of the Scheduler 단순히 Run Task만 수행하는 게 아님.Check DependenciesRetry Manag..

Airflow Summit 2021 - the Newcomer's guide to airflow's architecture

https://youtu.be/oLTMN-4Rvj8?si=ShQgVv-1M3ZlPbDG  Airflow는 AirBnb 내부에서 사용할 목적으로 만든 internal ETL tool에서 시작함.처음부터 훌륭한 아키텍처로 구성된 건 아니었고, 사용자가 많아지면서 요구사항에 대응하는 식으로 개선되어간 Organic Product. Airflow에서는 사용자가 DAG을 작성한다.DAG: 해야 할 Task와, task 간 relationship을 정의하는 Template.operators / task를 python으로 작성DAG을 실제로 실행할 때는 용어가 조금 달라진다.DagRun: instance of DAG that runs a certain execution time. 즉 특정 파라미터와 데이터를 받아서,..

우아콘 2023 - 대규모 트랜잭션을 처리하는 배민 주문시스템 규모에 따른 진화

https://youtu.be/704qQs6KoUk  강홍구: 푸드주문서버개발팀   배민 주문시스템 장바구니 / 주문하기 / 주문내역 쪽 BE 담당.일반적인 커머스와는 달리, 점심 / 저녁에 트래픽 폭증하는 구조. 가게, 메뉴, 주문, 결제, 배달 등 다양한 서비스의 결합으로 이루어져 있음.한쪽의 장애가 다른 쪽으로 전파되지 않는 '느슨한 결합'이 중요하다.일평균 300만건의 주문 + 수년간의 데이터 저장 / 관리.방대한 데이터 저장, 조회 성능 필요순간적으로 몰리는 대규모 트랜잭션의 안정적인 처리방법MSA와 '느슨한 결합' 구조를 위해 이벤트 기반 통신이벤트 유실 시 재소비 방법이벤트 흐름을 가시적으로 확인할 수 있는 방법성장하는 주문 시스템 2018년만 해도 일 100만 건이 안 됐음. 지금은 일 3..

KakaoTechMeet - 신뢰성 있는 kafka application을 만드는 3가지 방법

https://youtu.be/7_VdIFH6M6Q?si=elt0JfJEcTO9i3tj   Event Driven Architecture / Stream Data pipeline 이벤트 또는 메시지 기반 메시지 전달의 신뢰성 확보하기.Exactly Once: 이벤트 발행 / 처리를 1회만 수행.At least Once: 장애 데이터가 중복으로 적재 / 처리될 수 있음.At most Once: 장애 등으로 데이터가 유실될 수 있으나, 중복은 발생하지 않음. kafka 구조 간단 소개Producer: kafka 최소단위인 Record를 Broker로 전달데이터가 제대로 전달되었는지 ACK로 확인Consumer: broker에 저장된 Record를 가져감.데이터를 정상적으로 받았는지 Offset commit으..

KubeCon2024 - Key Takeaways from Scaling Adobe's CI/CD Solutions to Support 50K Argo Cd Apps

https://youtu.be/7yVXMCX62tY?si=N-AivSULV2dG6tjdAdobe 사내의 GitOps CI/CD 툴 이름이 Flex.Source인 Git에 저장된 정보를 Target인 여러 destination에 배포하기 위한 서비스.ArgoCD, Argo Workflows, Argo Events, Custom Components... 등 다양한 프로덕트가 통합되어 있음.Template 제공, Fully Customizable CI pipelineJust-in-Time Provisioning.Advanced Deployment Strategy (Argo Rollout같은 거)"Single pane of glass": 모든 프로젝트 정보를 볼 수 있는 service Management too..

KubeCon2022 - Multi Tenancy for Argo Workflows and Argo CD at Adobe

https://youtu.be/aTgINAFV3T8?si=CiQvPy7-HwsGOYPt   발표자: Srinivas Malladi. Adobe Internal Developer Platform 개발.  Internal Developer Platform (IDP) at Adobe Adobe는 크게 세 가지 Product Category가 있다. Document Cloud, Creative Cloud, Experience Cloud각 클라우드 서비스에서 필요한 애플리케이션은 different internal platform에서 Run / Deploy.공통으로 필요한 Core Mechanisms / infrastructure toolings을 제공하는 게 Internal Developer Platforms. ..

KubeCon2023 - Cross Cluster Execution of Argo Workflows

https://youtu.be/SPdxfr4SWO4?si=bO185_hiWBI5Ehjo     발표자: Shri Javadekar. OuterBounds에서 일하고 있음.metaflow라는 오픈소스 contributing하는 회사. 갑자기 metaflow 프로덕트 소개Data Science / Data intensive Application에서 필요한 data 전달compute workflows / data versioning 지원Python API 제공Netflix에서 출발한 오픈소스 Metaflow 예시: Python Class에 start, work, end 형태로 정의.build locally, run remotely.이걸 GPU 붙어 있는 K8s, 또는 특정 데이터에 access 권한이 있는 k..

KubeCon2024 - Comparing Argo Workflows and Airflow in a distributed environment

https://youtu.be/IirxP-a14HU?si=29vjK7bjE2_ZnSzO  ML 파이프라인 구축이 필요하거나Data, Batch Processing이 필요하거나Infrastructure Automation이 필요하거나Workflow Management tool은 있으나 K8s-native Soluction을 들어보고 싶거나 Workflows 작업을 DAG 형태로 정의할 수 있음. Graph의 node는 task (작업) 을 의미한다.k8s Native, container-based, yaml-basedPython SDK 제공Dynamic Workflows Argo cli 또는 web ui로 workflow 정의하고 실행할 수 있다.api client 또는 argo event로 trigger..

KubeCon2023 - Scaling Argo Events for Enterprise Scheduling: Case Study from intuit

https://youtu.be/ydpMkJMRuOU?si=NU37fI2NU4JQg-zE   작년 ArgoCon에서, Argo Event를 활용해서 Batch Processing with InterDependencies among different pipelines한 사례를 공유했음.특정 파이프라인 종료 이벤트 발생 -> 이벤트 받아서 downstream 파이프라인이 시작되는 형태.scale up to 10,000 pipelines로 scalability 확보했던 사례 소개.The Context EventBus와 통신하는 컴포넌트는 크게 두 가지EventSource (event bus로 이벤트 전달하는 Provider)EventSensor (event bus로부터 필요한 이벤트를 전달받는 Subscribe..

KubeCon2024 - Demystifying Argo Workflows: Architectural Deep Dive

Demystifying Argo Workflows: Architectural Deep Divehttps://youtu.be/FBRMURQYbgw?si=ThzZoEeIH2HCdVez    CRD, Workflow Controllers, Argo Server 등 Argo Workflows를 구성하는 컴포넌트들 소개 / 설명. Workflow: Defines a Set of Actions.Action을 Sequence / Parallel / Combinations of Both 등 다양한 형태로 실행할 수 있음.Workflow가 다른 Workflow를 실행한다거나, task 간 dependency가 걸려 있는 형태의 작업도 수행 가능.Argo는 DAG / Graph 형태로 실행.사용자는 argo Workflo..