본문 바로가기
AWS/Lambda

Serverless, 서버리스란?

by 알파해커 2020. 2. 26.
반응형

Serverless? 서버가 없다?

  • 우리가 서버를 구축한다고 하면 보통 실물 서버를 구축하는 것을 말한다. 용산에 가서 컴퓨터를 한대 사와서, 거기에 OS를 깔고, 톰캣을 깔고..
  • 혹은 누군가 실물 서버를 잔뜩 사놓고 빌려줄 수도 있다. AWS 같은 회사가 엄청 나게 많은 컴퓨터를 사서, 한곳에 모아놓고 IDC를 구축하고, 부분 부분을 온라인을 통해 빌려주는거지. 심지어 OS도 미리 설치해주고. 그렇게 되면, 우리가 직접 용산에 가서 발품팔고, 힘들게 들고와서 선 연결하고, USB 꽂아서 OS설치할 필요가 없을 것이다.
  • 전보다는 확실히 편해지긴 했지만, 나는 개발만 하고싶은 개발자인데, 움직이는 것은 너무나도 싫은일인데 저거 누군가가 좀 다 해줬으면 좋겠다. 나는 코드만 올리고 싶다.
  • 그래서 나온 것이 서버리스(Serverelss)이다.
  • 서버를 내가 직접 구축하여, 소유하고 있지 않다는 의미로.

Serverless를 쓰는 이유?

  • 비용 <-- 압도적 이유
    • 1. 이중화 불필요
    • 2. Auto-scaling
    • 상기 1, 2의 이유로 인해, 시간당 비용으로 계산해봐도 EC2와 같은 인스턴스 리소스에 비해 압도적으로 저렴하다.
    • 물론 이건, 엄청난 양의 요청이 들어오지 않을 때 이야기다*.
    • *일정량 이상의 양이 꾸준하게 들어오는 서비스라면, Serverless보다 EC2를 쓰는것이 더 경제적인 순간이 존재한다.
  • 구축의 용이성 <-- 꽤 중요한 이유
    • 앞서 설명한 것처럼, 개발자는 코드만 쓰면 되는 수준이다.
    • 때문에 당연히 구축 속도가 빨라진다.

Serverless 종류

  • 대표적으로 두 가지가 있다 할 수 있겠다. AWS Lambda, Azure Functions

AWS Lambda

  • 참고
    • Lambda 컨테이너가 들어온 요청에 의해 한번 올라가면, 요청이 완료되도 바로 컨테이너가 내려가지 않고, 내려올때까지 시간이 보통.. 15~30분 정도?인것 같다. 경험적으로.

기초적인 Serverless Architecture 구성 예시

  • (추가 예정)

단점은 없을까?

  • Cold start
    • 최근 이야기
      • Cold start 문제는 상당 부분 개선 되었다.
      • 그렇다고 아예 없다는건 아니다. 자세한 것은 다음 기회에..
      • 트렌드는 하이브리드 (Lambda + EC2와 같은 구성)
반응형

댓글