서버리스 웹어플리케이션

oune·2021년 12월 5일
0

서버리스 모델?

개발자가 서버의 구성, 유지관리, 업데이트를 더이상 고려하지 않아도 되는 비용효율적이고 확장가능한 솔루션.

서버리스의 개요

작성한 코드가 어떻게 실행 되는지를 추상화 하는 방법
서버 유지보수는 개발자가 하지 않음
하지만 개발 자동화를 위해서 서버리스 에서 데브옵스가 하는 역활은 작지만 여전히 필요함.

서버리스에 관해

사용자가 정보를 요청하는 이벤트가 발생하면
트리거는 코드를 선택하고 실행하여 응답을 검색하도록 클라우드 공급업체에게 알림.
기존 시스템에서는 요청에 응답하기 위해서 코드가 항상 실행 되어있었어야했음.
서버리스 모델은 사용자가 사용한 시간단위로 비용을 지불하게 됨.

PaaS, Platform as a Service

Paas 는 개발자가 서버에 대한 걱정없이 애플리케이션을 사용할수 있게 해주는 클라우드 컴퓨팅 모델, 개발자가 서버를 관리 하지 않는 다는 개념에서는 유사하지만
Paas 역시도 이용자가 없는 동안에도 항상 코드를 실행하고 있음.

IaaS, Infrastructure as a Service

가상머신을 클라우드 솔루션에 배포하는 또다른 전략, 게스트 운영체제에 필요한 모든것을 클라우드 솔루션에 구성 할 수 있음.
사용여부에 상관없이 시간당 동일한 비용을 사용

SaaS Software as a Service

응용프로그램을 웹브라우저를 통해서 제공하는 방식 대표적인 예로 office 365가 있음.

온프레미스

물리적 컴퓨터를 구입해 회사 내부에서 실행하는 솔루션
서비스 사용량이 증가 하거나 감소 할경우 서비스 추가 구입이나, 유휴 서버 발생 가능성이 있음.

서버리스의 주요 목적

  • 필요한 만큼 확장
  • 고가용성: 하드웨어에 장애가 발생하더라도 여분의 시스템 구성요소를 통해 지속적인 시스템 작동을 보장하는 컴퓨터 하드웨억나 소프트웨어의 기능을 뜻하는 내결함성이 있으며 항상 온라인 상태 여야한다.
  • 비용 효율설 유휴서버에 대해서는 비용을 지불하지 않는다.

서버리스의 장점

  • 빠른 확장성
  • 고가용성
  • 자원의 효율적 사용
  • 운영 비용 절감
  • 인프라가 아닌, 업무에 집중
  • 시스템 보안은 아웃소싱
  • 지속적인 배포
  • 마이크로 서비스에 적합한 기술
  • 스타트업 기업에 유리한 비용 모델

서버리스의 단점

  • 긴 대기 시간
  • 제약 조건
  • 숨겨진 비효율성
  • 공급업체 종속성
  • 어려운 디버깅
  • 원자 단위 배포
  • 불확실성

reference

디에고 자농. 서버리스 웹 애플리케이션 구축
권영환. 아마존 웹서비스

profile
어느새 신입 개발자

0개의 댓글