개발 블로그를 시작한 후에 제가 개인적으로 진행중인 프로젝트에 대해서 우선 설명을 해야할 것 같아서 이 글을 쓰게 되었다.
우선, 난 펌웨어 개발을 오래동안 하다가 Software Quality Engineer로 오랫동안 일을 하였기 때문에, 프론트엔드 및 백엔드의 개발 경험이 적은 편이었다. 밴쿠버로 넘어 온 후 프리랜서로 몇 달 일을 하였는데, 그때 사용한 기술을 가지고 경험을 더 확장을 하면 좋을 것 같아서 개인 프로젝트를 시작하게 되었다.
간단하게 설명하면 Spring boot framework을 활용하여 범용 기능을 가진 microservice 기반의 서버를 만드는 것이다.
현재까지의 구성은 간단하다.
기본 Webserver가 가지는 auth 와 session 정보를 관리하는 서비스, 그리고 Client 쪽으로 data를 보낼 수 있는 push service을 개발하는 것이다. 각 서비스간의 통신은 Kafka를 이용하여 Message를 전달하여 비동기로 처리를 할 예정이다. 이건 뭐 계획이니 어떻게 변경될지는 모르겠지만 변경이 되면 중간중간 공유를 할 예정이다.
그리고, 개발을 진행하면서 CI/CD 환경도 구성을 할 예정이다. 현재 Repository는 Github을 사용하고 있기 때문에 Github과 Jenkins를 이용할 예정이다. 기회가 된다면 CircleCI도 한번 셋팅을 해보고 싶다.
테스트 환경은 Local에 Kubernetes 를 설치하고, Helm chart를 통해서 서비스를 배포할 예정이다. 배포의 경우 요즘 유행하는 GitOps를 이용하여 진행한다. ArgoCD라는 좋은 Tool이 있어서 이를 활용하여 배포를 할 예정이다. 배포에 대한 그림은 대충 이러한 느낌이다.
이 환경은 모두 내가 사용하고 있는 Laptop에 설치할 예정이다.
Cloud나 별도의 node가 여러 개 많은 환경이 아니기 때문에 완벽한 셋팅은 할 수 없겠지만 1인 개발 환경으로는 충분하지 않을까 생각한다.
지금은 만학도로 밴쿠버에서 컬리지 수업을 받아야 하는 입장이라 많은 시간이 나진 않을 것 같지만 그래도 열심히 해보고자 한다.
'개인 프로젝트' 카테고리의 다른 글
개발 블로그의 시작 (0) | 2022.01.09 |
---|