Naver에서는 DEVIEW라는 컨퍼런스 행사를 매년 진행한다고 한다. 코로나가 시들시들해져가고, 오랜만에 오프라인 컨퍼런스를 개최한다고 하는데, 한번도 이런 개발 컨퍼런스는 가본적이 없었고 마침 사내 동기들도 신청한다고 하길래 같이 한번 가보자! 하는 마음으로 신청하게 되었다. 그런데...치열한 접전(?) 끝에, 간신히 둘째 날에 참가신청에 성공하여 2월 28일에 컨퍼런스에 참여하게 되었다. 물론 동기 모두가 선착순 신청에 실패하여 혼자였다고 한다.....
9시부터 매 시간 45분 정도 세션이 준비되어 있었고, 어떤 세션을 볼지는 미리 스케줄에 담아놓았다.
점심은 제공되지 않아서 알아서 해결해야 했지만, 행사 당일 몇개의 세션에서 워크샵을 준비했고, 사전에 신청하여 추첨된 사람들을 워크샵에 참여할 수 있도록 기회를 마련해주셨다. 이것 또한 운이 좋았는지, 워크샵 참여 기회를 얻게 되어 부족한 실력이지만 꾸역꾸역.... 이해해보려고 했다... 모니터링 시스템을 만들어야하는 올해 목표가 있었기에 조금이라도 도움을 얻고자 관련 세션의 워크샵을 신청하였고, 약간은 도움이 된 듯 하다. 약간이라고 한다면.... 아마 내가 잘 모르는 내용이기에 그랬던 것 같다.
스케줄을 다시보니 그때 들었던 기억들이 조금씩 다시 떠오르는 것 같다.
[자바스크립트 화이트박스 암호와 크롬 라인 메신저의 보안 강화]
보통 보안은 소프트웨어 개발 주기 맨 끝에 있는데, 라인에서는 이것을 앞으로 당기려는 노력을 했다고 한다. 아무리 숙련된 엔지니어라도 복잡한 어플리케이션의 보안진단은 쉽지 않기 때문에, 서비스에 잠재거 리스크가 발생한다고 하였다. 그러나 보안을 앞으로 옮기면 일정 지연이 발생할 수도 있고, 기본적으로 주어진 가이드라인 만으로는 개발자가 보안적으로 처리하기 어려우며, 보안팀에서는 가이드라인 제공 뿐만 아니라 직접 개발을 수행하는 것이 더 효율적이라고 한다. 삐약삐약을 개발할 때, 막바지에 보안 심사 때문에 급하게 개발했던 게 생각이 나기도 했다. 보안에 관련된 내용이라 생소했는데, 어쨌든 비밀키의 내용은 Javascript 상에서 접근이 가능하고, 화이트박스 암호는 접근이 가능하더라도 내용을 알 수 없도록 하는 것이 목표라고 한다.
[웨일 브라우저 오픈소스 생존기]
Chromium 이라는걸 처음 들었다. Edge, Chrome, Opera 등등 거의 모든 웹 브라우저가 Chromium이라는 오픈소스를 활용해서 웹 브라우저를 만들었다고 한다. 다시 보니 각각 브라우저의 형태가 동일한 모습을 확인할 수 있었다. 브라우저 생태계는 변화가 빠르기 때문에 Chromium의 릴리즈에 민감할 수 밖에 없고, 최근에는 릴리즈 주기가 빨라지면서 웨일 측에서도 대응이 필요했다고 한다. 릴리즈된 Chromium을 항상 Rebase를 통해서 웨일 브라우저를 최신화 하는데, 그때마다 충돌나는 Conflict를 해결하는데 사람이 모두 작업했다고 한다. 이를 해결하기위해 Python 파이프라인을 통해 Rebase를 자동화하며, 자주 수행하도록하여 최소한의 Conflict로 시간을 줄였다고 한다. 멀티플랫폼에서 동작해야하는 브라우저의 특성상 빌드만 1시간 50분이 걸린다고 한다....
[Noir : 메일검색 서버를 반의 반으로 줄여준 신규 검색엔진 제작기]
네이버 메일은 하루에 수억건에 달하는 문서유입량을 가지고 있다고한다. 메일 검색 서비스를 사용자에게 제공하기 위해서 계정 단위로 인덱싱을 했다고 하는데, 이 방식도 결국 수백대 규모의 서버가 처리를 해야했고, 매달 n대의 서버를 추가적으로 증설한다고 한다. 또한 검색 서버 만큼 별더의 인덱싱 서버도 구축했어야 했다고 한다. 관리해야할 서버가 많아지다보니, 관리 운영 이슈가 다수 발생하고 어떤 상황에서는 항상 timeout이 발생하기도 한다고 했다. 그래서 Noir(느와르 라고 읽더라) 라는 Full Scan 방식의 솔루션을 만들었다고 하는데, 결과적으로 검색서버 약 100 대에서 30대까지 줄였다고 했고, 인덱싱 서버가 필요없기 때문에 기존에 150대 정도의 인덱싱 서버를 모두 없애는 결과르 가져왔다고 한다. 들으면서 머리로는 그렇구나 하는데 막상 다시 정리하려니 좀 힘든 것 같다...
[런타임 데드 코드 분석 도구 Scavenger - 당신의 코드는 생각보다 많이 죽어있다.]
해당 세션은 팀에서도 관심을 가지고 있던 세션이어서 주의 깊게 들었던 것 같다. 무엇 보다도 아래 사진의 문구들이 너무 와닿았다.
운영중인 서비스에서도 Intellij에 있는 정적 분석도구를 통해서 사용되지 않은 부분이니 지우라는 메시지를 보여주지만, 정작 잘 동작하는 서비스에 있는 코드를 지우기란 무서운 법이다. 하지만 Scavenger라는 것을 활용하면, 그런 부분 외에도 실제 서비스에서 호출되는 메서드인지를 계속해서 기록하기 때문에, 어느정도 시간이 흐르고 사용하지 않는 코드의 경우 지울 수 있도록 하는 환경을 제공한다고 한다. 발표 마지막에는 Scavenger라는 오픈소스를 지금 바로 공개한다고 말하며, Speaker 분이 직접 Repository를 Public 으로 열어주는 퍼포먼스도 되게 흥미로웠다. Scavenger는 적용하기 까다로워 보이지 않아서 샘플 프로젝트에 적용해볼 예정이다.
[싸늘하다, 메신저에 경보가 날아와 꽂힌다: 검색 SRE 시스템 개선기]
기존에 서비스 경보 알림을 해주는 시스템을 조금 더 신속하게 경보 알림을 해주기 위해서 여러가지 개선을 한 내용을 보여주는 세션이었다. 이렇게 개선된 시스템은 카타르 월드컵 시즌에 처음으로 적용했는데, 이 때 다들 혹시 모를 상황에 싸늘했다고 한다. 골을 넣었을 때, 본선에 진출했을 때 등등의 시간대에 트래픽이 몰리는 그래프를 보여준게 재밌었고, 신속한 경보 덕에 장애 지속시간을 줄일 수 있었다고 한다.
이렇게 5개의 세션을 들었고, 시간이 갈수록 지친 나머지 집중력도 흐트러지는 듯 했다. 한시간 정도는 부스를 돌면서 굿즈도 받고 다른 회사들도 돌아보았다. 굿즈 받으러 간 것 같은 느낌은 나만 들었을까 싶다....ㅎ
쏘카 부스에서는 50% 할인 쿠폰을 주면서, 설문? 같은거를 했는데 올해 여름에 사내에서만 하던 컨퍼런스를 외부에 오픈해서 한다고하니까, 그때 알림을 보내준다고 했다. 기회가 된다면 또 참여해보고 싶다.
'일상' 카테고리의 다른 글
이직을 곁들인 나의 2023년 (0) | 2023.12.25 |
---|