📣 스피커 : 인프랩 이동욱 (향로)
세션을 선택한 이유
- 역시 가장 큰 이유는 동욱님 🥰
- 요즘 내가 꽂힌 키워드중 하나인 아키텍쳐
- 인프런은 어떠한 과정을 거쳤고, 앞으로의 비전은 무엇인지 궁금했다.
최소한의 기술력으로 구현을 하기위해 방법을 찾음
- PHP, JQuery, 워드 프레스, MySql 등을 사용하여 서비스를 구축함
문제점
- 최적화 할 수 없고, 의도를 알 수 없는 데이터들이 많았음.
- 워드 프레스로 인한 기능 확장의 한계
- 직접 관리해야 하는 서버, 배포 포인트 등등
서비스를 다시 만들어야 하는 상황이 도래함
백엔드, 프론트엔드, 데브옵스 모두 1명인 상황
- 한명이 빠지게 될 때 큰 리스크가 생기게 되었음 => 언어를 하나로 통일
- 답은 JavaScript
( 아... 🤔 )
Fx 기반의 기술을 사용하게됨
- FxJs, FxDom, FxSql
구현 코드의 최소화, 단일화된 라이브러리 (Fx), Full JS 기반
진입장벽을 낮춤
- 시즌 2의 문제점이었던 비주류 라이브러리, 구조, 패턴을 주류로 변경하게 됨.
Class
와 Type
의 개념을 도입함.
- 기술 스택의 변화 : TypeScript, Next.js, TypeOrm, TerraForm, Go
등을 사용
빅뱅 vs 점진적 개편
- 빅뱅 : 서비스 개선을 멈추고 전체를 다시 만들어서 한번에 교체하는 방식
- 점진적 개편 : 서비스 운영과 서비스 개편을 병행함.
리스크 : 스타트업 일수록 빅뱅 개편의 리스크가 큼.
인프런은 점진적 개편을 선택하여 개편 시작
장애 격리의 중요성
- 한 기능의 장애가 전체 장애로 퍼지지 않도록 하는 것이 중요함
- 독립적으로 운영하는 서비스들을 다 분리하는것이 좋... 아보이지만 현실적인 어려움
100만 회원 서비스에서 레거시 개편과 더불어 좋아보이는 기술들의 도입 모두를 어떻게 안정적으로 할 수 있는가?
- 결론 : 불가능하다 😵
- 그렇다면? : 기술의 가지수를 최소화 하여 가장 좋은 아키텍쳐보다는 2~3년을 버틸 수 있는 적정기술을 선택한다.
인프런의 선택은 mongoDB Atlas
였다.
- 물론 Elastic Search
가 가장 좋은 기술이고 아키텍쳐이지만, 적정하지는 못하였다.
가장 최신의, 가장 좋은 기술을 도입하는 것은 매우 좋지만 실무에서는 이상일 수 있다.
- 현 상황과 이상의 중간에서 트레이드 오프를 하며 고민하는 것이 중요하다.
성공한 덕후 (나는 성덕이라네~ 🎶)
- 세션 후에 동욱님과 잠깐 나눈 대화 (앞으로의 방향성을 여쭈어보았음)와 사진은 나를 너무나 행복하게 해주었다. 🥰
- 동욱님의 영상을 보고 따라하게 된 1일 1커밋 습관이 지금의 나를 만들게 해주었다. 언젠가는 동욱님과 함께 나란히 하는 개발자가 되길 소망해본다 🙏🏻
"위대한 글쓰기는 존재하지 않는다. 오직 위대한 고쳐 쓰기만 존재할 뿐이다."
- 가장 좋은 아키텍쳐는 존재하지 않는다.
- 내가 현재 놓여진 상황에서 적정한 기술과 아키텍쳐를 고민하는 것이 가장 중요하다.
최신의 기술도입만이 답이 될 수 없다.
- 동욱님 세션을 듣기 전에는 무조건 세련되고 우아한 최신의 기술 도입이 답이라고 생각했다.
- 회사 내에 있는 레거시나 올드한 아키텍쳐를 보았을 때 빨리 뜯어 고치고 싶다는 생각이 우선 들었는데, 조금 생각이 바뀌었다.
- 가장 좋은 아키텍쳐는 현재 놓여진 상황속에서 수많은 트레이드 오프 선택지 중 최선을 선택하는 것이다.