모든 기술에는 장점이 있다면 단점도 있기 마련이고 특징을 잘 알고 제대로 활용하지 않으면 쓰지 않는 상황보다 관리 혹은 유지 비용이 더 느는 경우가 많은 것 같습니다. 그중에서 이 글에서는 요즘 화두가 되는 '서버리스' 아키텍처를 버리고 모놀리스를 도입하는 과정에서의 얻을 수 있는 6가지 교훈을 이야기하고 있습니다.
1. 핵심은 기술이 아니다
도구(기술)와 사랑에 빠지지 말라는 개발 격언이 있을 정도로 기술을 먼저 선택하기 보다 먼저 상황부터 파악하고 가장 효율적인 기술을 선택하는 게 맞다고 봅니다.
2. 절충점을 분석하라
기술을 선택할 때는 근거가 있어야 한다고 생각합니다. A와 B 중에 각자를 선택해서 오는 장점과 단점을 파악하고 어느 것은 포기하되 어느 것은 어떤 일이 있어도 가져가야 하는 근거 있는 선택이 필요한 것 같습니다.
3. 첫 설계를 제대로 하라
요구사항을 분명하게 파악해야 하고 초기 설계 단계가 그만큼 중요합니다. 특히 인프라 선택은 한번 선택하면 바꾸는 비용이 꽤 많이 들기 때문이죠.
4. 언어와 종속성을 간소화하라
전체 시스템에서 사용하는 언어가 많거나 각 시스템 간의 종속성이 강할수록 유지 보수 비용이 커질 수밖에 없습니다. 최대한 심플하고 필요한 언어로 제한하고 시스템 또한 무분별하게 분할/확장해서는 안될 것 같습니다.
5. 특정 사용례를 목표로 삼아라
중국집 식당에서나 사용될법한 네모나고 큰 중식도를 사용하면 그럴싸하게 멋져 보일 순 있지만 사과를 깎을 경우엔 어쩌면 작은 과도가 더 어울릴 수 있을 것 같습니다. 기술을 선택할 때는 기존의 사례를 참고해도 좋을 것 같습니다.
6. 비용을 고려하라
아무리 고성능에 효율적인 프로그램을 작성했다고 하지만 비용이 많이 발생한다면 전체적인 시스템의 설계를 다시 고민해 봐야 할 것입니다.
https://www.itworld.co.kr/news/293089