2022년 인프콘 후기 - #2 인프런 아키텍처의 과거의 현재, 그리고 미래

Joshua_Kim·2022년 8월 27일
2

2022년 인프콘 회고

목록 보기
3/8

🌱 서론

  • 📣 스피커 : 인프랩 이동욱 (향로)

  • 세션을 선택한 이유
    - 역시 가장 큰 이유는 동욱님 🥰
    - 요즘 내가 꽂힌 키워드중 하나인 아키텍쳐
    - 인프런은 어떠한 과정을 거쳤고, 앞으로의 비전은 무엇인지 궁금했다.

✍🏻 세션 정리

  • 동욱님은 이번 세션에서 인프런의 아키텍쳐를 시즌 1 ~ 시즌4로 나누어 경험을 공유해 주셨다.

🔑 적정 소프트웨어 아키텍쳐?

  • 이번 세션의 부제이기도 한, 적정 소프트웨어 아키텍쳐.
    - 제한과 조건이 있는 상황에서 가장 적절하고 알맞는 방법을 찾아 내는 것.

💡 시즌 1

  • 최소한의 기술력으로 구현을 하기위해 방법을 찾음
    - PHP, JQuery, 워드 프레스, MySql 등을 사용하여 서비스를 구축함

  • 문제점
    - 최적화 할 수 없고, 의도를 알 수 없는 데이터들이 많았음.
    - 워드 프레스로 인한 기능 확장의 한계
    - 직접 관리해야 하는 서버, 배포 포인트 등등

  • 서비스를 다시 만들어야 하는 상황이 도래함

💡 시즌 2

  • 백엔드, 프론트엔드, 데브옵스 모두 1명인 상황
    - 한명이 빠지게 될 때 큰 리스크가 생기게 되었음 => 언어를 하나로 통일
    - 답은 JavaScript ( 아... 🤔 )

  • Fx 기반의 기술을 사용하게됨
    - FxJs, FxDom, FxSql

  • 구현 코드의 최소화, 단일화된 라이브러리 (Fx), Full JS 기반

  • 터져나오는 문제점들
    - 신규 개발자들이 채용이 되면서 스택의 문제가 생김
    - 구현코드를 최소화 하고 Type이 없는 코드로 인해서 예측할 수 없는 함수 결과, IDE의 지원없는 개발등으로 문제가 생김
    - 단일화 라이브러리 사용으로 부족한 생태계, 부족한 커뮤니티의 문제가 생김
  • 다시 적정 아키텍쳐를 고민하게됨

💡 시즌 3

  • 진입장벽을 낮춤
    - 시즌 2의 문제점이었던 비주류 라이브러리, 구조, 패턴을 주류로 변경하게 됨.

  • ClassType의 개념을 도입함.
    - 기술 스택의 변화 : TypeScript, Next.js, TypeOrm, TerraForm, Go 등을 사용

  • 빅뱅 vs 점진적 개편
    - 빅뱅 : 서비스 개선을 멈추고 전체를 다시 만들어서 한번에 교체하는 방식
    - 점진적 개편 : 서비스 운영과 서비스 개편을 병행함.

  • 리스크 : 스타트업 일수록 빅뱅 개편의 리스크가 큼.

  • 인프런은 점진적 개편을 선택하여 개편 시작

💡 시즌 4

  • 장애 격리의 중요성
    - 한 기능의 장애가 전체 장애로 퍼지지 않도록 하는 것이 중요함
    - 독립적으로 운영하는 서비스들을 다 분리하는것이 좋... 아보이지만 현실적인 어려움

    • MSA가 이상적이지만, 현재 상황에서는 적정하지 못하다.
  • 100만 회원 서비스에서 레거시 개편과 더불어 좋아보이는 기술들의 도입 모두를 어떻게 안정적으로 할 수 있는가?
    - 결론 : 불가능하다 😵
    - 그렇다면? : 기술의 가지수를 최소화 하여 가장 좋은 아키텍쳐보다는 2~3년을 버틸 수 있는 적정기술을 선택한다.

  • 인프런의 선택은 mongoDB Atlas 였다.
    - 물론 Elastic Search 가 가장 좋은 기술이고 아키텍쳐이지만, 적정하지는 못하였다.

  • 가장 최신의, 가장 좋은 기술을 도입하는 것은 매우 좋지만 실무에서는 이상일 수 있다.
    - 현 상황과 이상의 중간에서 트레이드 오프를 하며 고민하는 것이 중요하다.

🔥 개인 소감

  • 성공한 덕후 (나는 성덕이라네~ 🎶)
    - 세션 후에 동욱님과 잠깐 나눈 대화 (앞으로의 방향성을 여쭈어보았음)와 사진은 나를 너무나 행복하게 해주었다. 🥰
    - 동욱님의 영상을 보고 따라하게 된 1일 1커밋 습관이 지금의 나를 만들게 해주었다. 언젠가는 동욱님과 함께 나란히 하는 개발자가 되길 소망해본다 🙏🏻

  • "위대한 글쓰기는 존재하지 않는다. 오직 위대한 고쳐 쓰기만 존재할 뿐이다."
    - 가장 좋은 아키텍쳐는 존재하지 않는다.
    - 내가 현재 놓여진 상황에서 적정한 기술과 아키텍쳐를 고민하는 것이 가장 중요하다.

  • 최신의 기술도입만이 답이 될 수 없다.
    - 동욱님 세션을 듣기 전에는 무조건 세련되고 우아한 최신의 기술 도입이 답이라고 생각했다.
    - 회사 내에 있는 레거시나 올드한 아키텍쳐를 보았을 때 빨리 뜯어 고치고 싶다는 생각이 우선 들었는데, 조금 생각이 바뀌었다.
    - 가장 좋은 아키텍쳐는 현재 놓여진 상황속에서 수많은 트레이드 오프 선택지 중 최선을 선택하는 것이다.

profile
인문학 하는 개발자 💻

0개의 댓글