블로그 고도화 Overview
블로그에 대한 집착을 버릴려고 현재 운영 중인 블로그를 Flask 를 이용해서 개발을 했고 운영을 해오고 있다. 그렇지만 고도화를 하고 싶다는 생각을 떨쳐 버릴 수가 없었다. 개인적으로 불편한 부분도 있었고, 개인 프로젝트를 마땅히 찾지 못하다가 계속 마음에만 두는 블로그 고도화를 개인 프로젝트로 올해 한번 해보면 어떨까 하는 생각을 가지게 되었다. 원하는 기술 스택으로 다시 변경을 하고 그 과정들을 이 블로그에 쓰면 1석 2조가 되지 않을까? 하는 생각이 들었다.(사실 블로그 재료가 떨어진 것도 솔직한 마음)
먼저 불편하다고 느꼈던 것들을 나열해 보자.
에디터 : 가장 큰 문제로
vue.js
로 markdown 에디터를 주워다 만들었고, 에러도 많다. 그러다보니 자연스럽게 쓰지 않게 되었고 다른 곳에서 쓰고 거의 복붙하는 용도로만 쓰게 되었다. 이 글을 쓰는 지금도 나는 Notion 에서 글을 쓰고 있다.비용 : 모놀리틱으로 구성된 서버는 스마일서브에서 제일 싼 호스팅에 11,000원 한달 비용을 지불하면서 사용을 하고 있다.(도메인 비용 별도) 비용이 비싸지는 않지만, AWS, AZURE 에서 제공하는 서버리스나 여러가지 managed service 를 이용해서도 비용최적화를 할 수 있지 않을까 싶었다.
- 구조 : 모놀리틱 구조에서 서버리스 형태로 만들어보고 싶다는 생각을 하게 되었다. 그리고 개발 및 배포도 사실상 ssh 들어가서 git 으로 하고 있는데 뭔가 더 자동화를 할 수 있지 않을까 하는 생각을 하게 되었다.
개선 안에 대해서 생각해 보았다.
서버리스화 : 대략적으로 post 서비스, tag 서비스, 유저서비스 정도로 나누어 질 수 있을것 같다. 각각을 서버리스 환경에 띄우려고 한다. DB 에 붙는 부분은 원래는 개별DB 가 있는 게 맞긴 한데 그 부분은 좀 더 고민을 해봐야 할 것 같다.
에디터 및 관리기 이슈 : 결국 나에게 에디터는 Notion 이 될 것 같다. 내가 Notion 보다 좋은 글쓰기 플랫폼을 만드는 것은 불가능하다는 결론에 이르렀다. 어떻게 Notion 의 markdown 데이터를 import 할 수 있을지 그리고 현재 관리기는 어떻게 할지는 좀더 고민해 봐야 할 것 같다. 관리기를 최소한의 기능으로 유지를 하는 방향으로 할 것 같고, 이 관리기가 굳이 웹서버에 떠 있어야 하는가에 대한 고민이 있다.
프론트엔드 서빙 : 지금은 모놀리틱 구조에서 Flask 서버에서 같이 서빙이 되는데, 굳이 이럴 필요가 있을까? 서버리스 방향으로 가게 되면, 프론트엔드 서빙은 어디서 해야할까? 그리고 지금은 Flask 의 jinja rendering 을 사용하는데 API 화 하게 되면 이 부분은 걷어내야 할 것 같아. 개인적으로는 개인 github.io 에 올리고 이것을 개인 도메인과 연결하는 식으로 가려고 한다. (과연 프론트를 할 수 있을까?)
다음 글에서는 좀 더 구체적인 방안을 찾아보려고 한다. 기술적인 부분이나 실제 어떤 것을 어떻게 사용할지. 등등