Microsoft Azure 제공하는 강력한 서비스의 개발자를 돕기 위해 구축 및 배포하는 앱입니다. Azure 는 사용하기가 너무 쉽기 때문에 Azure 호스팅 비용을 신속하게 통제 불능 상태로 만들 수 있습니다. 그러나 Azure 가격을보다 잘 관리하고 전체 비용을 최적화 할 수있는 방법이 있습니다.
Stackify 에서 우리는 4 년 이상 Azure 를 사용 해왔다. 우리와 함께 성장 Azure 으로 우리는 같은 말을하고 활용한 다양 Azure 서비스 및 지출은 작은 운하시기 바랍니다. 우리는 최고의 팁 중 일부를 공유하기 위해이 기사를 쓰고 있습니다.
비용을 낮추는 5 가지 방법에 초점을 맞추자:
- 낮은 실제 azure 가격
- 어떤 당신의 현재 비용은
- 을 최적화하는 방법을 배포할 앱
- 의 성능을 향상시키기 위해 응용 프로그램
- 기타 팁
을 낮추는 방법 Microsoft Azure 가격&효과적인 Azure Cost Management
중 하나 가장 쉽게 할 수 있는 일이 단순히 일부에 대한 할인은 법안 또는 무언가를 얻을위한 무료입니다!
1. 사전 지불 심지어 지불-로-당신-이동 계정에,할인을 얻을 수 있습니다.
Microsoft 는 6 개월 또는 12 개월 사전 지불을 기준으로 2.5-5%할인을 제공했습니다. 이를 활용할 수 있는지 확인하십시오. 그러나 EA 계약이 더 나은 옵션 일 수 있습니다.
2. 최대 Azure 할인에 대한 EA 계약을 받으십시오.
EA 계약은 연간 금전적 약정을 선택하고 그 할인율에 잠금이 필요합니다. 그런 다음 연간 커밋을 초과하는 초과 금액에 대해 분기별로 청구됩니다.
EA 계약은 일부 Azure 제품의 경우 최대 20-30%정도를 절약 할 수 있습니다. 경고하십시오,할인 비율 일정은 엉망입니다. 예를 들어 Sql Azure 의 할인율은 5%일 수 있지만 클라우드 서비스는 10-20%와 같은 것일 수 있으며 판매하는 모든 단일 SKU 에 대해 다릅니다. 일부는 전혀 할인을 많이 제공하지 않을 수도 있습니다. 수천 개의 Sku 가 있습니다. 그래서 당신이 정말로 필요로하는 푸른 서비스를 알고 당신의 EA 계약에 그 Sku 에 대한 할인을 극대화해야합니다.
3. 당신은 Bizspark 에 가입 할 수 있습니까?
Stackify 는 원래 Bizspark 에 있었고 멋진 무료 혜택을 많이 얻을 수있었습니다. Microsoft 는 신생 기업을위한 무료 혜택으로 최대 12 만 달러를 광고합니다. 나쁜 거래는 아닙니다!
4. 더 나은 azure 가격을 위해 Azure 지역을 전환 할 수 있습니까?
Azure 가격은 미국에서도 한 지역에서 다른 지역으로 다양합니다. 다양한 지역의 가격을 두 번 확인하여 조금만 절약 할 수 있는지 확인하십시오.
예:West US 의 A2VM 은$133.92 이지만 West US2 에서는$126.48 입니다. 호주 동쪽은$168.14
5 입니다. 프로젝트에서 Azure 파트너와 협력하여 Microsoft 에서 무료로 돈을 받으십시오.
경우에 당신은 큰 프로젝트로 이동하려면 Azure,당신이 얻을 수있는 몇 가지 할인 도움말에 인센티브를 제공하고 지불을 위해 Microsoft 파트너를 돕습니다. 한 예로,우리는 요리사와 함께 많은 일을 할 수 있도록 이것을 할 수있었습니다.
어떤 당신의 현재 Azure 비용과성 보고
확률은,당신은 알지 못하이 무엇을 알 수 없을 때 그것을 지출하는 방법을 많이하고 당신이 무엇을 지출합니다. 그것은 새로운 자원을 회전 단순히 그들에 대해 잊지 푸른 너무 쉽습니다.
6. 당신이 무엇에 지출 얼마나 알고,그것을위한 도구없이 어렵다.
Microsoft 에는 청구 분석을 위해 사용할 수있는 몇 가지 도구가 있습니다:
- Azure 청구 포털
- EA 포털https://ea.azure.com/
이들 모두를 떠나 원하는 수 많은 어떤 고급 수준의 보고입니다. 에 연결할 수 있습 EA 데이터 Bi 여는 일부에 대한 더 많은 기회를 재정 데이터,하지만 당신은 정말 필요하 세그먼트의 데이터에 의해 프로젝트,부서 및 등등. 그것에 대한 더 많은 통찰력을 얻으려면.
사용할 수있는 타사 도구가 많이 있습니다,appallingly 있지만,그들 중 많은 이상$1,000 달! 저렴하고 훌륭한 작업을 수행하는 Azure Costs(https://azure-costs.com/)라는 서비스를 사용하는 것이 좋습니다. 한 달에$29-$199 의 무료 계층 및 유료 옵션이 있습니다.
그냥 당신에게 아이디어를,그룹화할 수 있습니다 이 보고의 무리는 다른 방법을 이해하는 경우에 많이 지출 Vm,SQL,응용 프로그램 서비스 등을 이용하실 수 있습니다.
Azure Cost
7 의 다양한 필드 별 그룹. 더 나은보고를 위해 프로젝트,환경 또는 클라이언트별로 Azure 지출을 할당하십시오.
Stackify 에서는 프로덕션,프리 프로덕션,QA,개발 및 테스트 앱을 모두 Azure 로 호스팅합니다. 에서 볼 때 우리 빌 높은 수준에서,더 좋은 방법이 얼마나 알고리에 지출하는 환경은 우리에게 중요하다.
얼마나 우리가 보내 생산에 영향을 우리의 한계는 사업으로 우리는 또한 비용을 최소화 dev/테스트는 환경입니다.
우리는 돈을 쓰고있는 것을 정리하기 위해 Azure 비용을 사용합니다. 우리는 단순히 각 Azure 리소스에 태그를 지정한 다음 환경 당 비용을 쉽게 볼 수있는 태그로보고를 얻을 수 있습니다.
태그에 자원 Azure 비용.
우리는 우리를 얻을 수 있고 각 이해하는 태그는 방법을 우리는 지출의 돈입니다.
보고에 의해 태그에서 Azure 비용.
을 최적화하는 방법을 배포할 앱에 돈을 저축 Azure
이동하는 경우 응용 프로그램을 Azure,거기에 몇 가지 방법으로 돈을 저장할 수 있는지도 생각됩니다. 또한 앱 서비스,클라우드 서비스 등을 최적화하는 데 대한 몇 가지 팁을 제공하고자합니다.
8. 가상 머신의 올바른 유형과 크기를 선택하십시오.
가상 컴퓨터를 호스팅하기 위해 Azure 를 사용하는 경우 올바른 유형의 인스턴스를 선택했는지 확인하십시오. 말 그대로 수십 가지의 다른 유형과 크기가 있습니다. 더 많은 메모리,CPU,더 빠른 디스크 등이 필요한 경우를 기반으로 올바른 유형을 선택했는지 확인하십시오.
9. Azure DevTest Labs 를 사용하여 테스트 Vm 이 비용을 절약하기 위해 자동 종료를 받도록하십시오.
테스트 서버를 설정하고 나중에 몇 달 및 몇 달 동안 비용을 지불 한 것을 알아내는 것보다 더 성가신 것은 없습니다. Azure DevTest Labs 는 가끔 또는 하루 중 특정 시간 만 필요로하는 서버를 만드는 데 굉장합니다.
DevTest Labs 는 일정에 따라 자동으로 켜고 종료 할 수 있습니다. 이는 QA 팀이 하루 또는 주말에 떠나기 전에 서버를 종료하는 것을 잊어 버리는 문제를 해결하는 데 많은 도움이됩니다.
참고:DevTest Labs 는 사용하기에 추가 비용이 들지 않습니다. Vm 자체를 지불하기 만하면됩니다.
10. 클라우드 서비스의 스테이징 슬롯에 대한 비용을 지불하지 마십시오.
웹 및 작업자 역할을 위한 Azure Cloud 서비스를 사용하면 프로덕션 슬롯과 마찬가지로 스테이징 슬롯에 대해 전체 가격을 지불합니다. 스테이징 슬롯에 배포 한 다음 스테이징을 프로덕션으로 교환하여 다운 타임을 최소화하는 것이 좋습니다.가능한 한 빨리 스테이징 슬롯을 삭제해야합니다. Azure 에 로그인하고 아무 이유없이 거기에 앉아있는 스테이징 슬롯에 배치 된 물건을 보는 것보다 더 미친 것은 없습니다.
뷰 편집하면 포털에 열을 추가한”준비”그리고”생산”빠르게 확인할 수 있는 것에서 뭔가를 준비 슬롯이 있습니다. 클라우드 서비스는 서버가 중지 되더라도 비용이 듭니다. 당신은 그들을 삭제해야합니다!나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다. 웹 앱과 Azure 앱 서비스 계획을 결합하여 서버 수를 줄입니다.
Azure 의 절대 최고의 기능 중 하나는 앱 서비스입니다. 2~3 개 이상의 서버를 나타내는 앱 서비스 계획을 만든 다음 원하는만큼 웹 응용 프로그램을 포장 할 수 있습니다.이것은 거의 아무것도하지 않는 웹 응용 프로그램에 대해 전체 서버에 비용을 지불하는 것보다 큰 이점입니다. 우리가 사용하는 클라우드 서비스 웹 역할을 영원히 그리고 일부 경우에는 3 인스턴스에 대해 높은 가용성 웹앱에 가져오는 거의 아무래픽이다. 그것은 거대한 낭비입니다.
12. 하지 않으면 클라우드 서비스 웹 역할 사용을 중지하십시오.
야 하는 경우 사용 Azure 클라우드 서비스를 위한 웹의 역할,나는 작업으로 전환하는 앱을 응용 프로그램 서비스를 활용하는 결합하기 위해 여러 응용 프로그램을 적은 서버에 있습니다.
클라우드 서비스는 또한에 배포 영원히 걸릴. 앱 서비스에 배포하는 데 광년 더 빠릅니다.
13. Azure 서비스 패브릭 또는 컨테이너 서비스를 사용하여 앱을 결합하십시오.
정확한 같은 이유로 내가 위에서 언급된 응용 프로그램 서비스 및 웹 역할을보고,움직이 작업자 역할을 서비스하는 직물 또는 컨테이너 서비스입니다. 둘 다 기본적으로 서버 그룹을 프로비저닝 한 다음 그 위에 많은 앱을 던지는 앱 서비스 계획과 같은 패턴을 따릅니다.
14. 오프 시간 동안 비용을 줄이기 위해 자동 스케일링을 사용합니다.
대부분의 앱은 일주일 또는 하루 종일 더 바쁘고 느린 기간을 갖습니다. 느린 기간 동안 약간의 비용을 절약하기 위해 Azure 에 내장 된 자동 스케일링을 활용하십시오.
이러한 배포 종류의 모든 지원 자동 크기 조정:
- 클라우드 서비스
- 응용 프로그램 서비스를
- VM 규모 설정(를 포함하여 일괄 처리 서비스 직물,컨테이너 서비스)
스케일링을 의미할 수도 있고 종료 앱 수 있습니다 앱 서비스에는 활동이 없기 때문에 앱을 종료해야하는지 제어하는 AlwaysOn 이라는 기능이 있습니다. DevTest Labs 와 같은 것으로 dev/QA 서버를 종료하도록 예약 할 수도 있습니다. Park My Cloud 와 같은 타사 서비스도 있습니다.
15. 푸른 PaaS 기능을 사용;당신이하지 않는 한 Vm 에 자신을 롤하지 마십시오.
Azure 를 사용하는 여러 사람들과 이야기를 나누었고 Azure 를 사용하는 버전은 일부 Vm 을 설정하고 해당 Vm 에서 app 및 SQL Server 를 호스팅하고 있습니다.
을 활용하여 Azure 에 대한 가상 기계 및 IaaS 은 괜찮지만,당신이 있습니다에 밖으로 많은 기회를 관리 비용을 절감하고 낮은 Azure 비용합니다. 지 않는 한 당신은 정말,정말 좋은 이유를 사용하여 SQL VM 에서,같은 구입하는 일부 제삼자 로드 밸런서 VM 에서 실행되는 다른 시나리오,그렇게 하지 않아도 됩니다.
에 Stackify,우리가 활용이 매 PaaS 기능의 Azure 우리는 할 수 있습니다. 여기에는 Sql Azure,Redis,테이블 저장소,서비스 버스 등이 포함됩니다. Redis 또는 다른 대기열 서비스에 Vm 을 설정하는 생각은 정말 끔찍한 생각처럼 보입니다. 우리에게 그 유일한 예외는 elasticsearch 입니다.
Azure Search 를 사용할 수 있으며 기본 elasticsearch PaaS 오퍼링입니다. 우리의 elasticsearch 클러스터의 깎아 지른듯한 크기와 규모로 인해 스스로 관리하는 것이 더 합리적입니다.
16. Sql 탄성 풀을 사용하십시오.
데이터베이스가 많으면 SQL 탄성 풀을 고려해야합니다.
Azure 를 사용하면 각 개별 데이터베이스에 대해 성능 계층을 선택해야합니다. 이것은 매우 잘 작동하며 예측 가능한 수준의 성능을 제공합니다. 그러나,그것은 또한 많은 경우에 프로비저닝 성능 초과 결과.
Azure SQL Elastic Pool 을 서버의 더 많은 것으로 생각하면 해당 서버에 많은 데이터베이스를 할당 할 수 있습니다. 즉,각 데이터베이스의 성능이 서버의 총 리소스 내에서 썰물과 흐름을 할 수 있습니다.
Stackify 에서 모든 클라이언트는 자체 SQL 데이터베이스를 가지고 있습니다. 우리는 말 그대로 수백 가지를 가지고 있으며,우리는 새로운 것을 추가하고 매일 일부를 드 프로비저닝합니다. 우리가 규모에 그 많은 데이터베이스를 관리하는 SQL 탄성 풀은 중요하다.
의 성능을 향상시키기 위해 응용 프로그램 자체
OK,이 있는 경우 최대화하는 방법에서 Azure 에 올 때 당신의 전반적인 Azure 가격과 배포 방법의 응용 프로그램을 시작하는 시간을 performance tuning.
Retrace,Azure Application Insights 또는 New Relic 과 같은 일부 유형의 APM 도구를 사용하는 것이 좋습니다.
17. 프로파일 러를 나갈 시간!코드의 성능을 최적화하려면 몇 가지 코드 프로파일 링을 수행해야합니다. 세 가지 유형의 프로파일 러가 있으며 코드를 실제로 개선하기 위해 세 가지 유형이 모두 필요할 수 있습니다.
- 표준 프로파일러로 코드 워크스테이션에서 보고 느린 방법에서 당신의 코드
- 트랜잭션 tracing–캡쳐 완전한 웹을 통해 요청하는 ASP.NET 프로파일러와 검토에 무슨 일이 일어나
- APM 트랙의 전반적인 성능 응용 프로그램과 그것의 종속성
18. 가장 많이 사용되고 가장 느린 웹 요청 또는 트랜잭션을 식별하십시오.
시간이 많이 걸리거나 적당한 횟수가 발생하지만 너무 오래 걸리는 요청을 찾습니다. 봐 ASP.NET 너무 많은 SQL 쿼리가 발생하는지,느린 웹 서비스 등을 확인하기위한 트랜잭션 추적
대부분의 최신 응용 프로그램은 데이터베이스 또는 웹 서비스 호출에 더 바인딩됩니다. 코드 자체가 느려질 수 있다면 Visual Studio 프로파일 러와 같은 표준.NET 프로파일 러를 사용하여 그 이유를 알아 내고 싶을 것입니다.
Retrace APM 의 상위 웹 요청
19. Sql 데이터베이스 성능을 최적화하십시오.
모든 바쁜 응용 프로그램은 일반적으로 몇 가지 기본 SQL 튜닝의 이점을 누릴 수 있습니다. Sql Azure 에는 성능보고 및 인덱스 튜닝 권장 사항에 대한 훌륭한 기본 기능이 있습니다.
필요하신 경우에는 깊이 이동해야하는 쿼리 Dmv 에서 SQL 를 식별하는 쿼리를 액세스할 수 있는 가장 이용 가장 IO,가장 오래 걸리,등등. 또한 앱의 관점에서 쿼리가 얼마나 오래 걸리는지주의해야합니다.
또한 APM 도구를 활용하여 어떤 쿼리가 가장 많이 사용되고 소프트웨어의 어떤 조치가 호출되는지 파악할 수 있습니다.
Retrace APM 에서 Top SQL 쿼리보기
20. 모든 응용 프로그램 종속성의 사용 및 성능을 추적합니다.
그냥 넘어 SQL 서버 응용 프로그램은 아마 만드는 웹 서비스를 통화,큐를 사용하여,캐시,및 다른 종속성을 포함하여 다른 Azure 능 DocumentDB,푸른 저장,등등.
이러한 모든 종속성이 Azure 를 통해 잘 수행되고 제대로 확장되었는지 확인하십시오.
Azure 비용을 낮추기위한 기타 아이디어
다음은 Azure 에 지출하는 금액을 낮추기 위해 고려해야 할 다른 아이디어입니다.
21. 당신은 CDN 을 사용할 수 있습니까?
Cloudflare 와 같은 CDN 을 사용하면 코드 변경없이 모든 정적 파일의 캐싱을 정말 쉽게 추가 할 수 있습니다. Cloudflare 는 또한 성능을 최적화하는 데 사용할 수있는 멋진 기능의 톤이있다.
Azure 는 시도 할 수있을뿐만 아니라 매우 간단한 CDN 오퍼링을 가지고 있지만 Cloudflare 가하는 일을하지는 않습니다.
22. 새로운 Azure 콜드 스토리지 옵션을 사용할 수 있습니까?
Azure 는 이제 따뜻하고 차가운 Azure 스토리지를 제공합니다. Warm 은 자주 사용하는 데이터를 위해 설계되었으며 cold 는 거의 사용하지 않는 데이터를 위해 설계되었습니다. 이 많은 경우의 데이터는 거의 사용되고,백업,보관,또는 다른 데이터를 확인하십시오 냉장.
Azure 클라우드 호스팅 비용 최적화
이 목록이 도움이되기를 바랍니다. 구현하고 마지막에 대한 코드를 최적화 떠날 수있는 가장 간단한 아이디어의 일부와 함께 시작해야합니다.코드를 최적화하는 것은 지금까지 가장 어려운 부분이며 엄청난 시간과 회귀 테스트를 거칠 수 있습니다. Stackify 에서는 하루에 수백만 번,수백만 번 호출되는 Api 가 있습니다. 이 있는 경우를 가져오는 코드로 불리는 많은 시간이 우리로,그것은 확실히 가치가 투자에서 낮은 수준의 코드 최적화,그렇지 않으면 어쩌면하지 않습니다.