업무
회사 기술 블로그에 글을 업로드했다! (고료도 받았다 🎉)
사수님이 5고에 걸쳐 봐주셨는데 😇 그만큼 빠꾸도 많이 맞았지만 여러모로 글을 다듬으며 보완할 수 있는 계기가 되었다.
EKS 환경에서 로그 모니터링을 꾸준히 하고, 여러 가지 에러 로그를 만나며 대응을 했다.
로그를 보며 문제의 근본적인 원인을 찾고 해결해나가는 법을 배우고 있다.
업무 시 마주치는 문제 상황에서 어떻게 처리해야 하는지 점점 체감되고 있다.
예전에는 이거 어떻게 하죠???? 하는 뉘앙스로 물어봤다면
이제는 문제의 원인을 나름 찾아보고, 해결책도 찾아보고, 근데 거기엔 이런 문제가 있더라고요.
그러면 이 방법은 어떨까요?? 하는 식으로 여쭤보고 있다.
3달 전에는 못 하던 것을 할 수 있게 되었다.
Fluent Bit에는 오픈 소스 SQS Output 플러그인이 있는데, 3달 전의 나는 이걸 어떻게 연동하는지 몰라서
하루 이틀 정도 시도해보다가 다른 방안을 알아봤었었다.
하지만 이제는 readme에 써진 방법 외에도, 처음 해보는 Golang으로 레파지토리의 소스 코드 파일을 빌드해서 사용할 수 있게 되었고,
그간 내가 조금은 성장했구나 싶어서 뿌듯해졌다.
EKS 환경 외에도, 사내의 전체 EC2 인스턴스에 설치된 로그 수집 프로그램인 Logstash는 무겁기 때문에
개발팀의 한정된 자원을 상당량 잡아먹는 문제가 있었다.
여기에 Fluent Bit나 Fluentd를 사용한다면 기존 Logstash와 동일한 결과물을 내면서
자원 사용이 더 효율적인지, 기존 개발 환경에 문제는 없는지 테스트를 해 보았는데,
테스트 결과 Logstash가 기존 환경에서 메모리를 40% 정도 차지한다면 Fluentd는 5% 미만으로 사용하고,
시작 시에 Logstash는 CPU가 180% 가까이 튀고 서서히 감소한다면, Fluentd는 90% 가까이 튀고 빠르게 안정적으로 3% 대로 떨어졌다.
따라서 EC2 골든 이미지에 Logstash 대신 Fluentd를 세팅하고 문제가 없는지, 안정적인지 테스트를 하는 중인데,
전반적인 과정에서 운영체제 스터디가 굉장히 도움이 많이 되었다. 💪
Fluent Bit에서는 지원되지 않는 기능을 코드 단위에서 내가 수정할 수 있을까? 하고
주말에 열심히 C로 된 코드를 뜯어보며 수정하기도 해 봤다. 응 안돼 ^^ 돌아가
하지만 재밌었고, 설레고, 신나는 경험이었다.
아직은 깃허브 이슈나 슬랙 들어가서 이거 안돼요... 왜않되.... 하면서 광광 울고 있을 때도 있지만
앞으로 차차 C나 Go를 익혀서 오픈소스에도 기여해보고 싶다!
뒤늦게 아찔해지는 순간도 있었다.
초반에 작업 설계를 할 때 충분히 A, B, C, D를 찾아보고, 비교하고, 테스트해보면서
우리에게 최적의 솔루션은 B다! 그러니 B를 도입합시다! 하고 착착 착수하면 좋겠으나,
과거의 나는 A....알아본다... A... 안된다.... 그럼 B.... 해본다... B... 된다.... B로.. 한다....! 이런 식이었다. (사수님 죄송합니다...)
그리고 뒤늦게, 한밤중에
아니.... 이거는 C가 최선이었을 텐데? 하는 생각이 들면서 아찔해졌다.
애초에 초반에 철저히 알아보고, 비교해보고, 선택했어야 했는데 이거를 고작 몇 개월 해본 신입이 가능할까? 싶기도 했으나
스터디를 하며 만난 다른 1년 차 분들은 그런 것도 포함해서 잘하고 계셔서 비교를 하며 자격지심이 들기도 했다.
하지만 그래도, 그러면서 다짐을 하는 것 같다.
만약 잘못된 게 있다면 지금이라도 바로잡고,
다음에는 좀 더 시간을 가지고, 알아보고, 비교하는 식으로 일을 해야겠다고 말이다.
이러면서 성장하는 거겠지...
계속 하나의 업무만 하고 있어 불안하기도 하다. 나는 개발도 잘 하고 싶고, DW에 적재도 하고 싶고,
데엔의 업무가 A부터 Z까지 있다면 그중에 D까지는 해보면서 팀의 일을 덜어드리고 싶은데,
지금 하고 있는 것부터 잘 알고, 잘해야 한다는 피드백을 받고 지금 하고 있는 업무를 잘하기 위해 노력을 하기 시작했다.
운영체제 공부를 꾸준히 하고 있고, 도커와 쿠버네티스 강의를 듣고, 주니어 개발자들을 대상으로 ELK를 가르쳐주는 스터디를 열었다.
그 과정에서 많이 배운 것도 있지만, 아직 갈 길이 멀다 싶다.
이 일을 하면서 알아야 할 건 산더미지만, 그래서 호기심이 들고, 설레고, 재밌는 것 같기도 하다.
스터디
EKS 환경에서 파드를 배포하는 일을 하다가 컨테이너에 대해 더 잘 알고 싶고, 쿠버네티스도 더 자세하게 알고 싶어져서
따배도와 따배쿠를 차례대로 듣는 스터디를 열었다.
도커에 대해 제대로 모르고 업무를 시작했는데, 따배도를 들으면서
내가 그간 공식 문서만 보고 따라 했던 볼륨 마운트나 cpu, ram 등 자원 제한 등이 이런 식으로 작동하는 거였구나 좀 더 깊게 알게 되었고,
도커로 이것까지 할 수 있구나..! 싶어 신기하기도 했다.
쉽게 배우는 운영체제 스터디도 9주 차가 되었다. 이제 3주 더 하면 끝난다!
4-5월간 컨테이너 환경과 서버에서 자원 테스트를 했기 때문에 매 주차의 스터디를 나가면서 업무에 굉장히 도움이 많이 되었다.
업무를 사용하며 만났던 오류 메시지의 근본적인 원인이 이거였구나, 알게 되어 신나고 재밌기도 했다.
이거보다 데이터베이스를 먼저 배웠어야 했다, 라는 말을 듣기도 했는데,
4-5월에 운영체제를 공부한 게 너무 타이밍이 잘 맞았다 싶었기 때문에 후회는 없다.
그래도 이거 끝나면 데이터베이스 공부를 해야겠다..ㅎㅎ
직무 관련 공부로 이 두 책을 읽고 블로그에 매주 정리했다.
왼쪽 책의 경우 오른쪽 책에 비해 비교적 순한 맛(?)으로 읽을 수 있었고, 일을 하며 참고할 수 있을 법한 코드가 많았다면
오른쪽 책의 경우 주니어에서 중니어로 가기 위해서 알아야 하는 관문 같은 느낌이었다.
지금의 나는 생각해보지 못했던 수준의 기초적이면서 핵심적인 수준의 작동 원리와 문제점, 해결책 등등이 가득해서
읽다 보면 이거 뭔 소릴까,,, 하고 정신이 안드로메다로 날아가기 일쑤고 글자는 뇌에 가기는커녕 눈에서 튕겨나가는 느낌이나,
두세 번 더 읽고 내 것으로 만들고 싶은 내용이 가득한 책이다.
IP가 172와 192로 시작하는 차이(공인 IP, 사실 IP) 를 알지 못한 탓에 업무가 지연된 적이 있었다.
그 뒤로 네트워크를 알아야겠다 싶어 위 두 책을 조금씩 읽어나갔다.
네트워크에 관련한 내용 역시 읽어도 뇌에 내용이 쏙쏙 들어오기는커녕 튕겨나가는 느낌이나,
이것도 여러 번, 여러 책에 걸쳐 읽다 보면 조금씩 내 것이 되지 않을까 희망하며 읽어나가고 있다.
오른쪽 책보다는 왼쪽 책이 입문자에게 더 친절하게, 자세한 수준까지 알려주고 있어
네트워크가 궁금하다면 왼쪽 책으로 먼저 시작하기를 추천한다!
ELK를 도커 컨테이너에 설치하고, 로그를 수집하며 변환하고, 대시보드로 이를 관찰하며, 엘라스틱서치의 검색 기능까지 다루는
4주 완성, 주최자가 떠먹여 주는 😇 스터디를 열었다.
의외로 주니어 개발자들의 열화와 같은 관심에 총 12명 정원으로 시작했고,
호기롭게 회사에서는 6.x 버전대 ELK를 사용하지만 스터디는 8.x 버전으로 해볼 요량이었으나,
ELK 6.8, 7.1 버전부터 추가된 보안 기능은 결코 만만하지 않았다.
(아니 적어도 7 버전대까진 보안 기능이 만만해 보였으나 8 버전대의 클러스터를 보안 연결하는 게 만만하지 않았다.)
ES와 Kibana, ES 클러스터 내에서 마스터 노드와 데이터 노드를 연결하는 예제는 있었어도
ES와 Logstash를 연결하는 방법을 쉽게 찾기 어려웠는데, 며칠을 시도했더니 결국 연결할 수 있었다!
그러나 내가 했던 방법이 최선인지, 실무에서도 이렇게 하는지는 궁금하긴 하다.
그리고 스터디를 열면서 느낀 점이 있다면,
- 신청하는 인원을 다 받지 말아야 한다. 인원이 많으면 나 하나쯤 안 와도 되겠지 하며 전반적인 참여율이 저조할 수 있다.
- 스터디는 참여 선착순이 아니라 꾸준히 참여할 수 있는 사람으로 구성되어야 한다.
- 실습형 + 강의형 스터디의 경우 강의 내용을 먼저 제공하고, 참여자들이 직접 에러를 해결할 수 있게 도와주는 방안이 필요할 듯싶다.
- 준비 기간도 넉넉히 잡고 커리큘럼을 짜야한다.
고작 1주의 여유 기간을 가지고 매주 스터디를 준비하다 보니 내용이 아쉬울 때도 있었다.
- 준비 기간도 넉넉히 잡고 커리큘럼을 짜야한다.
생각보다 ELK를 설치하고 연결하는 과정에서 스터디원들이 오류를 많이 겪었고 (M1이라던가... M1이라던가...)
설치 과정에서 긴 시간이 소요되었다. (내가 처음 ELK를 도커에 설치할 때 걸렸던 시간을 생각해보면 이건 양반 수준이긴 하지만)
첫 주차에 먼저 설치 과정을 완료한 스터디원들이 조교가 되어, 다른 스터디원들을 도와주는 광경은 정말 감동이었는데,
7시에 스터디를 시작해서 마지막 스터디원이 Kibana 연동을 완료했을 때는 새벽 2시였다..ㅋㅋㅋ
자연어 처리 교육
ICT 이노베이션 스퀘어에서 하는 위 과정(2022.4월 말~6월 말까지 진행)을 신청해 들었으나,
번역 모델, 챗봇 구현, 감정 분류 등 실습 위주로 커리큘럼이 구성된 데에 비해
실제 수업은 모델 내부 구조를 대학원 수준으로 설명하길래 문의하니 온라인 과정이기에 실습은 진행되지 않는다고 했다.
강사님에 따라 교육 내용이 다르다고 하는데, 위 과정의 경우 나와 맞지 않아서 드랍했다.
모델 내부 구조, 당연히 중요하지만 나는 프로젝트 성으로 무언가를 만들어보고 싶었기 때문이다.
대신 추천 시스템 강의를 듣기 시작했다!
현실 데이터를 활용해 추천 시스템을 만들 수 있다니 설렌다.
예제가 내가 좋아하는 도메인 + 지금 회사의 도메인과 관련이 있어 많은 도움이 될 것 같다.
강의를 들어보니 기존에 내가 토이 프로젝트를 하면서, 면접을 준비하면서 알았던 지식은 정말 새발의 피였구나,, 를 체감했고,
얼른 더 듣고 싶다.
매주 월요일마다 들을 예정!
공부시간
열품타로 공부 시간을 측정하고 있는데, 이만하면 꾸준히 공부를 한 것 같아 뿌듯하다.
깃헙 잔디밭보다 푸르른 나의 열품타 잔디밭,,
5월엔 ELK 스터디 준비하느라 공부 시간이 많았는데, 공부 시간이 많다고 그 지식이 고스란히 내 것이 되는 건 아니지만,
적어도 무언가를 시도하는 데 시간을 투자했고, 앞으로도 꾸준히 지속할 수 있는 동력이 되지 않을까 싶다.
책 서평, 베타 리더
한빛미디어의 서평단으로 활동을 하고 있는데,
한빛미디어는 내심 내가 가장 기대했던 책이 아니라 가장 기대하지 않았던 책을 보내주는 능력이 있는 것 같다. ㅋㅋㅋㅋㅋ
그래도 왼쪽 책은 기대하지 않았음에도, 내가 꿈꿔왔던 프로젝트를 만들 수 있겠구나, 싶게 예제를 하나하나 설명해주며
머신 러닝 프로젝트를 만들어나가는 과정을 설명해주고 있어 엄청 추천하고 싶은 책이었다.
혼자 공부하는 컴퓨터 구조+운영체제도 읽어보니 생각 외로 세세하고 친절하게 깊은 내용까지 설명해주고 있어,
나올 책도 기대된다. 완성본을 받아보고 괜찮으면 주변에도 추천할 예정!
아쉬움
말해보카를 4월부터 시작했는데,
예제를 말하며 단어를 맞히고, 내 발음을 측정할 수 있어 신기하고 재밌다.
듣기 문제를 풀면서도 문법을 익힐 수 있어 좋은데,
고등학교 이후로 단어를 외우는 게 되게 오래간만이라 신선하기도 하다.
하지만 5월의 중~ 후반부 갈수록 ELK 스터디 준비하느라 제대로 인증을 못 했다,, 6월에도 꾸준히 하려고 노력해야지,,
매주 주간 회고를 하면서 내 고양이 잘 챙기자, 싶은데 바쁘다고 잘 못 놀아주는 것 같아 미안하다.
이번 주도 하는 다짐, 고양이 잘 놀아주고 운동 꾸준히 해야지!
여기까지 긴 글 읽어주셔서 감사합니다! 🙇🙇♂️🙇♀️
'회고' 카테고리의 다른 글
7월 회고 (0) | 2022.08.15 |
---|---|
6월 회고 (0) | 2022.07.10 |
2022.3월 회고 (6) | 2022.03.31 |
사내 첫 프로젝트 회고 (0) | 2022.03.27 |
2022.2월 회고 (1) | 2022.02.28 |