[발표 자료] 서버리스란?

김영훈·2022년 10월 13일
0

발표

목록 보기
2/2

서버리스란?

많은 분들이 serverless라는 단어만 듣고 서버가 없다라고 생각 하실텐데 이는 오해입니다.

서버리스는 서버가 없는 것이 아니라 서버를 직접 관리 하지 않는 경우를 이야기 하는 것 입니다.

서버가 없다 X
관리할 서버가 없다 O


서버 형태

1.컴퓨터를 직접 구매하여 보관하고 작동 시켜 직접 빌드

초기엔 직접 컴퓨터를 구매해서 구동시켰습니다.
따라서 컴퓨터를 보관할 위치도 필요하고 만약 정전이 나서 서버가 꺼지거나 허용량을 초과하면 난감한 상황에 이르렀겠죠.. 😅

근래에는 이를 보완한 클라우드 플랫폼이 등장합니다.

2.클라우드

대표적으로 아마존의 EC2가 있는데요 굳이 컴퓨터를 사서 직접 관리하는게 아니라 아마존의 장비와 서버를 빌려서 사용 할 수 있게 되었습니다. 정전으로 인해 서버가 꺼지는 것에 대해서 딱히 고려하지 않아도 되고 트래픽 초과시 load balancer가 동작하니 편하게 사용 가능하여진 것이죠

다만 이렇게 되어도 클라우드 비용, 서버 버전관리, 데이터 백업, 업데이트 등을 해야 합니다.

3. 서버리스

대표적으로 AWS lamda 가 있는데 이는 serverless 템플릿을 이용하여 코드를 분석해 함수 단위로 쪼갠 뒤 직접 관리 하지 않아도 되는 서버에 올려서 요청이 들어 왔을 때만 필요한 함수들을 깨우고 호출하여 동작 시키게됨 동작 후엔 다시 수면을 하게 되는데 이 덕분에 계속 서버를 켜두지 않아도 되어서 비용적으로도 굉장히 저렴해졌다고 합니다.
(AWS Lamda 기준 100만건 20센트)


단점

1. 호출 시간

  • 아무래도 수면하고 있던 함수를 깨우기 때문에 항상 켜져있는 서버보단 느릴 수 밖에 없습니다. (이 때문에 게임, 검색 같은 서비스에선 당연히 사용 불가)

2. 플랫폼 종속적

  • 클라우드 or 직접 서버를 보유 했을때보다 서버 이전이 훨씬 어렵다는고 합니다. 플랫폼에 따라 아예 어플리케이션의 구조를 바꿀는 경험을 할수도 있다고 하니 엄청난 리스크

3. 관리에 제약

  • 서버를 직접 관리하는게 아니다보니 제어 가능한 부분이 제한적이라 복잡한 서비스에선 사용하기 어렵고 보안이 취약할 수 있음.

마치며

서버리스는 사이드 프로젝트나 간단한 CRUD 정도의 소규모 서비스에서는 충분히 사용할만한 메리트가 있을 것 같습니다.
하지만 서버리스의 등장으로 서버 로직이 프론트단에도 내려오게 되어질 것으로 예상되어 프론트의 작업 범위가 늘어나지 않을까..라는 생각을 하면서 이 글을 마칩니다.

profile
개인적인 기록.

0개의 댓글