cobalt icon indicating copy to clipboard operation
cobalt copied to clipboard

As a developer, I can configure and deploy Azure API Management service

Open James-Nance opened this issue 6 years ago • 2 comments

Description (Story incomplete)

As a developer, I can configure and deploy Azure API Management Service

For Cobalt, the APIM service should provide:

  • Reverse proxy for API calls
  • Logging for API traffic
  • SSL termination (Still waiting on response/Open question)
  • Service authentication via JWT tokens (Still waiting on response/Open question)

Acceptance Criteria

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

  • [ ] App service and api manager will need app insight config to be added (Possible/ Check info)

  • [ ] Test with Provider version 1.27 else 1.24.

  • [ ] azurerm_api_management_api - service_url to link App service to API manager

  • [ ] No hardcoded variables in module config; everything set through Terraform template

  • [ ] Usage referenced in Azure Simple template

  • [ ] Screenshot showing resource provisioned in Azure Portal

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

  1. No hardcoded variables in module config; everything set through Terraform template

Resources

Tasks

Stories are intended to be completed in a single sprint; if task breakdown creates addition work then team should discuss promoting the Story to an Epic. Reference: [Minimal Valuable Slices] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/MinimalSlices.md)

Reference: [How to Write Better Tasks] (http://agilebutpragmatic.blogspot.com/2012/04/splitting-story-into-tasks-how-to-write.html)

Assignee should break down work into tasks here

James-Nance avatar Apr 12 '19 18:04 James-Nance

@James-Nance / @erikschlegel : I was able to deploy the api manager, but had questions for the other requirements mentioned in the story, because of my lack of experience with Azure API manager:

  1. Reverse proxy for API calls - provided by API manager
  2. Do we plan on using Azure Event Hub for Logging for API traffic or API manager provides this too?
  3. SSL termination - Provided when API manager is in a VNET. Presumably azure-simple.
  4. Service authentication via JWT tokens - I would think it should be policy but its for XML and not JSON.

cc @code4clouds

manojvazirani avatar Apr 23 '19 19:04 manojvazirani

Also FYI, I have observed that the average time to deploy an API manager is > 20 minutes. azurerm_api_management.apimgmt: Creation complete after 20m8s

manojvazirani avatar Apr 23 '19 19:04 manojvazirani