Forking Chrome to turn HTML into SVG : Chromium을 포크해서 HTML 페이지를 SVG로 변환하는 프로젝트인 html2svg를 만드는 과정을 설명한 글이다. Blink와 Skia 코드를 수정해서 페이지를 SVG로 변환하는 함수를 만들고 폰트나 그림자 등의 문제를 해결하는 과정이 나와 있다.(영어)
그 밖의 개발 관련
Seeing through hardware counters: a journey to threefold performance increase : Netflix에서 Java 서비스 중 하나인 GS2를 m5.4xl(vCPU 16개)에서 m5.12xl(vCPU 48개)로 올려서 성능이 3배 증가할 것으로 기대했지만 처리량은 25%만 증가했고 지연시간을 오히려 증가하는 문제를 발견했다. 매트릭을 살펴보다가 CPU와 대기시간이 낮은 노드가 있다는 것을 발견했다. 더 낮은 수준을 보기 위해 PMC를 살펴보다가 2개의 코어가 동일한 L1 캐시 라인을 공유하면서 관련 없는 변수에서 읽고 쓸 때 발생하는 False Sharing의 일반적인 패턴을 볼 수 있었고 JDK의 동작을 수정하진 않고 데이터 레이아웃에서 _secondary_super_cache, _secondary_supers에 패딩을 추가해서 느린 노드가 사라지게 되었다. 하지만 여전히 목표인 250 RPS에 못 미치는 150 RPS만 처리할 수 있었고 이 문제는 동일한 변수를 여러 스레드/코어에서 읽고 쓰는 True Sharing임을 깨닫고 공유 변수에 모두 쓰지 않고 JVM의 보조 슈퍼클래스 캐시를 효과적으로 우회하도록 수정하고 3.5배의 성능 향상을 이루었다고 한다.(영어)
Werner Vogels – Amazon 분산 컴퓨팅 선언문 (1998) : Amazon의 CTO의 Werner Vogels가 1998년 아마존에서 작성되었던 분산 컴퓨팅 선언문을 공개했다. 25년이 지난 지금 놀라운 얘기는 아니지만, 당시에 저렇게 생각했다는 게 놀랍기도 하고 Amazon의 주문량을 10배 지원하려면 어떻게 해야 하는지로 시작하는 게 귀엽기도 하다.(지금은 10배 수준이 아닐 테니..) 이를 위해 서비스 기반 아키텍처(SOA)로 바꾸고 아마존은 메시지 기반 워크플로 모델이 적합하며 이 워크플로 진행 중 상태 변경을 위해 Pub/Sub 모델을 사용해야 한다고 하고 있다.(한국어)
AWS re:Invent 2022 : 11월 28일부터 12월 2일까지 미국 라스베가스에서 AWS의 re:invent가 열리고 있다. 아직 re:Invent가 진행 중이라 계속 새로운 제품과 기능이 발표되고 있다. 하위 목록은 그중 흥미로운 것들만 모을 생각이었지만 아직 글을 못 찾은 내용도 있다.(한국어)
NRISE를 지탱하는 기술 — 인프라 : 위피와 콰트를 운영하는 엔라이즈에서 지난 1년간 인프라를 개선 시킨 과정과 도입한 도구를 정리한 글이다. 기존 인프라를 EKS와 풀 매니지드 서비스로 전환하는 것을 목표로 하고 Terraform, Helm, Helmfile을 도입하고 Kubernetes는 Karpenter와 KEDA로 스케일링하고 있으며 Argo CD와 GitHub Actions 등을 쓰고 있다고 한다.(한국어)
1Password embraces a passwordless future : 패스워드 없이 폰 등으로 인증하는 FIDO의 passkey를 빅테크 기업들이 준비하고 있다는 소식이 종종 들리는데 비밀번호 관리 서비스인 1Password도 내년에 passkey를 지원할 거라고 발표했다.(영어)
Comments