microsoft / cobalt

Infrastructure turn-key solution for app service workloads
MIT License
115 stars 78 forks source link

Bug: Autoscale prevents 'dynamic' tier Azure Function Support #366

Closed TechnicallyWilliams closed 4 years ago

TechnicallyWilliams commented 4 years ago

Background

The current app service plan module is tightly coupled with a Terraform autoscaling profile resource that prevents the creation of an app service plan if the app service plan is given configurations for auto-elastic azure function support. This type of configuration assumes a service plan that is dedicated to azure functions only and not bundled with other app services. Referencing the app service plan module fails in this scenario.

Description

As a user, I'd like to be able to configure the app service plan module with auto-elastic azure function support so that I can provision azure functions from Cobalt that are not bundled with other App Services within the same plan.

Acceptance Criteria

Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/DoneDone.md)

Also, here are a few points that need to be addressed:

custom-elastic azure function support vs auto-elastic azure function support

  1. This fix is not about custom-elastic azure function support, as that's a premium tier plan that already allows you to configure an app service plan that supports an azure function on top of custom auto-scaling rules. This scenario is already currently supported within Cobalt.

Resources

https://docs.microsoft.com/en-us/azure/architecture/best-practices/auto-scaling : image

Tasks

  1. Refactor the app service plan module to exclude auto-scaling rules when service plan tier is set to "dynamic"