FaaS(Function as a Service): 알아야 할 모든 것

게시 됨: 2022-06-09

SaaS에 대해 들어본 적이 있을 것이고 PaaS 및 IaaS에 대해 들어 본 적이 있을 것입니다. 그러나 FaaS(Function as a Service)에 대해 들어본 적이 있습니까?

FaaS 시장은 빠르게 성장하고 있습니다. Allied Market Research에 따르면 시장 규모는 2018년에 30억 1천만 달러였습니다. 이 수치는 2026년까지 240억 달러로 성장할 것으로 예상됩니다. 이는 업계가 2020년에서 2026년까지 29.7%의 CAGR(연간 복합 성장률)로 성장할 것임을 의미합니다.

그 성장을 보면 FaaS가 꽤 큰 문제라고 해도 과언이 아닙니다.

그러나 FaaS는 무엇이며 어떻게 작동합니까? 이러한 질문에 답하는 데 도움이 되도록 이 기사에서는 FaaS의 기본 사항, 사람들이 FaaS를 사용해야 하는(그리고 사용해서는 안 되는) 이유, 2022년 기준 전 세계 FaaS 시장 현황을 다룹니다.

갑시다.

FaaS(Function as a Service)란 무엇입니까?

FaaS(Function as a Service)는 개발자가 애플리케이션 인프라를 유지 관리할 필요를 제거하여 더 나은 작업을 수행할 수 있도록 지원하는 클라우드 컴퓨팅의 한 형태입니다. 개발자가 FaaS를 활용할 때 FaaS 플랫폼을 사용하여 개발자용 애플리케이션 패키지를 빌드, 실행 및 감독합니다.

이 시점에서 FaaS가 서버리스 컴퓨팅처럼 들릴지 모르지만 실제로 그렇습니다. 서버리스 컴퓨팅을 통해 개발자는 관리 데이터베이스, API 게이트웨이, 스토리지, 메시징 및 기타 인프라를 제3자 제공업체에 아웃소싱할 수 있습니다. FaaS는 일종의 서버리스 컴퓨팅입니다.

서버리스 컴퓨팅 작동 방식을 보여주는 이미지
서버리스 컴퓨팅 작동 방식( 출처: iviewlabs)

FaaS에 대해 읽는 것은 이번이 처음일 수 있지만 실제로 FaaS를 접했을 가능성이 큽니다. Amazon의 Alexa와 같은 많은 인기 있는 프로그램과 앱이 FaaS를 사용합니다.

Alexa에 익숙하다면 "기술"을 구축하여 Alexa의 기능을 확장할 수 있다는 것을 알게 될 것입니다. 앱과 마찬가지로 기술을 통해 Alexa는 기본 구성 이외의 작업을 수행할 수 있습니다. 앱에서 알림 확인, 새 채팅 시작 또는 사용자 지정 오디오 재생과 같은 것입니다.

Amazon은 AWS Lambda를 통해 Alexa의 모든 기술을 실행합니다. 새 기술을 구축할 때 AWS Lambda를 통해 배포하는 기능으로 생성합니다. 그러면 AWS Lambda가 함수를 실행하고 보안 및 데이터베이스 관리와 같은 인프라 문제를 처리합니다.

그렇다면 FaaS는 어떻게 단계별로 작동합니까? 다음에 다루도록 하겠습니다.

FaaS 란 무엇입니까? 이 가이드는 당신이 알아야 할 모든 것을 설명합니다 Click to Tweet

FaaS는 어떻게 작동합니까?

FaaS를 이해하려면 두 가지 핵심 용어를 알아야 합니다.

  1. "모놀리식 아키텍처" = 다른 응용 프로그램과 독립적으로 실행되는 독립형 응용 프로그램입니다. 이러한 애플리케이션은 사용자 인터페이스, 비즈니스 기능 및 데이터 인터페이스를 사내에서 관리합니다. 모놀리식 아키텍처 코드는 다른 코드 조각에 의존합니다.
  2. "마이크로서비스 아키텍처" = 몇 가지 작은 작업을 처리하는 코드 조각입니다. 이러한 마이크로서비스는 별개입니다(전체 애플리케이션을 함께 구성하지만).

다음은 모놀리식 아키텍처와 마이크로서비스 아키텍처가 어떻게 다른지 보여주는 다이어그램입니다.

모놀리식 아키텍처와 마이크로서비스 아키텍처
모놀리식 아키텍처와 마이크로서비스 아키텍처 비교( 출처: BMC)

함수를 실행하거나 업데이트할 때 마이크로 서비스와 모놀리식 아키텍처 간의 주요 차이점을 실제로 볼 수 있습니다. 모놀리식 아키텍처에서는 전체 프로그램이 한 번에 기능을 실행합니다(예: 앱 업데이트). 마이크로 서비스 아키텍처를 사용하면 마이크로 서비스 기능을 독립적으로 실행할 수 있습니다.

FaaS는 마이크로서비스 아키텍처가 작동하는 데 도움이 되는 것입니다.

각각의 새로운 마이크로서비스 기능을 실행할 때 기능을 생성하기만 하면 됩니다. 그러면 FaaS 공급자가 기능을 가져와 실행하고 그때부터 기능 관리를 처리합니다.

FaaS는 사용자의 입력으로 작동하는 도구이므로 각 FaaS 기능은 하나의 작업만 담당해야 한다는 점에 유의해야 합니다. 그런 다음 이 작업은 해당 트리거가 활성화될 때 실행됩니다. 예를 들어, 사용자의 영수증 사본을 생성하는 기능은 사용자가 "영수증 다운로드"를 누른 경우에만 작동합니다.

FaaS는 "이벤트 기반 실행 모델"을 사용합니다. 즉, 기능이 트리거될 때만 활성화됩니다. 마찬가지로 백그라운드에서 실행되지 않습니다.

그렇다면 FaaS는 또 무엇을 할 수 있습니까?

FaaS에는 어떤 서비스가 포함됩니까?

모든 제공자가 다르지만 FaaS 제공자는 일반적으로 다음 서비스를 제공합니다.

  • 인증 서비스. 이들은 프로그램 사용자의 로그인 및 인증 프로세스를 처리합니다.
  • 데이터베이스 서비스. 이는 프로그램에서 사용할 수 있도록 데이터베이스에 정보를 정리하는 데 도움이 됩니다. FaaS 제공자는 귀하를 위해 일부 데이터베이스 유지 관리를 관리합니다.
  • 파일 저장. FaaS 공급자는 앱에 대한 데이터와 파일을 저장할 수 있으므로 자체 서버에서 호스팅할 필요가 없습니다.
  • 보고. FaaS 공급자는 프로그램의 오류 또는 보안 위협을 감시하고 잘못된 것을 발견하면 경고할 수 있습니다.

전반적으로 이러한 서비스는 개발자가 더 스마트하게 작업하는 데 도움이 됩니다. 다음으로 FaaS의 장점을 살펴보겠습니다.

FaaS 모델의 장점

FaaS를 사용하면 개발자는 인프라나 배포에 대해 걱정할 필요가 없으며 애플리케이션 로직만 작성하면 됩니다. 따라서 FaaS를 현재 구현하면 프로그램을 구축하고 배포하는 데 걸리는 시간을 크게 줄일 수 있습니다.

FaaS를 사용하면 구축 및 배포도 더 쉽습니다. 프로비저닝 시간은 한 번에 몇 시간이 아니라 몇 초밖에 걸리지 않습니다. 또한 특정 언어나 리소스에 국한되지 않습니다. FaaS 공급자는 대부분의 언어로 코드를 실행할 수 있으며 공급자가 제공하는 캐시 및 데이터베이스를 사용하여 구축 프로세스의 속도를 높일 수 있습니다.

FaaS 모델은 확장성이 뛰어나고 용량 계획이 훨씬 쉽습니다. 더 많은 리소스가 필요한 경우 FaaS 제공업체의 지침을 참조하여 사용을 업그레이드하면 됩니다. 많은 FaaS 제공업체는 수평적 확장을 제공합니다. 즉, 사용량이 급증하는 경우 공급자는 급증에 대처하기 위해 추가 리소스를 프로비저닝하기만 하면 됩니다.

또한 유지 관리, 재해 복구(DR) 또는 보안에 대해 걱정할 필요가 없습니다.

마지막으로 FaaS는 매우 효율적입니다. 공급자는 사용한 리소스에 대해서만 비용을 청구하므로 FaaS에 대해 비용을 자체 하드웨어보다 훨씬 적게 지불할 가능성이 높습니다. 마찬가지로 함수는 백그라운드에서 실행되지 않고 대신 유휴 상태로 유지됩니다. 유휴 상태에 대해 비용을 지불할 필요도 없습니다.

그렇다면 FaaS는 만능인가? 좀 빠지는.

FaaS 모델의 단점

FaaS 모델은 프로그램 개발과 관련된 가장 큰 문제 중 일부를 제거하지만 제어를 상당히 제한해야 합니다. 코드에서 사용하는 서버, 보안 또는 데이터베이스에 대해 많은 결정을 내릴 수는 없습니다. 대신 공급자에게 달려 있습니다.

비슷한 맥락에서 디버깅은 시스템을 완전히 제어할 수 없기 때문에 종종 약간 더 어렵습니다. FaaS 코드가 항상 테스트 환경으로 원활하게 변환되지 않기 때문에 테스트도 어렵습니다.

또한 FaaS 공급업체의 엄격한 요구 사항을 준수해야 합니다. FaaS 기능은 하나의 작업만 완료할 수 있으므로 이에 익숙하지 않은 경우 귀하와 귀하의 팀이 코드를 작성하는 방법을 변경해야 합니다. 마찬가지로 FaaS 배포에 적합하도록 기존 앱의 코드를 다시 작성해야 할 수도 있습니다. 따라서 FaaS는 종종 이전 프로그램보다 새 프로그램에 더 적합합니다.

마지막으로, FaaS를 선택한다는 것은 종종 단일 공급업체에 장기적으로 전념하는 것을 의미합니다. 프로그램을 구축할 때 공급자의 시스템 및 요구 사항과 함께 작업합니다. 당연히 공급자를 변경하면 일부 작업을 다시 수행해야 하고 잠재적으로 기능이 중단될 수 있습니다.

장점 대 단점

장점 단점
더 빠르게 코드 배포

프로비저닝에는 밀리초가 소요됩니다.

모든 언어로 된 코드

자동 재해 복구(DR)

비용 효율적

확장 가능

서버에 대한 통제력 상실

디버깅이 더 어렵다

테스트 시간이 더 오래 걸립니다.

당신은 당신의 공급 업체에 잠겨 있습니다

FaaS에 적합한 코드를 작성해야 합니다.

FaaS 대 SaaS, PaaS 및 IaaS

이제 FaaS에 대해 더 많이 알게 되었으므로 FaaS가 IaaS, SaaS 및 PaaS와 같은 다른 XaaS(서비스로서의 모든 것) 옵션과 어떤 관련이 있는지 궁금할 것입니다.

IaaS, PaaS 및 FaaS 서비스는 유사한 목적을 가지고 있습니다. 즉, 기업이 애플리케이션을 보다 저렴하고 효과적으로 관리할 수 있도록 지원합니다. 그러나 각 옵션은 다른 것을 제공합니다.

IaaS(Infrastructure as a Service)를 사용하면 RAM 및 CPU와 같은 컴퓨팅 성능을 임대할 수 있습니다. IaaS를 사용하면 여전히 사내에서 일부 애플리케이션 기능(예: 보안)을 관리해야 합니다.

PaaS(Platform as a Service)를 사용하면 하드웨어 및 소프트웨어 도구를 임대하여 앱을 구축할 수 있습니다. 일반적인 예는 AWS Elastic Beanstalk입니다.

IaaS 및 PaaS와 달리 FaaS는 공간을 임대하여 기능을 독립적으로 실행할 수 있습니다. 이 기능은 확장성을 높입니다.

세 가지가 어떻게 다르게 작동하는지 간략하게 요약하면 다음과 같습니다.

FaaS가 IaaS 및 PaaS와 어떻게 다른지 보여주는 이미지
FaaS가 IaaS 및 PaaS와 다른 점 ( 출처: newstack.io)

SaaS(Software as a Service)는 앱이나 프로그램 구축에 적합하지 않습니다. 대신 애플리케이션을 임대할 수 있으므로 사내에서 구축할 필요가 없습니다. 데이터 분석 도구에서 WordPress SEO 플러그인에 이르기까지 수천 개의 SaaS 옵션을 사용할 수 있습니다.

시장 규모, 점유율 및 주요 공급업체

FaaS의 성장은 조직이 새로운 프로그램을 개발하는 방식의 전반적인 변화를 반영합니다.

지난 수십 년 동안 개발자들은 대규모 시스템을 다년간 프로젝트로 만들었습니다. 오늘날 많은 조직에서 개발 작업(DevOps) 접근 방식을 선호합니다. DevOps는 지속적으로 프로그램을 조금씩 개발하고 개선하는 것을 우선시합니다.

DevOps 작동 방식을 보여주는 이미지
DevOps 작동 방식( 출처: Atlassian)

마찬가지로 조직은 더 안전하고 효율적인 작업을 위해 클라우드 서비스를 점점 더 많이 사용하고 있습니다. Oracle에 따르면 조직은 곧 클라우드에 600배 더 중요한 데이터를 저장할 것입니다.

Statista의 최고 경영진 7,164명으로부터 수집한 데이터에서 이러한 추세를 확인할 수 있습니다. 2019년부터 2021년까지 단일 공용 또는 사설 클라우드 서비스의 사용이 줄어들었고 대부분의 조직에서 다중 클라우드 솔루션을 채택했습니다.

클라우드 기술의 사용을 보여주는 다이어그램
클라우드 기술 사용( 출처: Statista)

클라우드 컴퓨팅에 대한 투자도 증가하고 있습니다. 전 세계 수백 개의 대기업에 대한 Statista의 또 다른 연구에 따르면 설문에 응한 기업의 83%가 매년 퍼블릭 클라우드 컴퓨팅에 120만 달러 이상을 투자했습니다. 이 수치는 2019년의 50%에서 증가한 수치입니다.

사람들은 FaaS가 미래 경쟁력이 있고 확장 가능하기 때문에 FaaS로 눈을 돌리고 있습니다. 유사하게, 더 나은 생산성과 성능, 더 빠른 앱 출시 시간, 새로운 프로그램을 생성하는 더 비용 효율적인 방법을 제공합니다.

이러한 이점은 은행(또는 "BFSI" 조직), 소비재 및 소매, 엔터테인먼트, 통신, 정보 및 기술 지원 서비스(ITES), 의료 및 제조 분야의 조직을 비롯한 많은 산업을 끌어들입니다. 각 산업이 FaaS 시장에 기여하는 정도는 다음과 같습니다.

어떤 산업에서 Faas를 사용하는지 보여주는 이미지
FaaS를 사용하는 산업 분야( 출처: MarketsandMarkets)

SaaS와 달리 조직에서 선택할 수 있는 수천 개의 FaaS 공급업체가 없습니다. 대다수의 FaaS는 AWS Lambda, Azure Functions, IBM Cloud Functions, Google Cloud Functions, Alibaba Cloud 및 Cloudflare Workers를 비롯한 주요 업체에서 제공하는 솔루션을 사용합니다.

이제 이러한 각 제공자를 다룰 것입니다.

AWS 람다

2014년 11월 Amazon에서 출시한 AWS Lambda는 매우 인기 있는 FaaS 도구입니다. 2021년 4분기 기준으로 클라우드 사용자의 33%가 AWS 서비스를 사용했습니다.

AWS 람다 홈페이지
AWS 람다

AWS Lambda는 Node.js, C#, Python, Ruby, Go, Java 및 Powershell을 비롯한 다양한 프로그래밍 언어에 대한 기본 지원을 제공합니다. "FaaS(Function as a Service)란 무엇입니까?" 에서 언급했듯이 Alexa는 기술에 AWS Lambda를 사용합니다.

특징 및 기능:

  • 다른 AWS 도구에 연결
  • Amazon CloudWatch로 프로그램 성능 모니터링
  • SaaS 도구와의 200개 이상의 통합
  • 도커 컨테이너를 배포할 수 있습니다(AWS는 2020년 12월에 이 기능을 도입했습니다).

장점:

  • Lambda API 또는 Amazon API 게이트웨이를 사용하여 자체 백엔드를 구축할 수 있습니다.
  • 함수를 컨테이너 이미지로 배포할 수 있습니다.
  • Amazon RDS 프록시를 사용하여 관계형 데이터베이스에 연결할 수 있습니다.
  • 각 기능에 할당할 메모리 양을 선택할 수 있습니다.

단점:

  • AWS를 아직 사용하지 않는다면 설정하는 데 많은 시간과 노력이 필요합니다.

마이크로소프트 애저 기능

Microsoft Azure Functions는 Microsoft가 2010년 2월에 "Windows Azure"로 처음 ​​출시한 Microsoft Azure의 기능입니다. Azure Functions를 사용하면 FaaS를 통해 이벤트 기반 코드를 실행할 수 있습니다. 2021년 4분기 기준으로 클라우드 사용자의 21%가 Azure를 사용했습니다.

마이크로소프트 애저 펑션 홈페이지
마이크로소프트 애저 기능

특징 및 기능:

  • Azure Logic Apps의 250개 이상의 커넥터에 기능을 연결할 수 있습니다.
  • JavaScript, C#, F#, Powershell, PHP, Python 및 Java 지원
  • 신규 사용자를 위한 많은 튜토리얼 제공
  • Azure Application Insights를 통해 프로그램을 분석하는 데 도움이 됩니다.

장점:

  • Azure Functions는 통합 프로그래밍 모델을 사용합니다.
  • DevOps를 사용하는 팀에 적합
  • 여러 요금제 사용 가능

단점:

  • Azure Functions는 Node.js 또는 Ruby를 지원하지 않습니다.

구글 클라우드 기능

Google Cloud는 AWS 및 Azure에 이어 세 번째로 인기 있는 클라우드 컴퓨팅 솔루션입니다. 현재 10%의 시장 점유율을 가지고 있습니다. Google Cloud Functions는 다양한 용도로 100개 이상의 제품을 제공하는 서비스인 Google Cloud의 FaaS 기능입니다.

구글 클라우드 기능
구글 클라우드

특징 및 기능:

  • 디버깅 및 로깅이 Google Cloud Functions에 통합됩니다(CloudTrace 및 CloudDebugger를 통해).
  • Google 어시스턴트, Google Cloud, Firebase 또는 HTTP를 사용하는 모든 애플리케이션의 트리거를 사용합니다.
  • Google Cloud Functions는 많은 Google 파트너와 통합됩니다.

장점:

  • 멀티 클라우드 또는 하이브리드 기능을 원하는 사람들이 사용할 수 있습니다.
  • 오픈 소스이므로 원하는 경우 다른 FaaS 플랫폼으로 쉽게 이동할 수 있습니다.
  • 사용하기가 매우 쉽습니다
  • Google은 신규 사용자에게 많은 무료 리소스를 제공합니다.

단점:

  • Google Cloud Function의 컨테이너 기반 서비스는 다른 FaaS 제공업체보다 덜 고급입니다.

IBM 클라우드

IBM Cloud는 IBM이 2013년 6월에 구입한 공용 클라우드 플랫폼인 SoftLayer에서 나왔습니다. IBM은 이 플랫폼을 Bluemix로 바꾸고 2014년 7월 PaaS 도구로 출시했습니다. 그 이후로 IBM은 서비스 브랜드를 IBM Cloud로 변경하고 기능을 확장했습니다. FaaS.

다운타임 및 WordPress 문제로 어려움을 겪고 계십니까? Kinsta는 시간을 절약하도록 설계된 호스팅 솔루션입니다! 우리의 기능을 확인하십시오
IBM 클라우드 홈페이지
IBM 클라우드

2021년 4분기 기준으로 클라우드 사용자의 4%가 IBM Cloud를 사용해 왔습니다. Apache OpenWhisk 에코시스템에서 실행됩니다.

특징 및 기능:

  • 동영상 콘텐츠를 검색할 수 있습니다.
  • IBM Watson API를 통해 프로그램을 다른 프로그램에 연결할 수 있습니다.
  • IBM은 몇 가지 일반적인 작업을 위해 사전 구축된 기능을 제공합니다.
  • Node.js, Python, Swift, PHP, Go, Ruby, Java 및 .NET Core 지원

장점:

  • 모바일 애플리케이션 구축에 적합
  • 사용법을 배우기 쉬움
  • IBM Cloud Monitoring을 통해 앱 모니터링

단점:

  • 함수의 메모리 시간을 10분 또는 2048MB로 제한합니다.

알리바바 클라우드

Alibaba Cloud는 다른 클라우드 컴퓨팅 옵션만큼 널리 알려져 있지는 않지만 여전히 6%의 상당한 시장 점유율을 보유하고 있습니다. 2008년 Alibaba가 시작한 Alibaba Cloud는 온라인 비즈니스와 Alibaba의 다른 서비스를 사용하는 사람들을 대상으로 합니다.

알리바바 클라우드 홈페이지
알리바바 클라우드

FaaS는 CDN(콘텐츠 전송 네트워크), 데이터 스토리지, 빅 데이터 처리와 함께 Alibaba Cloud가 제공하는 서비스 중 하나입니다.

특징 및 기능:

  • Alibaba의 다른 컴퓨팅 서비스와 통합
  • 알리바바가 여러 영역의 클러스터에서 기능을 호스팅하므로 재해 방지
  • 비디오 트랜스코딩
  • AI 추론
  • Node.js, Python, Java, PHP 및 C# 지원

장점:

  • 많은 코드를 실행할 필요가 없는 사람들을 위한 무료 옵션 제공
  • 높은 확장성
  • 다양한 유형의 트리거를 사용할 수 있습니다.

단점:

  • Alibaba에서 다른 FaaS 제공업체로 기능을 이동하는 것은 어려울 수 있습니다.

Cloudflare 작업자

Cloudflare에서 실행하는 Cloudflare 작업자는 새로운 개발자와 거의 즉시 코드를 실행하려는 사람들에게 적합한 FaaS 시스템입니다. Cloudflare 작업자는 무료 플랜과 확장 가능한 가격을 제공합니다.

Cloudflare 작업자 홈페이지
Cloudflare 작업자

특징 및 기능:

  • JavaScript, C++, Rust 및 C 지원
  • Cloudflare 작업자에 이미지, PDF 및 기타 파일을 저장하여 정적 자산으로 배포할 수 있습니다.
  • Cloudflare 작업자가 글로벌 서버 네트워크를 사용하므로 재해 방지
  • 다른 Cloudflare 제품과 통합

장점:

  • 다른 많은 FaaS 옵션보다 저렴합니다.
  • 새로운 개발자가 사용법을 배우기 쉽습니다.
  • 매우 빠르게 시작할 수 있습니다.
  • Cloudflare는 애플리케이션 구축에 도움이 되는 자세한 자습서 및 리소스를 제공합니다.

단점:

  • Cloudflare 작업자는 다른 옵션보다 덜 강력하며 소규모 프로젝트에 더 적합합니다.

Faas 모범 사례

예, FaaS는 기술이지만 개발자가 프로그램 및 애플리케이션 개발에 채택해야 하는 사고 방식이기도 합니다.

FaaS를 최대한 활용하려면 다음 모범 사례를 따르십시오.

  • FaaS의 한계를 기억하십시오. FaaS는 모든 프로그램에 적합하지 않으며 FaaS를 사용하여 FaaS 친화적이지 않은 프로그램을 만들려고 하면 시간, 노력 및 비용이 듭니다.
  • FaaS에서는 단일 작업 기능만 실행합니다. 여러 작업으로 기능을 실행하면 FaaS 기능이 가장 잘 작동하는 격리된 환경이 중단됩니다. 이러한 중단은 애플리케이션 속도를 낮추고 효율성을 감소시킵니다.
  • 종속성이 있는 함수를 실행하지 마십시오. 종속성은 나중에 오류와 확장성 문제를 생성합니다.
  • 로드 시간을 주의 깊게 살펴보십시오. 로드 시간은 많은 메모리를 필요로 하는 라이브러리나 함수에서 비롯됩니다. 높은 로드 시간은 프로그램 속도를 늦추고 궁극적으로 사용자를 좌절시킵니다.
  • 사용하는 관계 데이터베이스 관리 시스템(RDBMS) 연결 수를 줄이십시오. 이러한 연결은 기능이 작동하는 데 걸리는 시간을 늘리고 프로그램에 실패 지점을 도입합니다.

FaaS가 필요하십니까?

FaaS는 일부에게는 혁신적이고 판도를 바꾸는 기술이지만 모든 사람에게 적용되는 것은 아닙니다.

FaaS를 최대한 활용하는 조직은 각 기능이 한 가지만 수행하는 마이크로서비스 아키텍처로 프로그램을 구축할 의향이 있습니다. 이러한 기능은 독립적으로 작동해야 합니다. 종속적인 경우 확장성 문제가 발생합니다.

모놀리식 아키텍처 또는 서로 끌어오는 기능으로 애플리케이션을 구축하려는 경우 FaaS가 제대로 작동하지 않을 수 있습니다. 마찬가지로, 장기적으로 단일 공급업체에 의존하고 싶지 않다면 FaaS가 근시안적인 선택이 될 수 있습니다.

물론 FaaS 없이도 클라우드 기술을 활용할 수 있습니다. 예를 들어 PaaS 또는 IaaS에 투자하여 애플리케이션의 일부 기능을 클라우드에 아웃소싱할 수 있습니다. 이 옵션은 클라우드 컴퓨팅의 비용 및 효율성 이점 중 일부를 제공하지만 FaaS 모델의 제한 사항 내에서 프로그램을 구축할 필요가 없습니다.

또는 매우 틈새 시장이나 전문화된 작업을 수행하는 프로그램을 구축할 필요가 없는 경우 SaaS 도구에 대한 투자를 고려하십시오. 일부 SaaS 도구는 심지어 오픈 소스이므로 필요에 따라 기존 도구를 조정할 수 있습니다.

FaaS 시장은 2026년까지 240억 달러로 성장할 것으로 예상됩니다... 따라서 이 시장에 대해 배우기에 이보다 더 좋은 시기는 없습니다. Click to Tweet

요약

FaaS는 테크노바블이나 새로운 트렌드가 아닙니다. 향후 10년 동안 더 많은 것을 볼 수 있을 것으로 기대해야 하는 확장 가능한 기술입니다.

FaaS를 설명하는 것이 때때로 어려울 수 있지만 FaaS는 개발자가 다른 사람이 유지 관리하는 인프라를 사용하여 코드를 작성하고 실행할 수 있도록 하는 서비스일 뿐입니다. Alexa와 같이 정기적으로 사용하는 많은 서비스에서 FaaS를 사용합니다. 일반적인 FaaS 공급업체에는 IBM Cloud Functions, AWS Lambda, Alibaba Cloud, Google Cloud Functions 및 Microsoft Azure Functions가 있습니다.

FaaS는 일부 비즈니스에 매우 효과적이지만 모든 사람에게 적합하지는 않습니다. FaaS는 단일 기능을 수행하는 격리된 상태 비저장 코드를 실행하는 데 가장 적합합니다.

마이크(또는 키보드)를 귀하에게 넘겨드리고 싶습니다. 비즈니스에서 FaaS를 어떻게 사용하고 있으며 기술을 처음 탐색하는 다른 사람들에게 조언을 해주실 수 있습니까? 아래 의견에 알려주십시오.