일 1~2월 - 연초에는 2022년에 끝났던 프로젝트의 개발 환경을 구축하는 데 집중했다. - 개발 환경을 잘 만들어두면 더 편하게 개발하고 좋은 코드를 꾸준히 만들 수 있는 기반이 될 거라고 생각하며 개발환경을 구축하였다.3~5월- AI 공부와 관련 프로젝트를 진행했다.- GPT가 뜨면서 개인적으로도 공부하고 싶었는데, 프로젝트에 이를 적용하면서 좋은 퍼포먼스까지 낸 것 같아서 좋은 경험이 되었다.6~8월- AI 관련 내부 프로젝트를 진행했다.- 우리가 뭘 만들고자 하는지 명확히 알지 못했던 것 같다. 그래서 고객의 요구사항을 받아가며 보완해나가는 것도 괜찮다고 느꼈다. - '서비스(솔루션)가 무조건 SI보다 좋다'라는 생각에 대해 다시 생각해보게 되었고 'SI도 괜찮을 것 같다..'라고 처음으로..
전체 글

# 상황이미 배포 파이프라인까지 구축된 프로젝트를 빠르게 운영 배포하는 업무를 맡게 되었다.argo-rollouts 를 사용하여 blue/green 전략을 사용하였다. 배포를 하고 업데이트를 할때마다 argocd 앱에서 suspended 상태가 발생하였다.sync를 맞춰줘도 상태는 변하지 않았다. 담당자에게 물어보니 promote-full을 하란다..! # 검색blue-green 배포 전략은 이전 버전과 새로운 버전이 동시에 존재하는 전략이다.자동으로 이전 버전을 삭제하지 않고 수동 삭제를 선택하게 된다면 promote-full 기능이 생긴다.promote-full 기능을 사용하면 이전 버전이 삭제되고 새로운 버전만이 남게된다. # 참고https://velog.io/@brillog/Argo-Rollout..

# 상황배포 파이프라인 구축을 하였기 때문에 프론트 어플리케이션도 직접 배포하게 되었다.프론트 개발은 VITE+React로 구성되어 있었다. 똑같이 docker image를 만들고 gitlab과 argocd를 통해 앱 배포를 시작했다.프론트 앱에서 백엔드를 호출하기 위해 api_url이 필요한데 이를 개발과 운영환경을 분리하기 위해 환경변수가 필요하다. # 문제백엔드 어플리케이션 배포할때 helm chart를 통해 배포하여 chart에 환경변수를 설정하면 빌드 과정을 생략하고 바로 deployment 만 재시작하여 배포하여 환경변수를 적용할 수 있었다.이처럼 프론트 어플리케이션도 똑같이 환경변수를 helm chart로 전달받게 구성하였다.근데.. 적용이 되질 않는다... # 원인 및 해결- env 파일로..

Uvicorn으로 python 프로젝트를 실행하며 uvicorn은 무엇이고 어떻게 동작하는지 궁금하여 공부 및 정리해보기로 했다.처음 생각은 fast api 프레임워크도 비동기를 지원하고 uvicorn도 비동기 서버를 제공하는데 과연 비동기에 대해 잘 알고 잘 사용하고 있는가로부터 시작됐다. 더 거슬러 올라가면, 누군가 내가 만든 python 프로젝트에 필요한 cpu및 메모리 스펙에 대해 알려달라고 했었다.로컬에서 테스트해보니 내 생각대로 비동기로 흘러가지 않았고 해결하고자 공부가 필요했다.동기와 비동기 개념프로그래밍에서 동기(Synchronous)와 비동기(Asynchronous)는 코드의 실행 방식에 대한 두가지 중요한 개념입니다. 동기 프로그래밍은 코드가 순차적으로 실행되어 이전 작업이 완료될 때까..