Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #207 : 22-10-01

웹개발 관련

  • Announcing Turnstile, a user-friendly, privacy-preserving alternative to CAPTCHA : 로그인 등에서 시각적 퍼즐로 봇을 걸러내기 위해 사용하는 CAPTCHA의 대안으로 Cloudflare에서 Turnstile을 오픈 베타로 공개했다. Turnstile는 Managed Challenge 시스템으로 사용자의 정보를 기반으로 과제를 수행하여 CAPTCHA 없이도 사람을 구분할 수 있게 한다. Cloudflare에서 키를 받아서 무료로 사용할 수 있고 프라이버시 측면에서도 훨씬 안전하다고 한다.(영어)
  • 웹 개발자라면 알고 있어야 할 HTTP의 진화 과정 : HTTP 표준이 달라진 과정을 정리한 글이다. 처음에는 아주 간단한 HTTP/0.9 명세가 있었지만, 요구사항이 늘어나면서 HTTP 워킹그룹이 생겨서 1996년 HTTP/1.0을 만들고 연결 재사용, 파이프라이닝, 청크 전송, 캐시 제어 등을 추가해서 1997년에 HTTP/1.1을 발표하게 된다. HTTP/1.1의 헤더 중복 문제와 HOLB(Head-of-Line Blocking) 문제 등을 해결하기 위해 2015년 SPDY 기반으로 HTTP/2가 만들어진다. 기존의 HTTP는 모두 TCP 기반이라 TCP의 문제는 해결하기 위해 UDP 기반의 QUIC 프로토콜에서 동작하는 HTTP/3가 등장하게 된다.(한국어)

그 밖의 개발 관련

  • Introducing LiteFS : fly.io에서 Litestream의 아이디어를 확장한 LiteFS를 공개했다. Litestream이 SQLite WAL 파일을 복사한다면 LiteFS는 각 트랜잭션을 검사하고 전달하는 역할을 한다. 이를 위해서 FUSE를 선택해서 앱과 데이터베이스 파일 사이에 파일 시스템 프락시 같은 걸 넣어서 트랜잭션을 리플리카에 복사할 수 있게 된다.(영어)
  • How we built Pingora, the proxy that connects Cloudflare to the Internet : Cloudflare에서 Nginx를 수년 동안 잘 사용했지만 Cloudflare가 커짐에 따라 한계를 느껴 Rust로 만든 HTTP 프락시 Pingora를 만들어서 하루에 1조 요청을 처리하게 되었고 Nginx 때보다 CPU와 메모리는 이전보다 1/3로 줄었다고 한다. Nginx의 워커 구조에서 각 요청은 하나의 워커로만 처리되므로 CPU 불균형이 발생했고 커넥션 풀이 작업자마다 할당되므로 연결 재사용이 좋지 않았다. 이를 해결하기 위해 Nginx를 포크할지, 다른 프락시로 바꿀지, 프락시를 새로 만들지를 고민하다가 새로 만들기를 결정했다. Rust를 선택하고 HTTP 라이브러리는 직접 구축하기로 하고 커넥션 풀을 공유하기 위해 멀티 스레딩을 선택했다. Pingora는 TTFB(time-to-first-byte)가 중윗값에서 5ms 줄었고 95 퍼센타일에서 80ms 감소시켰고 새로운 연결도 1/3로 줄었다.(영어)
  • Introducing workerd: the Open Source Workers runtime :
    Cloudflare에서 JavaScript/Wasm 런타임인 workerd의 첫 베타를 오픈소스로 공개했다. workerd는 Cloudflare Workers와 대부분의 코드를 같이 사용하지만 다른 환경에서도 동작할 수 있도록 설계되었다. workerd는 셀프 호스트 애플리케이션에 사용될 것이고 주로 웹서버가 될 것이며 워커의 로컬 테스트에도 사용할 수 있다.(영어)
  • R2 is now Generally Available : CloudFlare이 지난 5월 오픈 배타로 공개했던 오브젝트 스토리지 R2가 공식으로 공개되었다.(영어)

인프라 관련

  • Announcing the 2022 Accelerate State of DevOps Report: A deep dive into security :
    DORA(DevOps Research and Assessment)에서 지난 8년간 설문을 진행해 온 Accelerate State of DevOps의 2022년 보고서가 공개되었다. 작년 보안 사고가 잦아서 올해 보고서는 보안에 집중하기로 했고 새로운 보안 관행이 대부분 조직에서 부분적으로 채택되고 있었고 CI/CD에서 보안 수준을 검토하는 것이 가장 일반적으로 밝혀졌다. 배포 빈도, 변경 리드 타임, 평균 복구 시간, 실패율, 안정성으로 5가지 메트릭으로 응답자를 나누었을 때 중간 그룹이 69%로 많이 늘어났고 낮은 그룹도 7%에서 19%로 늘어났다. 보고서 전체는 2022 Accelerate State of DevOps Report에서 다운받을 수 있고 77페이지의 PDF 문서다.(영어)
  • How Is Platform Engineering Different from DevOps and SRE? : Platform Engineering이 DevOps와 SRE의 다음 단계라고 설명하는 글이다. DevOps가 주목받고 많은 성공 사례가 있었지만 잘못된 도입으로 개발자에게 과한 책임을 요구하면서 인지 부하를 높이게 되었고 구글이 만든 SRE도 이론상은 괜찮지만, 인력이 부족해서 가짜 SRE가 생기게 되었다고 한다. 플랫폼 엔지니어링은 셀프서비스를 가능하게 하는 도구와 워크플로를 만드는 분야라고 하면서 이 플랫폼이 DevOps와 SRE의 문제를 완화할 수 있다고 합니다. 약간 홍보 글 같은 느낌이 있기도 하지만 셀프서비스를 할 수 있는 플랫폼을 만드는 가치에 대해서는 동의한다.(영어)
  • AWS vs GCP reliability is wildly different : AWS와 GCP에서 3,000 T4 GPU를 2주간 띄워 보면서 비교해 보았다. AWS는 일관적으로 15초 이내에(평균 11.4초) 실행되었지만, GCP는 45초 가까이(평균 42.6초) 걸렸고 AWS는 1번의 실패가 있었지만, GCP는 84번의 실패가 있었다. 둘의 준비 상태가 다른가 의심해 봤지만, SSH 접속이 되는 걸 봤을 때 그런지는 않아보인다고 한다.(영어)
  • How DoorDash Ensures Velocity and Reliability through Policy Automation : DoorDash가 OPA(Open Policy Agent)를 도입하는 과정이다. Terraform과 Atlantis를 이용해서 인프라스트럭처 프로비저닝에 GitOps 워크플로를 사용하고 있었는데 조직과 인프라가 커지면서 인프라팀 엔지니어는 온종일 인프라 변경에 대한 PR을 리뷰하는데 보내게 되었고 문제가 생겼을 때 인프라의 영향도 너무 커졌다고 한다. 인프라 자동화로 신뢰성과 가속도를 높이기 위해 OPA(Open Policy Agent)를 사용하기로 결정하고 Atlantis에 Conftest를 사용해서 PR 리뷰 과정 중에 자동으로 OPA 규칙을 검사하도록 했다.(영어)
  • Introducing programmable pipelines with Grafana Agent Flow : Grafana Agent는 Grafana 스택에 최적화되어 매트릭, 로그 등을 수집해서 보내주는 에이전트다. 이 에이전트에 프로그래밍할 수 있는 Flow가 실험적으로 추가되어 쉽게 설정해서 사용해 볼 수 있고 복잡한 워크플로를 정의해서 사용할 수 있다.(영어)
  • Istio sails into the Cloud Native Computing Foundation : Istio가 CNCF 인큐베이팅 프로젝트로 승인되었다. Istio는 Google과 IBM이 2016년 처음 개발했고 Lyft에서 만든 Envoy proxy위에 동작하는 서비스 메쉬이다.(영어)

볼만한 링크

  • 거꾸로 입력하는 가입 화면, 처음에 어떻게 떠올렸을까? : Toss에서 입력 필드가 많은 본인 인증 화면을 설계하는 과정이다. 본인 인증은 입력 필드가 많아서 스크롤 아래 가려진 필드와 액션을 알기가 어려워서 반대로 한 필드씩 입력하면 위에 새로운 필드가 나오게 구현했는데 사용성 테스트에서는 심지어 역순으로 쌓이고 있다는 것을 사용자들이 눈치채지도 못했다고 한다.(한국어)
  • Introducing Whisper : OpenAI에서 음성인식 데이터를 680,000 시간 학습시킨 음성 인식 모델을 오픈소스로 공개했다.(영어)
  • Make-A-Video : Meta에서 영어로 문장을 입력하면 비디오로 만들어주는 논문을 발표했다.(영어)

IT 업계 뉴스

  • GitHub for Startups : GitHub이 스타트업 지원 프로그램을 발표했다. 펀딩을 받은(최대 시리즈 A까지) 초기 스타트업이고 GitHub Enterprise를 사용하지 않은 회사여야 한다. 신청 후 선정되면 1년간 GitHub Enterprise 20시트를 지원받는다.(영어)
  • Google is shutting down Stadia : Google의 클라우드 게이밍 서비스인 Stadia를 2023년 1월 18일에 종료한다고 발표했다.(영어)
  • DALL·E Now Available Without Waitlist : OpenAI의 이미지 생성 AI인 DALL·E를 이제 대기리스트 없이 가입하면 바로 사용할 수 있게 되었다.(영어)

프로젝트

  • **용량을 줄인 NotoSans 및 NotoSerif 가변 폰트*** : 많이 쓰이는 한글 자모 조합으로 만든 NotoSans, NotoSerif, Pretendard, Hahmlet 가변 폰트를 모아놓은 페이지.
  • qwik : 즉각적으로 웹 애플리케이션을 제공할 수 있도록 지원하는 웹 프레임워크
  • Dub : Vercel Edge Functions와 Upstash Redis로 만들어진 오픈소스 URL 단축 서비스.
  • Numaflow : Intuit에서 오픈소스로 공개한 병렬 스트림 처리를 위한 Kubernetes 도구.
  • CHARL-E : Stable Diffusion을 Apple Silicon에서 실행하게 해주는 앱.

버전 업데이트

2022/10/01 21:25 2022/10/01 21:25