이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
서버리스는 개발자가 기본 인프라를 관리하거나 유지하지 않고도 애플리케이션을 구축하고 실행할 수 있는 클라우드 컴퓨팅 실행 모델입니다. 기본 서버 인프라를 관리할 필요 없이 클라우드 기반 플랫폼에서 애플리케이션을 배포하고 실행하는 방법입니다.
서버리스는 개발자가 기본 인프라를 관리하거나 유지하지 않고도 애플리케이션을 구축하고 실행할 수 있는 클라우드 컴퓨팅 실행 모델입니다. 개발자는 서버 인프라를 관리하는 대신 애플리케이션 코드 자체에 집중할 수 있습니다.
서버리스 컴퓨팅에서 애플리케이션은 이벤트에 의해 트리거되는 개별 기능으로 분류됩니다. 그런 다음 이러한 기능은 관리 환경(일반적으로 클라우드)에서 이벤트가 트리거될 때만 실행됩니다. 이를 통해 개발자는 서버 설정 및 관리에 대해 걱정할 필요 없이 빠르고 쉽게 응용 프로그램을 만들 수 있습니다.
서버리스 컴퓨팅은 개발자가 사용한 리소스에 대해서만 비용을 지불하는 "종량제" 모델을 기반으로 합니다. 따라서 값비싼 서버 인프라에 투자하고 싶지 않은 기업에게 매력적인 옵션입니다.
서버리스 컴퓨팅은 2000년대 초부터 있었지만 Amazon Web Services(AWS) 및 Microsoft Azure와 같은 클라우드 컴퓨팅 플랫폼이 등장하고 나서야 널리 사용되었습니다. 이러한 클라우드 플랫폼을 통해 개발자는 서버리스 애플리케이션을 더 쉽게 구축하고 배포할 수 있습니다.
2014년 Amazon Web Services는 개발자가 기본 인프라를 관리하지 않고도 코드를 작성하고 배포할 수 있는 서버리스 플랫폼인 AWS Lambda를 출시했습니다. 이것은 서버리스 컴퓨팅 개발의 주요 이정표였으며 Google Cloud Functions 및 Microsoft Azure Functions와 같은 다른 서버리스 서비스의 출현으로 이어졌습니다.
서버리스 컴퓨팅에는 개발자에게 매력적인 몇 가지 주요 기능이 있습니다.
첫째, 설치 및 배포가 쉽습니다. 개발자는 서버 관리에 대해 걱정할 필요 없이 빠르고 쉽게 코드를 작성하고 배포할 수 있습니다.
둘째, 비용 효율적입니다. 개발자는 사용한 리소스에 대해서만 비용을 지불하므로 비즈니스에 비용 효율적인 옵션이 됩니다.
셋째, 확장성이 뛰어납니다. 서버리스 애플리케이션은 애플리케이션의 요구 사항에 따라 빠르고 쉽게 확장 또는 축소할 수 있습니다.
마지막으로 안전합니다. 서버리스 애플리케이션은 클라우드 플랫폼에서 관리 및 보호되므로 개발자는 보안에 대해 걱정할 필요가 없습니다.
서버리스 애플리케이션의 예로는 사용자가 파일을 업로드하는 것과 같은 이벤트에 의해 트리거되는 웹 애플리케이션이 있습니다. 그런 다음 응용 프로그램은 기본 서버 인프라 없이도 파일을 처리하고 데이터베이스에 저장할 수 있습니다.
서버리스 컴퓨팅의 주요 이점은 설치 및 배포가 쉽고 비용 효율적이며 확장성이 뛰어나고 안전하다는 것입니다. 그러나 서버리스 컴퓨팅에는 몇 가지 단점이 있습니다.
주요 단점 중 하나는 응용 프로그램을 디버깅하고 문제를 해결하기 어려울 수 있다는 것입니다. 애플리케이션 코드가 관리되는 환경에서 실행되기 때문에 오류를 식별하고 수정하기 어려울 수 있습니다.
또 다른 단점은 서버리스 애플리케이션이 장기적으로 더 비쌀 수 있다는 것입니다. 개발자는 사용하는 리소스에 대해서만 비용을 지불하므로 비용이 빠르게 합산될 수 있습니다.
서버리스 컴퓨팅은 특정 유형의 애플리케이션에 적합하지 않다고 주장하는 일부 개발자와 함께 논란의 대상이었습니다. 이는 서버리스 애플리케이션이 사용할 수 있는 리소스의 양이 제한되어 있어 많은 양의 리소스가 필요한 애플리케이션에 적합하지 않을 수 있기 때문입니다.
서버리스 컴퓨팅은 IaaS(Infrastructure-as-a-Service), PaaS(Platform-as-a-Service) 및 FaaS(Function-as-a-Service)와 같은 다른 클라우드 컴퓨팅 모델과 관련이 있습니다. IaaS는 사용자가 클라우드 공급자로부터 가상 머신 및 기타 인프라 구성 요소를 임대하는 클라우드 컴퓨팅 모델입니다. PaaS는 사용자가 기본 인프라를 관리할 필요 없이 클라우드 플랫폼에서 애플리케이션을 개발하고 배포하는 클라우드 컴퓨팅 모델입니다. 마지막으로 FaaS는 사용자가 기본 인프라를 관리할 필요 없이 이벤트에 대한 응답으로 코드를 배포하고 실행하는 클라우드 컴퓨팅 모델입니다.
서버리스 컴퓨팅은 자주 사용되는 또 다른 클라우드 컴퓨팅 모델인 컨테이너 기반 컴퓨팅과 비교됩니다. 컨테이너 기반 컴퓨팅은 개발자가 기본 인프라를 관리할 필요 없이 애플리케이션을 배포하고 실행할 수 있다는 점에서 서버리스 컴퓨팅과 유사합니다. 그러나 컨테이너는 개발자가 기본 인프라에 관계없이 모든 유형의 애플리케이션을 실행할 수 있으므로 서버리스 기능보다 더 유연합니다.
서버리스 컴퓨팅은 비교적 새로운 기술이지만 사용 편의성과 비용 효율성으로 인해 개발자들에게 빠르게 인기를 얻고 있습니다. 값비싼 서버 인프라에 투자하고 싶지 않은 기업에게 매력적인 옵션이며 향후 더욱 인기를 끌 가능성이 높습니다.