FE INFRA - Intro

개발 log·2023년 2월 20일
0

FE INFRA

목록 보기
1/2
post-thumbnail

소개

이번 글은 웹 서버를 구축하며 배운 내용과 왜 FE개발자이면서 INFRA를 설계할 생각까지하게 되었는지에 대해 소개할 것이다.

개요

FE INFRA?

사실 1년차도 안된 현 시점에서 FE INFRA라는 단어는 굉장히 생소할 수 있다.
먼저 인프라란 서비스 및 플랫폼을 개발하기 위해 필요한 모든 자원을 관리하는 기반을 의미한다.

이 때문에 FE INFRA라는 단어가 생소하게 다가올 수 있다고 생각한다.
우선 웹 서버만 놓고 봤을때 필자의 짧은 견식으로 감히 말하자면, 운영중인 웹 서버는 서버 성능이 너무 낮지 않은 이상 그다지 큰 트래픽 관리가 필요하지 않다.
왜냐하면 요청이 오면 문서를 만들어서 보내주는 역할이 전부이기 때문이다.

그러므로 웹 서버에서는 정말 대형 서비스가 아닌 이상 INFRA 관리가 그다지 중요하게 여겨지지 않는 것 같다.(단, 필자가 아직 견식이 짧아 경험 부족일수도 있다.)

Why FE INFRA?

그렇다면 필자는 왜 웹서버의 인프라 설계를 생각하게 되었을까?

간단하게 요약하자면 한정된 자원에서 여러 앱을 구동하고 싶었기 때문이다.

필자는 사회초년생이다!
고로 작은돈도 크게 느껴진다.
즉, 자원을 아낄 수 있으면 내 역량이 닿는만큼 아끼고 싶었다.

내게 주어진 자원은 정말 작고 소중했다.

  • AWS t2.micro
    • CPU: 1
    • RAM: 1

후기로 적고 있는 지금봐도 정말 작고 소중하다.
어쨋든 필자는 저 작고 소중한 아이에게 앱을 두개나 구동시키려고 한 것이다.

필자가 관리하고자 하는 앱은 아래와 같았다.

  • 메인 앱(실제 서비스 앱)
  • 어드민 앱(관리자 앱)

위 두가지 앱을 레코드만 다르게 파서 관리하려고 했던 것이다.

  • main.example.com
  • admin.example.com

Needs?

  • 자원 절약: 한 인스턴스에서 앱 두개 구동
  • CI: cypress(?) <- 이건 아직 적용을 안해서 어떤 툴을 사용할지도 미정이다.
  • CD: 무중단 배포, 배포 자동화

Next

앞으로 이어나갈 글에서는 어떤 방법을 통해 필자의 니즈를 충족시켰는지에 대해 기재할 것이다.

참고로 인프라를 구축하기 위해 사용한 기술들은 아래와 같다.

  • 모노레포: turborepo
  • aws: ec2, code deploy, ecr, route53
  • 도커
  • github actions
profile
프론트엔드 개발자

0개의 댓글