공백에 대해
마지막 글이 4월 17일이니, 어느새 넉 달이 지났습니다. 블로그를 시작한 이후로 이렇게 오래 글을 쓰지 않은 적은 없었던 것 같아 스스로도 조금 민망합니다. 다만 그 시간 동안 완전히 손을 놓고 있었던 건 아니고, 글 대신 블로그 자체를 손보는 데 시간을 썼습니다. 2월에 「블로그 서버 장애 회고」를 쓰면서 단일 장애점(SPOF)을 스스로 지적해 놓고도 정작 앱 서버는 그대로 두었는데, 결국 같은 문제로 한 번 더 사이트가 죽고 나서야 이번에는 실제로 옮겼습니다.
그동안 있었던 일
넉 달을 한 줄로 요약하면, 일본 취업 준비로 여유가 없었던 시기와 블로그를 고치는 데 몰두했던 시기가 겹쳐 있었습니다. 가장 큰 이유는 일본 취업 준비였습니다. 상반기 내내 여기에 매달리다 보니 블로그는커녕 다른 개인적인 일들도 제대로 챙기지 못하는 날들이 이어졌고, 노트북을 켜도 글 쓸 생각이 잘 나지 않았습니다. 다행히 아직 취업을 포기한 건 아니지만, 최근 들어서는 예전만큼 정신없지는 않아서 조금씩 숨 돌릴 틈이 생겼습니다. 그 덕분에 다시 글을 쓸 여유도 생겼고, 미뤄뒀던 PAST 시리즈를 비롯해 앞으로도 계속 글을 이어갈 생각입니다.
숨 돌릴 틈이 생긴 나머지 시간은 블로그를 고치는 데 썼습니다. 홈서버와 Cloudflare Tunnel로 운영하던 구성을 걷어내고 Fly.io로 옮겼고, 데이터베이스도 Supabase로 정리했습니다. 2월 회고에서 지적만 해두고 미뤄뒀던 단일 장애점 제거를 이번에 드디어 마무리한 셈이라, 나름 후련한 기분도 들고 이제는 앱 서버 하나 때문에 마음 졸일 일도 없어졌습니다. 다만 이 글에서는 인프라 이야기를 자세히 풀지는 않으려 하고, 궁금하신 분들은 Github 저장소에 정리해 둔 내용을 참고해 주시면 될 것 같습니다.
그 와중에 소소한 사고도 하나 있었습니다. 표지 이미지를 바꾸는 간단한 작업이라고 생각하고 손댔다가, 실수로 사이트를 통째로 503으로 내려버린 겁니다. 서비스에 큰 지장을 준 장애는 아니었지만, 서버를 옮긴 지 얼마 되지도 않아 바로 문제가 터지니 마음이 편하지는 않았습니다. 다행히 원인은 금방 찾아 복구했고, 덕분에 새로운 환경에서 문제가 생겼을 때 어떻게 대응해야 할지 한 번 더 점검해 볼 수 있었던 계기가 되기도 했습니다.
앞으로
다음 글은 PAST 알고리즘 시리즈 Part 2입니다. 다만 이번에는 언제까지 쓰겠다는 약속은 따로 하지 않으려 합니다. 지난번에 정해둔 약속을 지키지 못했던 경험이, 돌이켜보면 오히려 글을 쓰는 데 별 도움이 되지 않았기 때문입니다. 대신 부담 갖지 않고 꾸준히, 쓸 수 있을 때마다 이어서 써보려고 합니다.
이번 넉 달을 지나면서 느낀 게 있다면, 무리해서 정해둔 일정보다는 실제로 지킬 수 있는 리듬이 더 중요하다는 것이었습니다. 그러니 다음 글이 조금 늦어지더라도 너무 걱정하지 않으셨으면 합니다. 곧 PAST Part 2로 다시 찾아뵙겠습니다.