10명에서 1000명으로 : WhatsApp 의 Erlang 경험
(codesync.global)왓츠앱은 Erlang을 11년째 성공적으로 사용중 : "우리가 했던 기술 결정중 최고"
Erlang의 강점
- 효율적인 아키텍처, 안정적
- 코어디자인 변경이 없음(8년간) : BEAM(가상머신) 기반 가벼운 프로세스, 메시지 전달, 분산, 아무것도 공유하지 않는 메모리 모델
- 뛰어난 스케일링 : 20억명의 사용자 대상, 여러 데이터 센터, 다양한 기능들을 추가해 왔음
- 작은 팀에 최적 : 50명의 엔지니어로 9억명 사용자 대응(2015년)
- 엄청 빠른 개발 사이클 : 고수준 선언형 언어, 빠른 컴파일, 빠른 배포(핫로드)
왓츠앱팀이 페이스북에서 배운 것
- 개발자 생산성 향상을 위한 방법
ㅤ→ 예) Hack 이 IDE에서 Typechecker Error를 보여주는 방식
Erlang의 한계
- 정적 타입 없음
ㅤ→ 내부에서 프로토타입 개발중, 오픈소스 할 예정
- Flat한 네임스페이스
- 좋은 개발도구의 부재 : IDE 연동, 포매터, 빌드 시스템등
ㅤ→ Erlang_LS(Language Server) 등장으로 어느정도 개선