지난글에 이어서, 일단 phase 1으로, 이번주에 시간이 될 때에 조금씩 손봐서 일단 지금 이 블로그만 일단 새로운 compute engine 괜찮은 사양으로 만들어다가 거기다 nginx, php8.1, mysql 깔고 옮겼다. 우분투도 이참에 24버전으로 올리고..
서버를 손본게 얼마만인지 모르겠다. 본업을 하다보니 하루에 30-1시간 정도 내서 했는데 3일정도 걸렸다. 그런데 하루에 약 7천원씩 들어가던 돈이 이젠 3천원으로 줄었다. 원인은 Cloud SQL. 사실 이 Cloud SQL이 말이 SQL이지, 안정성이 뛰어난, 각종 백업 등 배치와 웹 콘솔에서 관리가 가능한 하나의 instance여서 이것도 결국 GCE를 하나 돌리는 것과 마찬가지가 된다. 그래서 결굴 cloud SQL instance 두대를 돌리다보니깐 기존 웹서버 인스턴스 두개까지 해서 4개를 돌리는것과 마찬가지가 되었다. 이를 그냥 조금 높은 사양의 서버 하나로 돌리니 기존 4개 인스턴스의 1.5개 정도 돌리는 셈이라고 할까..
게다가 하나의 인스턴스/Cloud SQL은 Asia서버로 돌렸는데 이것도 사실 귀찮아서 놔뒀는데 결국 돈만 먹었지.. 3일걸려서 이렇게 이관할 것을 왜 그동안 안하고 있었을까. 그게 좀 아쉽다. 어쨌든 하나의 인스턴스 안에 죄다 넣어버렸는데, 생각보다 트래픽도 그리 많지않고 서버 cpu/mem utilization도 높지 않다. 아껴야지.. 버는 돈도 없는데 당연히 아껴서 써야한다는 생각밖에 없다.
그리고 리모트 개발환경에 대해서 좀더 생각을 해봤다. 기본적으로 아이맥+아이패드 에어+매직키보드 조합으로 가게 되었는데, 일단 아이를 기다리거나 할 때에는 아이패드로 작업을 하게된다. (지금 글도 아이패드로 작성중.) 보니깐 GCP에서 주당 50시간 정도 Cloud Shell이 무료다. 솔직히 이정도 인스턴스로 웹에서 접속만 하면 된다.
그런데 다만 아이패드 크롬에서는 아래 이상한 패스워드 추천바가 가려서 ㅠㅠ 사파리에서 해야하는게 조금 아쉽지만, 다행인 것은 Cloud Shell Editor라는 것을 지원한다. 이건 일종의 Visual Studio Code기반의 에디터인데 사실 이것만 있으면 굳이 터미널을 쓸 필요도 없다. github이나 cloud repository에 연결도 다 되니깐, 아니 사실 로컬에서 작업하면 되고 메이저 버전에 따라서 이를 업데이트 하면 되서 굳이 VC도 필요한게 아니다.
(확 줄어버린 인스턴스의 모습)
이제 다음 phase는 무엇일까? 몇 가지 생각이 드는데 일단 유라임부터 지금의 local mysql에 연결하는게 하나고, 또 하나는 기존의 Cloud Function으로 연결되어있는 FE/BE를 다시 작업이 가능하게 만드는 것. 그리고 나서 뭐 flutter로 마이그레이션 하고 firebase로 DB빼고 몇몇 서비스는 Cloud Function으로 빼고.. 이래야 하는데 그래도 적어도 몇몇 설계는 필요한 것 같다.
자 그래서 이때 내가 대학원에서 배운것을 써먹어야 한다. 뭐 완전 전문적으로 하기는 힘들겠지만, 일단 PRD (Product Requirement Document)를 만드는 것부터. 그리고 MVP가 무엇인지 생각해봐야 한다. 기존에도 만들었던 것들을 가지치기 해서 진짜 필요한 딱 기능만 MVP로 만드는 것이다. 그리고 개발에 유연한 환경과, 라이브러리 등의 설정을 해두는 것을 생각해야한다.
그래서 다음은 PRD와 시스템 디자인을 생각해보기로 했다. 꼭 필요한 기능이 무엇인지, 그것에 대해서 생각해서 다음 phase로 나아가려 한다. Cheers!