API-Asp.Net--Mysql-AKS-Terraform
activities:
-
Develop a User Story - Done Create an informal user story that outlines the objectives and requirements for deploying the sample API and its database. This user story will guide the development and deployment process, ensuring all components interact correctly and meet the specified criteria.
-
Set Up Terraform Code Develop Terraform code to provision the necessary Azure resources for the deployment. This should include, but not be limited to, Azure Kubernetes Service (AKS) clusters, networking resources, and any other infrastructure components required for the deployment. Organize the Terraform code to accommodate multiple environments and adhere to best practices in infrastructure as code (IaC).
-
Prepare Helm Charts Create Helm charts to describe all cluster resource sets needed for the application and its database. If preferred, Kustomize can also be used. Ensure that the Helm charts are well-organized and follow best practices for Kubernetes resource management.
-
Create Dockerfiles Develop Dockerfiles for the sample API and its database. These Dockerfiles should be optimized for production, ensuring they are secure, lightweight, and adhere to Docker best practices.
-
Implement CI/CD (Optional) Setting up a Continuous Integration/Continuous Deployment (CI/CD) system to automate the deployment process is an optional but highly recommended step. This could involve integrating with GitHub Actions, Azure DevOps, or any other CI/CD tools you're comfortable with.
-
Add DevOps/SRE Practices (Optional) Incorporate additional components that demonstrate your understanding of DevOps/SRE practices. This could include monitoring, log management, alerts, and any other operational tools or practices that enhance the deployment's reliability and observability.
-
Presentation and Code Review Preparation Prepare a presentation that covers the user story, design choices, technical architecture, and functionality of the deployment. Be ready to share your project through a GitHub repository or IDE during a Zoom call with the technical interview panel. Anticipate questions related to your code and be prepared to explain your decisions.
-
Code Quality and Functionality Ensure that your code is well-organized, readable, and adheres to best practices. The application should function as described, with the API accessible from the outside and the database secured.
By addressing each of these activities, you will be able to create a comprehensive and well-organized approach to the technical interview exercise. Good luck!
- az extension add --name aks-preview
az provider register --namespace Microsoft.ContainerService
- az extension update --name aks-preview
- az provider register --namespace Microsoft.Network
- az provider register --namespace Microsoft.ContainerRegistry
- az provider register --namespace Microsoft.KeyVault
- az provider register --namespace Microsoft.CognitiveServices
az feature register --namespace "Microsoft.ContainerService" --name "AKS-KedaPreview"
- az provider register --namespace Microsoft.Storage
- az provider register --namespace Microsoft.OperationalInsights
- az provider register --namespace Microsoft.Insights
- az provider register --namespace Microsoft.OperationsManagement
- az provider register --namespace Microsoft.Compute
- az provider show --namespace "moduleName" --query "registrationState"