Gyazo

Gyazo는 Cloudflare 부하 분산으로 스크린샷 공유 플랫폼에 대한 업로드를 최적화합니다.

Gyazo는 클라우드 기반 인프라를 활용하여 사용자들이 신속하게 스크린샷을 찍고 즉석에서 생성되는 링크를 통해 손쉽게 공유할 수 있도록 도움을 줍니다. 수백만 명의 유효 사용자를 가진 Gyazo는 세계에서 가장 크고 빠른 스크린샷 및 화면 GIF 생성 도구입니다.

Gyazo의 과제: 세계 규모의 사용자 기반을 대상으로 하는 업로드 최적화

처음에 Gyazo의 서버는 모두 미국에 있었고 Gyazo는 CDN(콘텐츠 전송 네트워크)으로 콘텐츠를 사용자에게 배포했습니다. Gyazo의 사용자는 대략적으로 유럽 45%, 아시아 15%, 미국 40%로 구성되어 있어 이 전략은 미국 사용자에게 효과적이었지만 미국 이외 사용자에게는 업로드 시간이 매우 길었습니다. Gyazo를 만든 Nota의 CEO Isshu Rakusai는 “CDN은 콘텐츠를 배포하는 데 뛰어나지만 업로드하는 데 좋지 않기 때문입니다. 예를 들어 오스트레일리아의 일부 사용자는 작은 스크린샷을 업로드하는 데 30초 이상이 걸렸습니다”라고 설명했습니다. 이렇게 업로드 시간이 오래 걸린 것은 예로 든 오스트레일리아 Gyazo 사용자가 남아시아를 통해 태평양을 건넌 후 미국 어딘가에 있는 서버로 라우트되고 반대로 갈 때도 다시 같은 경로를 통해 라우트됐기 때문입니다.

이 문제를 해결하기 위해 Gyazo는 세계 곳곳에 업로드 에지 서버로 구성된 자체 네트워크를 구축했지만 또 다른 문제가 이어졌습니다. 이 에지 서버들에 트래픽이 급증하는 일이 발생하면서 가장 사용자가 많을 때 성능이 저하되는 것이었습니다.

Gyazo의 솔루션: 글로벌 Load Balancing 및 페일오버

Gyazo는 Cloudflare의 부하 분산용 Early Access 프로그램을 알게 되고, 이것이 자신들의 독점 솔루션을 완벽하게 만드는 데 필요한 보완 기능을 제공할 수 있다고 생각했습니다. 현재 Cloudflare의 전역 부하 분산은 지능적으로 Gyazo 사용자의 트래픽을 가장 가깝고 정상적인 업로드 서버로 보내어 사용자에게 가장 빠른 업로드 속도를 제공하고 서버가 과부하를 받지 않게 하고 있습니다.

gyazo-graphic

더불어 부하 분산이 트래픽을 분산시키고 서버 상태를 유지함에 따라 Gyazo 사용자들은 처음에 경험했던 성능 저하를 느끼지 못하고 있습니다. 또한 서버가 다운되면 부하 분산의 failover 기능이 Gyazo 사용자를 신속히 재라우팅하므로 사용자는 전혀 장애를 알아차리지 못합니다. Rakusai는 “Failover도 매우 유용했습니다. 이전 DNS 공급자의 경우 신속한 조치로 DNS 기반 failover를 진행했지만 설정이 복잡하고 변경 사항을 완전히 배포하는 데 시간이 많이 걸렸습니다”라고 설명했습니다.

Gyazo
관련 사례 연구
주요 결과

전역 부하 분산으로 사용자가 경험하던 해외의 대기 시간이 개선됩니다.

서버에 장애가 발생해도 failover와 Healthchecks가 Gyazo 사용자에게 원활한 경험을 제공합니다.

Cloudflare로 자체 개발에 더욱 집중할 수 있습니다. 엔지니어링 자원의 절반을 네트워크 관리에 투입하는 경우도 있었습니다. 더불어 속도가 느려지면 마케팅과 고객 지원 부서 등 조직 내 모두가 상황을 알게 됐고, 결과적으로 업무가 느려졌습니다. 이제 모두가 사용자에 집중할 수 있습니다.

Isshu Rakusai
Gyazo를 만든 Nota Inc.의 최고 경영자