스타트업 적응기 #9 – 호모 파베르 (1)

kth에서 Confluence를 처음 접한 후에 회사 입사 후 처음 하는 일이 Confluence도입이 되었습니다. 이전 직장인 인포뱅크에서도 그랬고 지금 회사에서도 마찬가지 였습니다. kth에서 전사 조직이 Confluence를 이용해서 정보를 공유할 때 어떤 느낌인지 너무 강렬하게 느꼈기 때문에 그 느낌을 전파하고 싶었습니다. Confluence 없이 일을 하려고 하면 구석기시대로 돌아가서 일하는 느낌이라 답답해서 도저히 참을 수가 없을 정도입니다.

Confluence 도입 후에는 한동안 특별한 활동 없이 조직을 관찰하고 구성원들이 어떻게 일하는지 지켜봤습니다. 혹시나 경영진이 돈들여서 도입을 했으니 Confluence 사용을 강요하고 압박하거나 감시의 도구로 사용할까봐 각별히 주의를 기울였는데 다행히도 합리적인 분들이라 그런 일은 발생하지 않았고 한참을 저 혼자서 열심히 사용했습니다.

지금부터는 약간 소름돋는 경험을 몇가지 하게 됩니다. ‘절대로’ 꾸미거나 과장한 것은 아니니 혹시라도 오해가 없으셨으면 좋겠습니다.

Confluence 도입 후 빈둥 대다가 심심해서 서버에 모니터링 도구인 Whatap을 설치합니다. 24시간 동안의 서버 모니터링 데이터 저장은 무료이고 Database는 유료인데 대당 5만원이라 비싸서 그냥 EC2 서버에만 설치를 했습니다. AWS 모니터링 도구가 좋기는 하지만 Memory 사용량이나 Disk 사용량에 대한 모니터링 지표가 없어서 불편한데 Whatap은 간단하지만 딱 필요한 모니터링만 해주니 쓸만한 것 같습니다.

Whatap 설치 후 얼마 있다가 Disk 사용량 경고 이메일을 받았는데, 외주 개발사에서 서비스 로그를 Debug mode로 설정하다보니 별로 하는 일 없이 Disk에 로그가 하루치만 저장하는데도 90%를 넘게 사용하는 문제를 찾을 수 있었습니다. 만약 Whatap을 설치 하지 않았다면 제가 만나는 첫 장애가 Disk full로 인해서 발생한 것이 었을 겁니다.

그 뒤에는 제가 페북에 따로 글을 올렸던 것처럼 회의실에서 놀고 있는 64bit OS도 구동이 안되는 저사양 PC와 14인치 모니터 2대로 나름 상황실 분위기를 만들었던 것이고, 설치 후 불과 몇십분 지나지 않아서 첫 장애를 맞이 했었습니다. 장애 상황에서 모니터링 PC로 인해서 어떤 문제로 인해서 장애가 발생했는지를 바로 눈으로 확인할 수 있었습니다.

이런 일련의 상황이 이어지니 사장님이 ‘너 뭔가 알고 있었지!’라는 말을 농담반 진담반으로 여러번 하시는데 저도 약간 당황스러웠었습니다.

업무 시간이나 사무실에서 누군가 모니터를 지켜보는 상황이 아닌 주말이나 야간의 경우에는 장애가 발생하고 매장으로부터 전화가 폭주해야 장애 대처가 가능했고 그나마도 사후 대응이고 즉각적인 대처가 어려운 점이 있어서 뭔가 대책이 필요했었습니다.

처음에는 AWS 알림 메일과 IFTTT를 연결해서 slack으로 연동을 했는데, 메일 도착이 지연되거나 메일이 도착해도 Polling하는 시간이 있어서 최소 5분, 최대 수십분 정도 알림이 지연되는 현상이 발생해서 사실상 쓸모가 없었습니다.

AWS와 Slack을 연결하는 방법을 찾다보니 AWS의 lamda function을 이용한 방법이 많이 나오는데 설정이 쉽지 않아서 다른 방법을 찾다가 Heroku를 사용해서 쉽게 설정이 가능한 amazon-cloudwatch-to-slack을 발견했습니다. 소스 clone 받아서 heroku에 올린 후에 처음 셋업 과정은 조금 헤멨는데 상상했던 것보다 복잡하거나 어렵지 않았고 Webhook을 사용하기 때문에 반응성 또한 좋았습니다.

요즘은 카페에 가거나 식당에 가서 AWS 알림이 Slack으로 뜨면 약속이나 한 듯이 모두 폰을 꺼내서 알림 내용을 보고 이야기 하거나 누군가가 주변으로 전파해서 신속하게 장애에 대응을 하고 있습니다. 어제도 새벽 2시에 서버가 미친듯이 장애 알람을 보내는 바람에 뜬눈으로 밤을 지새기는 했지만 오전에 매장 영업 전까지 대응이 가능해서 무난한 하루를 보낼 수 있었습니다. 만약 알림이 없었다면 매장 영업 시간이 아니기 때문에 아무도 몰랐을 것이고, 아침부터 장애 대응에 힘든 하루를 보내고 장애를 해결하고 나면 여기저기 불려다니면서 사과하고 변명하는데 한참을 보내야 했었을 겁니다.

회사에서 사용하는 도구와 도입하는 과정을 간단히 쓰려고 했는데, 말이 너무 길어져서 JIRA 도입과정이나 github/bitbucket/redmine/LDAP/jenkins 등의 도구에 대해서는 다음번에 추가로 쓰도록 하겠습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.