애저 펑션 vs 파이어베이스 펑션
9945 단어 serverlessazure
Microsoft Azure가 서버리스 기능을 지원하는 방법에 대해 자세히 알아보십시오https://docs.microsoft.com/azure/azure-functions/.
소개
서버리스 기능은 수요에 따라 확장되는 미리 구성된 서버에서 실행되는 마이크로서비스입니다. 서버리스 기능은 챗봇 실행 및 데이터베이스 정리와 같은 작업을 수행하는 데 사용됩니다.
Azure와 Firebase는 모두 클라우드 오퍼링의 일부로 서버리스 기능을 제공합니다. Firebase 기능은 Google Cloud Platform(GCP)의 일부로 볼 수 있습니다. 이 기사의 코드를 GCP에서 직접 테스트했습니다. Firebase를 통해 이동하는 경우에도 동일한 결과를 얻어야 합니다. Azure 및 Google Cloud에서 실행할 때보다 서버리스 기능의 속도, 개발 용이성 및 배포 용이성을 비교할 것입니다.
계산 속도
실행 속도를 비교할 때 기능을 실행하는 한 시스템이 다른 시스템보다 우리에게 더 가깝다는 점에 유의해야 합니다. 또한 기능을 실행하는 데 다른 기계가 사용된다는 점에 유의해야 합니다. 따라서 함수를 여러 번 실행한 다음 결과의 백분율 범위를 계산합니다.
두 스크립트 모두에서 이 장기 실행 작업 기능을 사용합니다.
function longRunningTask() {
return new Promise((resolve, reject) => {
const start = new Date();
let a = 0;
for (let i = 0; i < 90000000; i++) {
a += i;
}
const end = new Date() - start;
resolve(end / 1000);
});
}
Google Cloud의 서버리스 기능
다음은 gcloud에서 실행할 함수입니다.
{Add longRunningTask function here}
exports.longRunningFunction = async (req, res) => {
return new Promise((resolve) => {
const loopCount = req.query.loopCount || 10
const runTimes = [];
for (let i = 0; i < loopCount; i++) {
longRunningTask()
.then((data) => {
runTimes.push(data);
})
.catch((error) => {
console.error(error);
});
}
resolve(runTimes)
}).then((data) => {
res.status(200).send(data);
})
};
진입점을
longRunningFunction
로 설정했는지 확인하세요.Azure의 서버리스 기능
아래는 Azure에서 실행될 함수입니다.
{Add longRunningTask function here}
module.exports = async function (context, req) {
const runTimes = [];
for (let i = 0; i < 10; i++) {
longRunningTask()
.then((data) => {
runTimes.push(data);
})
.catch((error) => {
console.error(error);
});
}
context.res = {
body: runTimes,
};
};
결과
이러한 기능을 실행하고 this repl에서 결과를 테스트하면 다음과 같은 결과가 나타납니다.
Azure
Min: 0.278
Max: 0.672
Percentage Range: 108%
GCloud
Min: 0.619
Max: 0.705
Percentage Range: 12%
결과에서 우리는 azure가 google cloud보다 더 빠르게 기능을 실행한다는 결론을 내릴 수 있습니다.
상태
아주르: 1
지클라우드: 0
개발 용이성
이 섹션에서는 두 플랫폼에서 함수를 작성, 테스트 및 디버그하는 것이 얼마나 쉬운지 비교합니다. Azure는 기능을 편집하고 테스트하기 위한 직관적인 인터페이스를 제공합니다.
GCloud의 인터페이스는 즉각적인 테스트를 허용하지 않습니다. 편집한 후 함수를 다시 배포해야 합니다.
상태:
아주르: 2,
지클라우드: 0
배포 용이성
이러한 플랫폼에 함수를 배포하는 것은 배포 파이프라인에 따라 다릅니다. 대시보드를 사용한 배포만 비교하면 둘 다 직관적이라는 결론을 내릴 수 있습니다. 그래서 우리는 넥타이가 있습니다.
상태:
아주르: 3,
지클라우드: 1
결론
이 기사에서는 Google Cloud와 Azure에서 서버리스 기능의 속도, 개발 및 배포를 비교하려고 시도했습니다. 위의 메트릭을 사용하여 Azure에서 서버리스 기능으로 작업하면 Google Cloud보다 더 나은 경험을 제공한다는 결론을 내릴 수 있습니다. 이것은 절대적인 결론이 아닙니다. 우리는 많은 메트릭을 고려하지 않았습니다. 그러나 이것은 시작일 수 있습니다. 읽어 주셔서 감사합니다. ✌🏽🧡
Reference
이 문제에 관하여(애저 펑션 vs 파이어베이스 펑션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vicradon/azure-functions-vs-firebase-functions-16o3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)