티스토리 뷰

Cloud

Serverless란?

su3inni 2023. 6. 28. 23:18

1. Server + less ?

1-1. Server

  • 언어적 의미
    • 특정 역할에 특화된 것을 의미합니다.
     
  • Physical Server / Logical Server
    • 서버의 의미는 컴퓨터 자체 하드웨어를 가리키는 경우도 있고 : Physical Server
    • 컴퓨터에서 동작하고 있는 소프트웨어를 가리키는 경우가 있습니다 : Logical Server

 

일반적으로 분할형 아키텍처에서 이용되는 컴퓨터를 서버라고 합니다.

 

 

서버를 소유하는 경우라면 아래와 같은 사항을 고려해야합니다. 

  • 서버의 물리적인 측면 관리
    • 서버의 구매, 설치, 전원 관리, 온도 조절을 해야합니다.
  • 서버에 운영체제 OS를 설치 및 관리
    • 운영체제의 설치, 패치, 보안 패치, 구성관리에 신경써야합니다.
  • 서버의 네트워크 관리
    • IP 주소 할당, 네트워크 구성, 방화벽 설정, 라우팅 구성을 필요로 합니다.
  • 서버의 보안 유지 및 관리 
    • 악성 코드 및 침입 방지 시스템 설치, 모니터링, 보안 패치을 필요로 합니다.
  • 서버 장애시 신속하게 대응 및 복구 

이 외에도 서버 유지 보수, 하드웨어 및 소프트웨어 업그레이드, 라이선스 관리, 비용 관리 등 다양한 관리 작업이 필요할 수 있습니다. 이러한 관리 작업은 전문적인 IT 관리자 혹은 다른 서비스 업체에 의해 수행되어야하는 간단하지 않은 작업입니다.

1-2. Cloud Server

Cloud 에서 제공하는 Server클라우드는 인터넷을 통해서 사용자에게 서버, 소프트웨어 그리고 데이터베이스를 제공합니다.

클라우드의 물리적 서버는 전 세계 데이터센터에 위치하고 있고 사용자는 직접 물리적 서버를 관리하거나 소유하지 않고 인터넷을 통해서 접근할 수 있습니다.

1-3. Serverless

  • 클라우드 서버리스(Cloud Serverless)는 애플리케이션을 개발하고 배포하는 방식 중 하나로
  • 서버 인프라를 관리(인프라 설정, 확장성 및 가용성과 같은 서버 관리 작업)할 필요 없이 클라우드 환경에서 실행할 수 있는 컴퓨팅 모델을 의미합니다. 

네이버 클라우드에서 제공하는 Serverless 서비스 이름은 Cloud Functions이며 AWS에서는 Lambda 서비스를 제공하며 이후 두 가지 서비스를 비교해볼 예정입니다. 

그 밖에 Microsoft Azure의 Azure Functions, Google Cloud Platform의 Cloud Functions로 클라우드 제공업체에서 제공합니다.

 

2. 클라우드에서 제공하는 서버와 서버리스의 차이

  • 클라우드 서버는 일반적으로 가상 머신(VM) 또는 컨테이너 형태로 실행되는 서버입니다.
    • 사용자가 서버 인스턴스의 크기, 운영 체제, 네트워크 구성 등을 구성할 수 있으며 관리, 유지 보수 및 확장에 대한 책임은 사용자에게 있습니다.
  • 클라우드 서버리스 서버 인프라를 직접 관리할 필요 없이 애플리케이션 코드의 실행에 집중할 수 있는 클라우드 환경입니다.
    • 사용자는 작성한 애플리케이션 코드가 실행되기 위해 필요한 리소스만 할당으며 클라우드 제공업체는 리소스 할당, 확장, 관리 및 과금에 대한 책임을 진다.

 

3. Serverless의 특징

  • 이벤트 기반 실행 서버리스 애플리케이션은 특정 이벤트(예: HTTP 요청, 데이터베이스 업데이트, 메시지 큐 등)에 의해 호출됩니다.
  • 개발자는 이벤트에 대한 응답으로 실행될 함수를 작성하면 됩니다.
  • 기본적으로 서버리스는 트리거를 통해 함수가 호출됩니다.
  • 서버리스 애플리케이션은 요청이 증가할 때 자동으로 확장됩니다. 서버리스 플랫폼이 애플리케이션의 요구에 따라 자원을 동적으로 조정하여 효율적으로 처리할 수 있도록 합니다. 
  • 서버리스는 실행한 함수의 작업량에 따라 과금됩니다. 함수가 실행되는 시간과 사용한 리소스에 따라 비용이 청구되며 사용한 만큼만 비용을 지불하게 되므로 효율적인 비용 관리가 가능합니다.

 

세 줄 요약하자면.. 

  • 사용자는 애플리케이션 코드를 함수(Function) 단위로 작성하고, 이벤트가 발생할 때마다 해당 함수가 실행됩니다.
  • 클라우드 서버리스는 이벤트 중심 애플리케이션, 마이크로서비스, 배치 작업 등을 실행하는 데 적합하며 개발자는 서버를 프로비저닝하고 구성하는 인프라 작업에서 벗어나 애플리케이션 개발에 더욱 집중할 수 있는 환경을 만들 수 있습니다.
  • 서버리스의 장점이자 특징을 잘 활용하면 비용효율적으로 개발/운영할 수 있습니다.

 

 

Reference

Cloud : https://www.cloudflare.com/ko-kr/learning/cloud/what-is-the-cloud/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31