F#과 함께 다른 Azure 서비스 사용하기

F#과 함께 다른 Azure 서비스 사용하기 (Using other Azure services with F#)

F# 코드를 Azure에서 돌리는 일은, 어디에 올리느냐가 아니라 '어떤 서비스에 어떻게 엮느냐'가 핵심이에요. 이 페이지에서는 Azure Storage 같은 기본 스토리지 외에, F#으로 다룰 수 있는 다양한 Azure 서비스들을 어떻게 시작하면 좋을지 정리해 둔 자료를 소개해 드릴게요.

출처: https://learn.microsoft.com/en-us/dotnet/fsharp/using-fsharp-on-azure/other-azure-services

참고: 원문 주소인 .../using-fsharp/libraries/cloud-service는 현재 404로 더 이상 존재하지 않아요. Azure Cloud Service(클래식 PaaS)가 지원을 종료하면서 F# 공식 문서에서도 해당 페이지가 사라졌고, 그 자리를 잇는 정식 페이지가 바로 이 'Using other Azure services with F#'예요. 실제로 존재하는 페이지로 대체해 번역했어요.

본문

아래 절들에서는 F#과 함께 쓸 수 있는 여러 Azure 서비스에 대한 자료를 정리해 뒀어요.

참고: 특정 Azure 서비스가 이 문서 모음에 없다면, 그 서비스에 대해서는 Azure Functions 문서나 .NET 문서를 찾아보세요. 어떤 Azure 서비스는 언어와 무관해서 언어별 문서 자체가 필요 없고, 그래서 여기에도 목록에 올라오지 않아요.

F#으로 Azure 가상 머신(Virtual Machine) 사용하기

Azure는 아주 다양한 가상 머신 구성을 지원해요. 자세한 내용은 Linux and Azure Virtual Machines에서 확인할 수 있어요.

가상 머신에서 F#을 실행·컴파일·스크립팅하기 위해 설치하려면, Using F# on LinuxUsing F# on Windows 문서를 참고하세요.

F#으로 Azure Cosmos DB 사용하기

Azure Cosmos DB는 가용성이 높고 전 세계에 분산된 앱을 위한 NoSQL 서비스예요.

Azure Cosmos DB는 F#과 두 가지 방식으로 함께 쓸 수 있어요.

F#으로 Azure Event Hubs 사용하기

Azure Event Hubs는 웹사이트·앱·기기에서 들어오는 대규모 텔레메트리 데이터를 받아들이는(ingestion) 클라우드 스케일 서비스예요.

Azure Event Hubs는 F#과 두 가지 방식으로 함께 쓸 수 있어요.

  • 이벤트에 의해 트리거되는 F# Azure Functions를 만드는 방식이에요. Azure Function triggers for Event Hubs에서 확인할 수 있어요.
  • Azure용 .NET SDK for Azure를 사용하는 방식이에요. 이 예제들은 C#으로 작성되어 있다는 점을 참고하세요.

F#으로 Azure Functions 사용하기

Azure Functions는 작은 코드 조각, 즉 '함수'를 클라우드에서 쉽게 실행하기 위한 솔루션이에요. 당면한 문제에 필요한 코드만 작성하면 되고, 전체 애플리케이션이나 그걸 실행할 인프라를 신경 쓸 필요가 없죠. 함수는 Azure Storage와 그 밖의 클라우드 호스팅 리소스에 있는 이벤트에 연결돼요. 데이터는 함수 인자(function arguments)를 통해 F# 함수 안으로 흘러 들어가요. Azure가 필요에 따라 확장해 주는 걸 믿고, 원하는 개발 언어를 쓰면 돼요.

Azure Functions는 F# 코드를 효율적이고 반응성 있게, 그리고 확장 가능한 방식으로 실행해 줘요. F#으로 Azure Functions를 쓰는 방법에 대한 참조 문서는 Azure Functions F# Developer Reference에서 볼 수 있어요.

F#으로 Azure App Service 사용하기

Azure App Service는 클라우드나 온프레미스 어디의 데이터에든 연결되는 강력한 웹·모바일 앱을 만들기 위한 클라우드 플랫폼이에요.

F#으로 Azure Notification Hubs 사용하기

Azure Notification Hubs는 다중 플랫폼·확장형 푸시 인프라예요. 어떤 백엔드(클라우드든 온프레미스든)에서든 어떤 모바일 플랫폼으로든 모바일 푸시 알림을 보낼 수 있게 해 줘요.

Azure Notification Hubs는 F#과 두 가지 방식으로 함께 쓸 수 있어요.

F#으로 Azure에서 WebHook 구현하기

Webhook은 웹 요청으로 트리거되는 콜백이에요. GitHub 같은 사이트에서 이벤트를 알리는 데 Webhook을 사용해요.

Webhook은 F#으로 구현할 수 있고, Azure Function in F# with a Webhook Binding을 통해 Azure에서 호스팅할 수 있어요.

F#으로 Webjob 사용하기

Webjob은 App Service 웹 앱에서 세 가지 방식으로 실행할 수 있는 프로그램이에요: 요청 시(on demand), 지속적으로(continuously), 또는 스케줄에 따라(schedule) 실행할 수 있어요.

Example F# Webjob

F#으로 Azure에서 타이머 구현하기

타이머 트리거(Timer trigger)는 1회 또는 반복되는 스케줄에 따라 함수를 호출해요.

타이머는 F#으로 구현할 수 있고, Azure Function in F# with a Timer Trigger를 통해 Azure에서 호스팅할 수 있어요.

기타 자료

더 알아보기