<div class = "emotion">Happy</div>
위와같은 html태그가 존재한다고하면, div는 요소노드, class = "emotion"은 어트리뷰트노드, Happy는 텍스트 노드로 변환된다.( 어트리뷰트노드는 요소노드를 가리키고, 텍스트노드는 요소노드의 자식노드로 구성된다)서버가 없다는 의미보단 "서버의 존재를 신경쓰지않아도 된다"를 의미한다. 데이터를 관리해주고, 웹 어플리케이션을 실행시는 등의 일을직접 하지않아도 된다. 서버리스는 BaaS와 FaaS로 나뉜다.
보통 우리가 웹어플리케이션을 만들떄 백엔드와 프론트엔드로 나뉘어서 개발을한다.이떄 백엔드의 역할을 대신해주는걸 의미한다. 유저가 늘어나게되면 서버의 확장도 고려해야하고, 보안성도 생각해야하지만 이러한 작업을 대신해준다. 대표적인 예로는 Firebase가 존재한다. 이 firebase는 앱 개발에 필요한 기능들을 (데이터베이스,소셜서비스연동(로그인),파일시스템등) API형태로 제공한다.
백엔드쪽의 코드를 서버리스 제공자의 서버에 업로드하게되면
서버는 업로드된 코드들을 함수단위로 쪼개서 대기상태로 둔다. 이상태에서 요청이 들어올떄마다 함수를 실행시키고 작업이 끝나게되면 다시 대기상태로 돌려놓는다. 비용은 함수가 요청되는 횟수를 기준으로 청구된다.