Azure Functions란?
- 7분
당신은 Tailspin Space Game 웹 팀이 경영진이 주도하는 새로운 마케팅 요구 사항을 가장 잘 전달하는 방법에 대해 논의하는 모습을 따라갑니다. 팀은 일부 서버리스 기술, 특히 Azure Functions를 DevOps 프로세스에 통합해야 합니다.
팀과 함께 체크 인할 수 있습니다.
새 요구 사항
어윈: 이러한 짧은 시간에 회의를 주셔서 감사합니다. 상황이 가열되고, 마케팅 팀은 우리 모두를 위해 일을 복잡하게 할 수있는 몇 가지 약속을했다. 그들은 정말 우리의 사이트를 좋아한다. 그들은 순위표가 우리가 최종 출시를 향해 나아가면서 게임을 홍보하는 데 사용할 수 있다고 생각합니다. 그들은 우리가 원래 계획했던 것 이상으로 확장하기를 원합니다.
마라: 그거 좋지? Azure에 있으므로 필요한 만큼 서비스를 확장할 수 있습니다.
어윈: 누구나 순위표 데이터를 자신의 애플리케이션에 통합할 수 있는 기능을 원합니다. 그들은 우리의 사이트뿐 아니라 게임, 게임 리뷰 사이트, 외부 블로그 및 개인 사이트에서도 동일한 순위표 옵션을 갖추는 것이 정말 멋진 일이라고 생각합니다. 한 가지 과제는 게임 엔진 팀이 현재 순위표 데이터를 가져오는 프로덕션 데이터베이스를 소유하고 있다는 것입니다. 앞으로 API를 빌드하고 소유해야 한다고 생각합니다.
앤디: 마라, 당신은 어떤 생각이 있습니까?
마라: 나는 우리가 뭔가를 마련 할 수 있다고 확신합니다. 내 노트는 다음과 같습니다.
- 신속하게 제공해야 하므로 코드와 기술을 사용할 수 있는 솔루션을 찾아야 합니다.
- 작은 기능을 독립적인 서비스로 리팩터링해야 합니다.
- 프로덕션 환경에서 관리 오버헤드를 최소화해야 합니다.
- 우리는 큰 부담 없이 대규모로 확장할 필요가 있습니다.
팀은 동의하며 고개를 끄덕입니다.
내 컴퓨터에서 작동합니다.
모임이 중단됩니다. 다음날 아침, 앤디는 마라의 사무실로 들어와 즉흥적인 대화를 나선다.
앤디: 알았어요! 순위표 API에 대한 모든 요구 사항을 충족하는 솔루션을 찾았습니다. Azure Functions라는 서버리스 제품입니다.
마라: 훌륭해요! 데모할 수 있는 것이 있기까지 얼마나 걸리나요?
Andy: 이미 준비를 해놓았죠. GitHub 리포지토리를 포크하고 순위표 코드를 새 Azure Functions 프로젝트로 리팩터링했어요. 간단한 HTTP GET 요청을 통해 순위표 데이터를 노출합니다. 또한 순위표를 요청할 때 해당 엔드포인트를 사용하도록 웹 사이트를 업데이트했으며 다른 모든 사용자가 동일한 작업을 수행할 수 있습니다.
마라: 이것은 우리가 필요로하는 것과 똑같이 들립니다. 기본 사이트 프로젝트에 대해 수행하는 것처럼 기존 CI/CD 파이프라인을 확장하여 빌드 및 배포를 지원할 수 있습니다.
비고
이 모듈에서는 앱을 Azure Functions에 연결하는 방법에 중점을 두지 않습니다. 관심이 있는 경우 소스 코드를 검토합니다. 이 코드는 C#용 Azure Functions 런타임 을 사용하여 Azure Functions에서 순위표 데이터를 읽습니다.
Azure Functions란?
Azure Functions 는 광범위한 Azure 서버리스 컴퓨팅 기술 내에서 제공하는 특정 제품입니다. 개발자가 무상태의 서버리스 환경에서 간단한 함수를 쉽게 구축할 수 있는 방법을 제공합니다. 함수는 HTTP 요청, 스토리지의 데이터 변경, 큐에서 메시지 수신과 같은 다양한 방법을 사용하여 트리거할 수 있습니다. Azure Functions 트리거 및 바인딩 개념에 대해 자세히 알아볼 수 있습니다.
Tailspin 팀은 모든 요구 사항을 충족하므로 이 시나리오에 대해 Azure Functions를 선택했습니다.
- 신속하게 제공해야 하므로 코드와 기술을 사용할 수 있는 솔루션을 찾아야 합니다.
- 이미 있는 코드를 적용하는 ASP.NET Core 애플리케이션으로 솔루션을 신속하게 빌드할 수 있습니다.
- 작은 기능을 독립적인 서비스로 리팩터링해야 합니다.
- 걱정할 다른 애플리케이션 노출 영역이 없는 독립적인 함수를 제공할 수 있습니다.
- 프로덕션 환경에서 관리 오버헤드를 최소화해야 합니다.
- Azure Functions는 호스팅 환경에 대해 걱정할 필요가 없습니다.
- 우리는 큰 부담 없이 대규모로 확장할 필요가 있습니다.
- 서버리스 기술은 가상 머신 또는 앱 서비스보다 자동으로 증가 및 축소할 수 있는 거의 무제한의 규모를 갖습니다.
Azure Functions 및 기타 서버리스 기술이 모든 솔루션에 항상 적합한 것은 아닙니다. 나중에 작업에 적합한 기술을 선택하는 데 도움이 되는 리소스를 찾을 수 있는 위치에 대해 알아봅니다.