2023 WONIZZ.LOG

안녕하세요? 정리하는 개발자 워니즈입니다. 매년 마지막날은 한 해를 돌아보는 회고 포스팅을 작성하는데요. 올해도 어떤 일들을 이루었고, 또 내년에는 어떠한 목표를 가져갈지 개인회고를 하려고합니다.

지난 1년을 봤을 때 저에게는 1년이라는 시간이 단 몇일만에 후다닥 지나간거 같은 느낌이 들 정도로 바쁘고 힘들고, 때로는 그로부터 성취감도 얻기도 하는 한 해 였던 것 같습니다.

가장 기억에 남는 일들을 꼽자면, hubot 도입 및 기능 추가, nginx 통합 및 멀티사이트 운영, kubernetes upgrade등이 있습니다. DevOps 엔지니어로서 적은 인력으로 인프라의 작업의 안정성에 기여하기 위해서는 자동화 및 프로세스 정립이 가장 큰 KPI라고 생각이 들었습니다. 그런면에서 올해 했던 업무들이 인프라를 운영하는데 정말 많은 도움이 되었고, 특히나 nginx 통합으로 최 앞단의 들어오는 접근 로그라던지, geo module 추가등으로 시스템에 어떤 접근들이 발생하는지도 면밀히 확인할 수 있는 계기가 되었습니다.

그러면 어떤 업무들이 있었는지 상세히 기록해보겠습니다.

1. 2022년에 목표 한 것은 다 이루었나요?

작년을 생각했을 떄 과연 올해는 얼마만큼 이뤘을까라는 생각을 서두에 하게 되는데요. 올해의 목표는 80%정도의 성취로 이야기를 할 수 있을 것 같습니다. 먼저 새로합류하신 분에게 DevOps에 대한 업무 가이드를 해주는 동시에 역량을 많이 끌어올리는데 도움이 되고자 노력을 했던것 같습니다. 현재는 많은 도움을 주고 계시고 특히나 서로의 신뢰감이 많이 두터워져있기에 업무의 시너지가 많이 난다고 생각하고 있습니다.

두번쨰로는 SRE 업무 영역의 확장인데, 사실 SRE라는 업무 영역의 범위 자체가 굉장히 넓다보니 모니터링을 통한 서비스 안정화부분으로 생각을 하게 됐습니다.
여러가지 모니터링 지표들에 대한 정의와 Alert 설정을 통해서 현재는 DevOps에서 많은 알람들을 수신하고 있고 적재 적소에 시스템의 이상이 되기전에 탐지한 사례도 많은 부분 족적을 남기게 됐다고 생각하게 됐습니다.
이러한 부분들이 아직은 제대로된 프로세스로 잡혀있지는 않지만 앞으로는 개발팀과 협력해서 지표들을 산정하고 적절한 알람 체계들을 함께 공유해서 좀더 서비스가 특히 인프라 레벨에서 안정성에 기여할 수 있는 부분들을 고민해야겠다는 생각을 하게 됐습니다.

세번째로는 연간 세미나 최소 4회 참석인데요. 올해는 AWS Summit, Google Cloud Summit, Redhat Summit, Nginx Unit 행사 참여등 여러가지 오프라인 행사들을 참여했습니다. 온라인 행사로도 여러가지 참여하면서 시야를 넓힐 수 있는 계기가 된것 같아 좋았습니다.

네번째로는 Blog 포스팅인데요. 올해는 총 15편의 글을 기재하였고, 월 1회, 연간 12회로 생각했을 때는 달성한것으로 확인을 했습니다.

끝으로, 건강 챙기기(감량 10kg) 인데요. 이부분은 제일 중요하면서도 소홀해지는 부분이라고 생각이 듭니다. 하지만 금년도 건강검진에서 작년보다 -5kg 감량이 있었고 의외로(?) 감량을 조금이라도 할 수 있는 계기가 됐었는데, 생각을 해보면 골프라는 취미 생활을 꾸준히 해서 그런것이 아닐까 하는 생각이 들었습니다.

  • DevOps 조직 성장 ( 개인적으로는 신입분의 성장 )
  • SRE 업무 영역 확장 – 서비스 안정화에는 기여 했다고 생각중..
  • 연간 세미나 최소 4회 참석 및 포스팅
  • Blog 포스팅 최소 월간 1회 포스팅 👨‍💻
  • 건강 챙기기, 최소 10kg 감량 🏋

1-1. Blog 운영 결산 ✍

Blog는 개인적인 취미기도 하지만, 개인의 노트처럼 기록을 위해서 운영하고 있습니다. 때로는 단순 지식에 대해서 기록하는 일부터 업무간에 경험했던 기술 노하우들에 대해서 기록하고 있습니다.

Blog와 관련된 내용은 아래에서 참고하실 수 있습니다. 지금까지 5년 여 정도 운영하고있는데 0원으로 워드프레스 운영하기를 통해서 소소하게 광고비용도 받고 있으면서 개인적인 기록 저장공간으로 활발하게 사용하고 있습니다.

2023년 총 사용자는 17577명 으로 2022년이 21751명 인것을 대비해봤을 때 오히려 줄어드는 상황이 발생했습니다. ( 위의 캡쳐 그림은 GA4로 변경되면서 상반기 데이터 + 하반기 데이터를 보여주고 있습니다. 둘의 합산 데이터가 2023년 사용자수입니다. )

올해 생각해 봤을 때, 인기가 될 만한 글을 기재하지 못했고 특히나 hubot관련된 자동화 글은 사내 테크블로그에 기재하면서 나의 블로그에는 작성하지 못했습니다. 내년에는 블로그를 좀더 활성화 하는데도 노력을 많이 해야겠다는 생각을 해봤고 블로그의 디자인과 컨텐츠의 카테고리도 새로이 정비하는 목표를 가져보기로 했습니다.

1-2. 개인적인 취미 갖기 🏌

개인적으로 취미 생활은 잘 유지되고 있다고 생각합니다. 다행히도 팀 리드님께서 취미를 인도해주셨고 같은 취미 생활로 간간히 만나서 함께 하고 있습니다. 취미는 골프인데요. 이 운동의 매력은 아주 조그마한 움직임에 그 임팩트 방향등이 영향을 받는 다는 점입니다. 그래서 정말 하나의 동작을 같은 형태로 유지할 수 있는게 중요한데요. ( 사실 정말 어렵습니다.)

23년 동안 말그대로 폭풍 성장을 하게 됐던 것 같습니다. 물론 잘한다기보다는 초보 딱지는 뗀 느낌입니다. 개인적으론느 독학을 통해서 이뤘다는 부분이 성취감이 있는데요. 하지만 누군가가 독학으로 골프를 배운다면 꼭 레슨을 받으라고 이야기 해주고 싶습니다. ( 독학으로 골프기란 정말 힘들 거든요.. )

스크린은 꾸준히 방문을 해서 이제는 80언더로 점수가 내려오기도 했습니다. 위에는 최근 5경기의 기록입니다.
그리고 올해는 필드(해솔리아 CC)도 갔었고, 내년에는 필드도 좀더 자주 가서 취미생활도 본격적으로 실천해 볼 수 있는 한해가 됐으면 합니다.

1-3. 2023년 사용했던 기술 🧑‍💻

올해는 정말 다양한 Product들에 대해서 새롭게 출시하는 것들이 많았고 이를 위해 DevOps로서 환경 구성에 대한 지원이라던지 앞단의 미들웨어(nginx) 구성등에 대한 지원들을 많이 하게 됐습니다. 그러다보니 자연스럽게 이런부분들을 자동화 하고 프로세스를 잡아가는 한해가 됐던거 같고, 요청이 오더라도 신속하고 정확하게 구성을 할 수 있는 준비를 만련하는 한 해가 됐던거 같습니다.

서두에 이야기를 했지만, Nginx 통합 및 멀티 사이트 구조라던지 Hubot을 통한 업무 자동화 같은 내용들은 기본적으로 개발팀을 지원하는 업무 이외에 좀더 DevOps로서 자동화 하고 사용하는 플랫폼의 숙련도를 높이기 위한 작업들을 수행한 부분에서 개인적으로 성취감이 있었습니다.

그리고 연간 독서를 조금이라도 하기 위해서 서평 작성에 참여하게 됐고 8월부터는 한달에 한권씩 책을 받아 서평하면서 독서를 하고 있습니다.

2. 월별 결산

1월 ❄️- 3월🌱

올 한해는 제가 하는 업무, 특히 k8s에 환경 구성하는 내용들이 많이 있었습니다. 특히 신규로 오픈하는 서비들에 대해서 서포트를 많이 했고 이 가운데 합류하신 주니어분과 여러가지 합을 맞추면서 작업을 많이 했던 것 같습니다.

1/4분기에는 주로 팀워크를 많이 배울 수 있었던 기간이였던 것 같습니다. 아무래도 저희팀 리드분께서 제가 하는 업무에 주니어분을 배치해주시고 나름 어느정도의 권한 위임을 통해서 자유롭게 업무를 할 수 있는 환경을 많이 조성해주셨습니다. 자연스럽게 주니어분을 리드하게 되는 업무들을 많이 진행했는데 그러면서 스스로도 어떻게 업무를 했을 때 서로간의 시너지를 낼 수 있는지를 많이 배울 수 있는 기간이였던 것 같습니다.

개인적으로는 매달 회고를 통해서 서로간의 커뮤니케이션과 업무를 다시 정비하고 다음 달에 어떤 업무들을 할지 목표를 정하였고, 매달 진행했는데 시너지가 정말 많이 나게 됐고 매달 업무의 마침표를 찍고 새로운 업무들을 다음달에 배치하면서 적은 인력으로도 고효율을 낼 수 있는 부분들을 배우게 됐습니다.

특히 DevOps로서 환경 구성 및 배포 관리를 통해서 전반적으로 시스템 안정화를 가져가는 것을 팀목표로 정했고, 이를 달성하기 위해서는 자동화와 모니터링 강화라는 업무 카테고리를 새로이 생성해서 완성도 있게 만들어 보기로했습니다.

4월 🌷- 6월🚣

4월부터는 정말 회사의 업무에 있어서 엄청 바빠지는 시기였던 것 같습니다. 새로이 출시하는 서비스( 알파크루즈, 게임도시)에 대한 환경 구성 요청을 받아 짧은 기간에 구성을 해야했고 퍼블릭 오픈하는 부분도 지원을 해야했습니다.

저는 주로 각 서비스들이 안정적으로 운영될 수 있도록 하는 여러가지 업무들을 지원하고 있습니다. 주로 환경 구성 및 배포, 오픈 지원 등등이 있습니다.

  • https://game.dosi.world 오픈 지원 (5/11, 5/18)
  • 핀시아 마이그레이션 작업 지원
    • 메인넷이 업그레이드 됨에 따라 여러 프로덕트들이 안정적으로 옮겨질 수 있도록 지원 ( 서비스 점검 모드 및 배포, 5/25 )
  • https://alphacrewz.dosi.world 오픈 지원 (6/12)

2/4분기에 과감히 시도한 업무중 하나는 Nginx 통합 구성이 있습니다. 매 서비스가 신규로 오픈 할 때 마다 새로이 서버와 LB생성하는 부분을 멀티 사이트구조로 nginx 서비스들을 통합하고 내부 설정에서 분기를 하는 방식으로 나누었습니다.

이를 통해서 서비스가 추가되더라도 간단한 설정을 통해서 바로 웹서버 구성이 가능했고, 특히 모니터링 및 인증서 설정등에 있어서 같은 설정을 사용하게 되기 때문에 작업간에 효율성이 증대 되어 운영하는데 굉장히 큰 도움이 됐습니다.

추가적으로 DOSI 서비스의 store 사이트들이 사내 솔루션인 Landpress로 이관됨에 따라 앞단의 미들웨어(nginx) 구성, CDN 연결 및 서비스가 안정적으로 마이그레이션이 될 수 있도록 최 앞단에서 트래픽 라우팅 설정을 통해서 업무 지원을 하게 됐습니다.

여러 제품들이 생겨나는 시기였고, 이에 따라 적은 인력으로 안정화를 가져가기 위해서는 모니터링을 강화하기로 했습니다. Datadog의 APM(Application Performance Management) 솔루션을 사용하고 있고, 여러 메트릭들의 기준치 산정을 수행했고 모니터링 notification구성을 통해서 시스템에 생기는 이슈들을 실시간으로 받을 수 있도록 구성했습니다. (이부분은 향후에 블로그에 정리해서 포스팅 할 예정입니다.)

  • Datadog를 통한 Monitoring 기준 산정 및 Alert 구성

7월 ☔️- 9월 🍁

3/4분기에 기억에 남는 일은 앞단의 nginx로부터 유입되는 로그들을 수집하는 고민을 하게 됐고, loki라는 오픈소스를 사용해서 수집을 하게 됐습니다. 이를 통해서 서비스 DNS로 부터 유입되는 모든 정보들, 특히 아이피, 국가, request uri 등 정보들을 실시간으로 볼 수 있게 됐고, 어뷰징하는 유저라던지 트래픽 변이등을 확인할 수 있게 모니터링 강화를 하게 됐습니다.

이를 바탕으로 각 개발팀에는 내부의 오픈 세션을 통해서 nginx에서 geo 정보 및 로그 수집등에 대해서 설명을 하게 됐고 각 팀별로 geo 정보 전달 요청을 받아서 nginx level에서 개발팀으로 해당 정보를 내려 활용할 수 있게 됏습니다.

추가적으로 nginx에서는 rate limit 기능을 적용해 볼 수 있는 상황이 생겼고, 리서치를 통해 실제 서비스에 적용해 볼 수 있는 계기도 됐습니다. 서비스 운영하게 되면 정말 다양한 요청들을 만나게 되고, 서비스에 공격성 트래픽을 보내거나 해킹을 시도하는 등 공격들에 대해서 차단할 수 있는 부분을 고민하던차에 rate limit 기능을 확인했고 적절하게 적용을 하여 DDoS와 같은 공격으로부터 시스템을 안정적으로 보호할 수 있는 장치를 마련할 수 있었습니다.

그리고 nginx를 통해서 점검 설정(maintenance)를 할 수 있는 내용에 관해서 개발팀과 상의 후 각 서비스별로 nginx level에서 점검 모드 설정을 수행 할 수 있게 되어 효율성을 증대 했습니다.

또한, 특정 서비스의 모듈이 통합 & 변경함에 따라 다시 CI / CD 환경 구성 및 무중단 마이그레이션 하는 작업을 지원하게 됐습니다.

  • https://dosi.line.biz 사이트의 모듈 통합 및 분리에 따라 CI / CD 환경 구성 및 오픈(마이그레이션) 지원

10월 🍂- 12월⛄️

4/4분기에도 역시 신규로 런칭할 예정으로 되어있는 서비스들에 대해서 환경 구성하는 업무들 위주로 지원을 하게 됐습니다.

  • https://www.dosi.world( 24년 1월 오픈 예정 )

DevOps내부적으로는 kubernetes upgrade에 대해서 리서치 및 실제 업그레이드를 실시해 볼 수 있는 계기가 됐습니다. 1.21 ->1.24까지 3단계나 업그레이드를 실시했고 이 가운데 여러가지 이슈들을 만나면서 좀 더 kubernetes에 대해서 이해할 수 있는 계기가 되기도 했습니다.

그 가운데, 아래 2개에 대해서도 업그레이드가 병행이 필요했고 각각 작업을 진행하게 됐습니다.

  • ingress nginx controller 업그레이드
  • istio 업그레이드드

Kubernetes를 무중단으로 업그레이드하는 경험은 손쉽게 얻을 수 있는 경험은 아니라고 생각합니다. 업그레이드는 추후에 블로그에 정리해서 포스팅을 할 예정입니다.

그리고 이 시점에 기억에 남는 일은 https://www.dosi.world (24년 1월 오픈 예정 ) 의 서비스에 대해서 app용으로 제작된 내용에 대해서 심사를 받아야 하는데 이를 위한 환경 구성을 DevOps에서 맡게 됐습니다. 정말 짧은 기간에 다수의 서비스들에 대해서 CI / CD 및 nginx layer, tls 구성 및 DNS구성까지 마쳤고, 여러가지 네트워크 설정등도 빠르게 확인을 하고 구성했던 점이 가장 기억에 남습니다.

또한, 연간 진행하는 작업중에 tls 인증서 갱신 작업이 있는데요. 이부분이 각각 nginx서버에 접속해서 key & pem 파일을 다운로드 받고 서비스를 재시작해주는 부분이 있었습니다. 다수의 서버에서 작업을 해야하고, 최 앞단의 작업이라 서비스에 직결되는 부분이기에 자동화 방안을 고려했습니다. ansible이라는 도구를 통해서 자동적으로 인증서 갱신 및 서비스 재시작을 통해서 안정적으로 수행할 수 있도록 변경했고 기존에 1시간 이상 걸리던 작업에서 5분내로 끝낼 수 있도록 변경했습니다.

끝으로 10월에는 사내 Tech Blog에 ChatOps를 통한 업무 자동화(feat. Slack Hubot)라는 글을 작성하여 기재하였고, 12월 말즈음에 사내에서 k8s 관련 밋업에서 LINE NEXT 쿠버네티스 적용 사례 및 운영 노하우라는 주제로 발표를 진행했습니다. 발표하는 내내 저의 말에 귀기울여주시고 하나하나 젂어가시는 모습에 정말 발표하는 중간에도 최선을 다해야겠다라는 생각을 하게 되는 계기가 됐습니다. 이 포스팅을 빌어 발표를 들으러 와주신 분들께 감사하다고 전해주고 싶습니다.

3. 2024년 목표는?

지난 1년을 되돌아 봤을 때 개발팀과의 협업하는 부분을 많이 끌어올릴 수 있어서 좋았던 것 같았고, 개인적으로 사내의 테크블로그와 발표를 통해서 성취감을 달성할 수 있었던 부분도 좋았던 것 같습니다.

하지만 아직도 DevOps의 역할과 책임에 대해서는 꾸준히 정의해 가는 단계라고 생각이 들고 각 팀이 처한 환경과 규모에 따라 역할을 맞춰서 가는 부분이라고 생각하게 되는 한 해 였던 것 같습니다.

24년도 비슷하지만 다음으로 정의를 해보고 싶습니다. 24년에는 SRE라는 업무에 대해서 좀더 심도 깊게 배워보고 수행해보고 싶다는 생각을 하게 됐습니다. 서비스 규모가 커질수록 신뢰성도 중요하기에 이러한 부분들을 담당해주는 팀으로 확장을 하게 되면 조직의 규모도 역할도 커지지 않을까 하는 생각을 해봅니다.

  • SRE 업무 영역 확장 및 업무 수행
  • 강의 제작해보기 ( 사내 클래스 ? )
  • 번역서 출간해보기? 혹은 프로세스 배워보기?
  • 건강 챙기기, 진짜 진짜 10kg 감량 및 근육랑 증가
  • 취미 생활 유지하기 ( 골프 ? )

4. 마치며…

이번 포스팅에서 사실 클라이막스는 가족이 늘어난 부분입니다. 저에게는 정말 소중한 둘째가 태어나는 한 해였고 그만큼 저도 어깨에 책임감을 더 올려놓게 되는 한해라고 생각하게 됐습니다. 항상 가족을 생각하며 1년을 열심히 산다고 생각합니다.

23년은 업무로 여러가지를 시도 해 볼수 있는 한해 였다면, 24년에는 좀더 단단하고 촘촘하게 직접 사람이 개입하지 않더라도 운영의 안정성에 기여할 수 있는 인프라를 만들고 싶다는 생각을 하게 됐습니다.

정말 긴 글이지만, 저의 생각을 정리할 수 있는 포스팅이였고, 긴글 읽어 주셔서 진심으로 감사하다는 말씀드리고 싶습니다.
새해에는 바라시는 모든일들이 모두 잘 되시기를 바라겠습니다. 새해복 많이 받으세요. 🐲

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다