Kai 8 0
게시물 메뉴

M5 Pro가 도착한 뒤로 앱 개발은 거의 못 하고 있습니다. ㅎㅎ

앞으로 앱과 서비스를 최소한의 인프라 비용으로 안전하게 찍어낼 수 있는 환경을 만드는 데 올인하고 있거든요.

기존 앱과 서비스도 하나씩 새로운 환경으로 옮기는 중입니다.

이번에는 아예 기본 아키텍처를 고정하기로 했습니다.

모든 애플리케이션은 개발, 테스트, 운영 3단계로 분리하고, 각 환경이 서버 리소스를 공유하되 특정 앱이 폭주해도 다른 서비스에 영향을 최소화하도록 구성했습니다.

ARM64와 AMD64 서버도 역할에 맞게 나눴습니다. 빌드와 테스트, AI 작업, 실제 서비스 운영을 각 장비의 특성에 맞게 분산하는 식입니다.

운영 환경은 쿠버네티스(k3s)를 기반으로 구성했습니다. 가용성과 확장성을 확보하고, 무중단 배포와 장애 복구까지 기본 아키텍처에 포함하는 게 목표입니다.

백업, 모니터링, 시크릿 관리, 배포도 가능한 한 공통으로 처리하고요.

왜 이렇게까지 하느냐고요?

앱 하나 만들 때마다 서버 만들고, DB 구성하고, 배포 설정하고, 백업과 모니터링 붙이는 일을 반복하고 싶지 않아서입니다.

혼자 여러 서비스를 운영하다 보니 앱을 만드는 것보다 운영하고 관리하는 일이 점점 더 많아지더라고요.

앞으로는 아이디어가 생기면 앱 개발에만 집중하고 싶습니다.

개발이 끝나면 정해진 절차에 따라 테스트하고, 운영 환경으로 배포하면 끝. 나머지는 공통 인프라가 알아서 처리하는 구조를 만들고 있습니다.

물론 쿠버네티스를 도입했다고 자동으로 안정적인 서비스가 되는 건 아닙니다. 오히려 관리할 게 훨씬 많아졌습니다. ㅋㅋ

그래도 한번 제대로 만들어두면 이후에는 여러 서비스가 같은 기반을 활용할 수 있으니까요.

최종 목표는 1인 기업이 최소한의 비용으로 엔터프라이즈급 운영 환경을 갖추는 겁니다.

개발부터 배포, 모니터링, 백업, 장애 복구까지 최대한 자동화하고, 앱이 늘어나도 인프라 관리 부담은 크게 늘어나지 않도록요.

지금은 기존 서비스를 하나씩 이전하면서 실제로 잘 작동하는지 검증하고 있습니다.

당분간은 새로운 앱 출시보다 이 작업에 집중할 생각입니다.

20년 개발하면서 서버를 이렇게까지 직접 만질 줄은 몰랐네요. ㅋㅋ

기초공사만 끝나면 다시 열심히 찍어내겠습니다.