Azure는 Rust 개발자가 고성능 애플리케이션을 빌드, 배포 및 관리할 수 있는 클라우드 플랫폼입니다. Azure의 호스팅 옵션 및 서비스가 Rust 개발 환경을 개선하는 방법을 알아봅니다.
클라우드 개발을 접하는 경우 Azure에 익숙해지도록 다음 리소스를 탐색합니다.
- Azure 아키텍처 센터
- Azure 용어
- Azure 애플리케이션을 위한 10가지 설계 원칙
- 클라우드 디자인 패턴
클라우드 에코시스템의 Rust: 이점 및 사용 사례
Rust는 성능, 안정성 및 안전 보장 덕분에 클라우드 애플리케이션에 대한 추진력을 얻고 있습니다. 클라우드 플랫폼은 일반적으로 JavaScript, Python, Java 및 .NET에 중점을 두지만 Rust는 다음과 같은 강력한 이점을 제공합니다.
- 안전성이 있는 성능: 제로 비용 추상화 및 메모리 안전성으로 Rust는 고성능 클라우드 서비스에 이상적입니다.
- 낮은 리소스 사용량: 최소 런타임 오버헤드 및 효율적인 메모리 관리로 클라우드 비용 절감
- 플랫폼 간 호환성: 한 번 작성, 클라우드 네이티브 접근 방식과 원활하게 작동하는 모든 기능 배포
- 성장하는 에코시스템: 웹 서버, 비동기 I/O, serialization 등을 위한 강력한 라이브러리
Azure는 Rust용 Azure SDK 와 REST API용 HTTP와 같은 표준 프로토콜을 통해 Rust 애플리케이션에 여러 통합 지점을 제공합니다. 호스트되는 위치에 관계없이 Rust 애플리케이션과 함께 Azure 서비스를 사용합니다.
비고
Rust용 Azure SDK에는 Rust 버전 2021 이상이 필요하며 Rust 1.67.0 이상 버전을 지원합니다.
Rust 및 기타 언어: 고유한 이점
Azure는 클라우드 개발을 위한 많은 프로그래밍 언어를 지원합니다. Rust는 여전히 Azure 에코시스템에서 등장하고 있지만 다음과 같은 고유한 이점을 제공합니다.
- 가비지 수집이 없는 메모리 안전성
- 스레드 안전성 및 강력한 동시성
- 리소스 사용량이 적은 고성능
- 강력한 형식 시스템 및 소유권 모델
- 플랫폼 간 호환성
Rust용 Azure SDK, REST API 또는 특정 서비스에 대한 사용자 지정 처리기를 통해 Rust 애플리케이션에서 Azure 서비스에 액세스합니다.
Azure 서비스
Azure는 Rust 애플리케이션에서 독립적으로 또는 함께 사용할 수 있는 광범위한 클라우드 서비스를 제공합니다.
Rust 개발자를 위한 주요 서비스 범주는 다음과 같습니다.
Azure 서비스 만들기: 빠른 시작 센터 가이드
무료 계정을 만들어 Azure 여정을 시작한 다음, Azure Portal의 빠른 시작 센터를 방문합니다.
Azure Portal의 각 서비스 페이지에서 연결 정보를 찾아 코드에서 리소스에 액세스합니다.
가격 책정 계층
가격 책정 계층은 리소스 청구 방법을 결정합니다. Azure 가격 계산기를 사용하여 리소스에 대한 비용을 예측합니다.
무료 계층 리소스
무료(F0) 가격 책정 계층을 사용하는 경우 다음 제한 사항에 유의하세요.
- 구독은 서비스당 하나의 무료 리소스만 허용할 수 있습니다. 무료 리소스를 만들 수 없는 경우 구독에 이미 리소스가 있을 수 있습니다.
- 무료 계층에는 TPS(초당 트랜잭션 수) 또는 TPM(월별 트랜잭션 수)에 대한 제한이 있습니다.
- 이러한 제한을 초과하면 할당량이 초과된 메시지와 함께 HTTP 오류가 발생합니다.
- 대용량 애플리케이션의 경우 여러 리소스를 만들고 단일 엔드포인트를 사용하여 트래픽을 분산합니다.
개발 환경 설정
Azure 개발 환경에서 최상의 Rust를 위해 다음 도구를 설정합니다.
- 다음 확장이 있는 Visual Studio Code:
- Azure 도구 확장
- Rust 언어 지원을 위한 rust-analyzer
- Git
- Rust 도구 체인 - 안정적인 최신 릴리스 사용
- Azure 리소스 관리를 위한 Azure CLI
- 로컬 개발 도구:
Rust 크레이트용 Azure SDK 사용
각 크레이트가 서비스별 연결 기능을 제공하는 Azure SDK for Rust 크레이트를 사용하여 프로그래밍 방식으로 Azure 서비스에 액세스합니다.
이러한 크레이트는 다음과 같은 기능을 사용하여 Azure SDK 지침 에 따라 Idiomatic Rust API를 제공합니다.
- Microsoft Entra ID(이전의 Azure AD)를 사용한 인증
- 지수 백오프를 사용하여 자동 재시도
- 로깅 및 분산 추적
- 취소 지원
- 전체 비동기/await 지원
SDK를 통해 Azure 서비스와 상호 작용하면서 로컬, 하이브리드 환경 또는 클라우드의 어디에서나 Rust 코드를 실행합니다.
Azure에 Rust 앱 배포
Azure에서 Rust 애플리케이션을 호스팅하는 경우 다음 두 가지 주요 방법 중에서 선택합니다.
이진 파일로 컴파일: Rust 애플리케이션을 네이티브 이진 파일로 빌드하고 적절한 호스팅 서비스에 직접 배포
컨테이너화: 컨테이너 기반 Azure 서비스에 배포하기 위해 컨테이너에 애플리케이션 패키지
애플리케이션 요구 사항에 따라 다음 호스팅 옵션 중에서 선택합니다.
| 서비스 | 배포 방법 | 가장 적합한 용도 |
|---|---|---|
| Azure 앱 서비스 | 사용자 지정 컨테이너 | 웹 애플리케이션, API |
| Azure Functions | 사용자 지정 처리기 | 이벤트 기반 서버리스 워크로드 |
| Azure Container Apps | 컨테이너 | 마이크로 서비스, 컨테이너화된 애플리케이션 |
Rust 빠른 시작 시도
다음 빠른 시작 및 자습서를 사용하여 Azure에서 Rust를 시작합니다.