서버리스 시스템

홍성준·2022년 12월 19일
0

서버리스

서버리스는 개발자가 별도로 서버를 관리할 필요가 없고, 자동으로 애플리케이션을 빌드하고 실행하도록 해주는 방법이다. 서버리스라 서버가 없다고 생각할 수 있지만, 그저 특정 작업을 수행하기 위해 컴퓨터를 vm에서 서버를 설정하고, 이를 통하여 처리하는 것이 아니다라는 것을 의미한다.

Baas and Faas

Baas는 Backend as a Service의 약자이다. 서버개발을 하다보면 고려해야할 사항이 굉장히 많다. 유저가 늘어나면 확장을 고려해야 하고, 침입자에 의한 공격 또한 고려사항이다. 그래서 나온 서비스가 Firebase와 같은 Baas 서비스이다. 앱 개발을 하는데 필요한 기능들을 api로 제공해 줌으로서, 개발자들이 서버를 개발하지 않고도 필요한 기능을 쉽게 구현할 수 있게 해주고, 비용은 사용한 만큼 지불하게 된다. 확장 또한 이용자가 많아지면 알아서 확장을 하게 된다.

그래서 이 서비스를 이용하면 개발 시간의 단축, 확장 작업 불필요함이 제일 큰 장점이다. 백엔드에 대한 지식이 부족하더라도 빠른 속도로 개발이 가능하고, 실시간 db를 사용해 데이터의 입출력이 발생했을 경우 소켓을 사용해 클라이언트에게 바로 반영을 시켜주는 기능이 있다.

Faas는 프로젝트를 여러개의 함수로 쪼개서, 규모가 크고 분산된 자원에 준비해둔 함수를 등록하고, 함수들이 실행되는 횟수만큼 비용을 내는 방식이다. 등록한 함수는 특정 이벤트를 통해 호출이 되는데, 주기를 설정해 5분, 10분 이런식으로 실행이 되게 하는 것이 가능하고, 콘솔을 통해 직접 호출하는 것도 가능하다.

장점은 서버를 하루종일 틀어놓는 것이 아닌 필요할 때만 함수가 호출되어 처리되며 함수가 호출된 만큼만 비용이 드므로 비용을 절약할 수 있다. 또한 네트워크, 장비들에 대한 구성작업을 신경을 써주지 않아도 되고, 보안도 신경을 써주지 않아도 된다. 위에서 말했다시피 함수를 사용한만큼만 비용을 지불하면 되기 때문에 확장성을 고려하지 않아도 된다. 1개만 호출했다면 1개에 대한 사용값만 10000개를 호출했다면 10000개에 대한 비용만 지불하면 되기 때문에 그냥 확장이 된다.

profile
안녕하세요

0개의 댓글