안녕하세요 2년차 개발자입니다.
카페에서 커피마시면서
코딩하기를 좋아해요.

Software Engineer

연말회고

연말 회고를 진행한다.

2022년 한해를 마무리하면서 여러가지 다양한 것을 보고 배웠다. 월 단위로 이슈를 해결 한 점 등 여러가지 나열해보면서 회고해보겠다.

1월

  • React Native, Serverless

    1월

    회사에서 외주를 받아온 코드들을 뜯어보며 새로운 features 들도 개발하고 여러가지로 배울 수 있었다.

이때 처음으로 React query 와 serverless 구조에 대해 알게 되었다.

이전에 EC2 를 생으로 연결해서 백엔드를 구성했을 때보다 더 나은 구조라 생각했다.

이유

  1. 서버리스의 가장 큰 특징은 일반적인 서버와 달리 인프라와 네트워크 관리를 할 필요가 없다는 점이다.
    • 서버리스는 FaaS 기반으로 해당 서비스를 이용하는 플랫폼 내 컨테이너에서 운영된다.
    • 사용한 만큼의 비용을 지불할 수 있기 때문에 합리적이다.
    • 운영 리소스를 줄이고 비즈니스 가치 중심의 코드 작성에 집중할 수 있기 때문에 각광받고 있다.
  2. 보안상의 이슈가 생길 위험이 적다.
    • EC2 의 퍼블릭 IP 를 route 53 을 이용해 도메인으로 매핑하고 프론트와 통신한다고 했을 때, 가장 취약한 점이 트래픽 공격이다.
      해당 공격을 당할 때 public request 가 가능한 경우, 사실상 막을 방법이 없다.
      따라서 방화벽을 두고 인프라나 네트워크를 방어해야한다.
      하지만 서버리스에도 문제가 없는 것이 아니다. 새로운 벡터 공격이 있다.
      이벤트 주입 공격인데 해당 문제는 각각의 event 에 따른 접근 권한을 축소하고 비정상적인 함수 동작을 감지하여 해결 할 수 있다.
    • 아무튼 스타트업의 리소스를 감안하면 나름 합리적인 방향이라고 생각했다.

그렇다면 단점은 없을까?

  • 솔직하게 말해서 오버 엔지니어링이라는 판단을 지울 수 없었다.
    • serverless / lambda / dynamoDB / node(Koa) / webpack 등 백엔드 겉핧기를 해봤던 나에게는 개념 자체가 생소하고 이해하기 힘든 과정의 연속이었다.