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

학습일지 194

우아콘 2024 - 배달의민족 API Gateway

https://youtu.be/Ci_DsTkzcRY?si=p0SWeCcZpYWeox9j   API Gateway란?  api 요청 받고, 필요한 정책 수행하고, 필요한 곳에 요청을 보낸 뒤 응답을 되돌려준다?생각보다 명확하게 정의된 게 없음.2013년 Netflix Zuul부터 2015년 AWS API Gateway, 2017년 Spring Cloud Gateway 등 프로덕트를 찾아봐도 정의가 명확한 건 없었음.오픈소스 프로젝트인 Kong의 경우, API Management라는 이름으로 시작되었다가 슬그머니 API Gateway라는 표현을 쓰기 시작.Cloud Native 이후 MSA까지 등장하면서 API Gateway는 꽤 보편화된 용어가 됨그래도 잘 모르겠어서 네 개 프로덕트 소개를 전부 찾아봤음...

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..

GopherCon 2023 - the Secret life of Goroutine

https://youtu.be/MYtUOOizITs?si=bUId7ieorNpUOvJD Jesús Espino: mattermost (slack의 오픈소스 버전) 소속 Software Engineer goroutine을 설명하려면, go의 scheduler 이해가 필요하다.go scheduler를 구성하는 컴포넌트부터 간단히 소개하자면 Processor (alias P): Representation of Virtual CPUgoMaxProcs: number of Ps that scheduler have.Status 정보 가지고 있음 - Idle, Running, Syscall, gcStopAssociated the Current 'M'개별 P는 본인이 실행할 GoRoutine정보를 관리할 Queue가 있..

2024 당근테크 - 네트워크 통신 불가를 해결하기 위한 여정 (feat. istio)

https://youtu.be/Hh9zcth4UcI?si=vCq-pKTm6xxopnDP 당근페이에서 발생했던 여러 문제들을 어떻게 해결했는지. 당근서비스와 함께 잘 성장하던 당근페이. Redis에서 timeout 에러 발생 - redis 명령어 실행에 1500ms 이상 걸림. Redis Java client인 Lettuce에서 확인해보니, 에러 발생 시점에 command명령어 지연이 발생함. 근데 Redis 서버에는 문제가 없음 JDBC에서 DB Connection 맺을 때도 timeout 발생. (8초 정도 걸림) Deep Dive 마이페이지 상단에 '당근페이' 영역이 있다.당근페이는 가입하지 않은 사용자에게도 송금이 가능함.송금을 받았다면, '받지 않은 금액이 있다'는 정보를 표..

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 - Scaling New Heights with KEDA: Performance, Extensions, and Beyond

https://youtu.be/_5_njiPr5vg?si=W0MJDjYMbLMRYPU5 발표자Jorge Turrado: SCRM에서 SRE 담당. KEDA maintainerZbynek Roubalik: Kedify CTO, Knative TOC, KEDA maintainerEnterprise Autoscaling platform for our customers. Data Processing 관점에서, 한번에 데이터 처리가 많이 필요한 경우 / 그렇지 않은 경우가 있다. 리소스 효율화를 위해서라도, 필요한 순간에만 애플리케이션이 실행되면 좋을 것 같다.HPA: target workload의 CPU / Memory 확인해서 autoscale. 단, 리소스 사용량과 Actual Need이 다른 경우 사용하기..

[AIFactory 세미나] FineTune or Not FineTune

https://www.youtube.com/live/Zpevs-4hj68?si=asOQuIEyWD3JE-4e    LLM앞으로는 오픈 모델을 좋건싫건 하나씩은 가지고 있지 않을까. fine tuning한 것들.킬러 앱이 나온 건 없지만, 도구로서는 훌륭한 사례들이 나오고 있음.학습된 데이터에 민감. 각각의 데이터별로 특성이 다르다.pretrained datasetsupervised Fine-Tuning datasetpreference alignment dataset그렇다보니'어떤 데이터로 학습했느냐'라는 정보가 LLM에서 원하는 결과를 얻기 위한 중요 방법인데공개된 LLM 모델은 일반 사용자가 이걸 알 방법이 없으니 Prompt Engineering이라는 이름으로 사례들이 공유됨다만, 모델마다 Overf..

학습일지/AI 2024.09.10

DevOpsDay 2018 - Implementing SRE practices: SLI/SLO deep dive

https://youtu.be/dplGoewF4DA?si=C8n-a4KMDFDa8QVh 발표자David Blank Edelman: Microsoft CloudOps Advocate - SRESite Reliability Engineering Site Reliability Engineering조직에서 운영하는 프로덕트, 비즈니스, 시스템이적절한 수준의 안정성을지속적으로 유지할 수 있도록 하는 Engineering Discipline.SRE라는 정의에서 필요한 핵심 키워드reliability: 암만 열심히 앱 만들어도, 앱이 떠 있지 않으면 쓸모가 없다. 안정적으로 앱이 떠서 서비스 유지될 수 있도록 하는 것.Appropriate: goal로 100% 설정하는 건 불가능하다. '적절한 수준'Sustainab..