Spaces:
Runtime error
Runtime error
# Azure Container Apps | |
1. ๐ฅ Users | |
- ๐ฅ Inbound Traffic | |
2. ๐ Load Balancer w Public IP | |
- ๐ธ๏ธ Virtual Network | |
- ๐ Private Endpoints | |
- ๐ฆ External Container App env w Ingress IP restrictions | |
3. ๐ Private Endpoints | |
- ๐๏ธ Key Vault | |
- ๐ข๏ธ Container Registry | |
- ๐ Cache for REDIS | |
- ๐พ Storage | |
- ๐ Service Bus | |
4. ๐ค Outbound Traffic | |
- ๐ฅ Firewall | |
- ๐บ๏ธ Route Table | |
## ๐ Azure Container Apps - Outline | |
1. ๐ฆ Container Apps Overview | |
- ๐ ACA is serverless microservices mashup of Open Source: | |
1. ๐ณ Kubernetes: Container | |
2. ๐ Dapr: Runtime and API | |
3. ๐ KEDA: Kube based autoscaler | |
4. ๐ก๏ธ Envoy: Proxy w Endpoint SSL | |
- ๐ Service Discovery | |
- ๐ฆ Traffic Splitting | |
- ๐ Event driven scaling based on traffic | |
- ๐ฎ Event source queues | |
- โฌ๏ธ Scales down to zero | |
- ๐ Long running processes and background tasks | |
2. ๐ Environment Internal vs External | |
- ๐ External: Public VIP | |
- ๐ Internal: VIP and ILB | |
3. ๐๏ธ Infrastructure w/ Azure Bicep | |
4. โ๏ธ Load Balancing Options | |
# ๐ Azure Bicep vs ๐๏ธ HashiCorp Terraform | |
## Overview | |
- Azure Bicep | |
- ๐ฏ Domain-specific language (DSL) for deploying Azure resources | |
- ๐ผ Developed and maintained by Microsoft | |
- ๐ Azure-centric; specifically designed for Azure Resource Manager (ARM) templates | |
- HashiCorp Terraform | |
- ๐ฏ Open-source infrastructure as code (IaC) tool | |
- ๐ผ Developed and maintained by HashiCorp | |
- ๐ข Multi-cloud and multi-provider support | |
## Language and Syntax | |
- Azure Bicep | |
- ๐ Easier, simplified syntax compared to ARM templates | |
- ๐ Transpiles to ARM templates | |
- HashiCorp Terraform | |
- ๐ HashiCorp Configuration Language (HCL); more complex syntax than Bicep | |
- ๐๏ธ Uses provider-specific resource definitions | |
## Provider Support | |
- Azure Bicep | |
- ๐ Limited to Azure services and resources | |
- HashiCorp Terraform | |
- ๐ฉ๏ธ Supports multiple cloud providers (e.g., AWS, GCP, Azure) and non-cloud services | |
- ๐ฆ Extensible through custom providers | |
## Community and Ecosystem | |
- Azure Bicep | |
- ๐ฑ Growing community focused on Azure resources | |
- ๐ Limited to Azure documentation and resources | |
- HashiCorp Terraform | |
- ๐ณ Mature and established community and ecosystem | |
- ๐ Extensive documentation and resources for various cloud providers and platforms | |
## Conclusion | |
- Azure Bicep is best suited for organizations and developers primarily focused on Azure resources with a need for a simple, Azure-centric IaC solution. | |
- HashiCorp Terraform is ideal for organizations and developers with multi-cloud or multi-provider requirements, as it offers greater flexibility and extensibility across different platforms. | |
# ๐ฅ Ingress vs Egress | |
1. ๐ฅ Ingress | |
- ๐ External Traffic | |
- Incoming traffic from users, clients, or other services outside the network | |
- Accessing resources within the network or system (e.g., API, web services) | |
- ๐ Internal Traffic | |
- Communication between components within the network or system (e.g., microservices) | |
- Typically restricted access for improved security | |
2. ๐ค Egress | |
- ๐ External Traffic | |
- Outgoing traffic from the network or system to users, clients, or other services | |
- Sending responses or data to external entities | |
- ๐ Internal Traffic | |
- Communication between components within the network or system (e.g., microservices) | |
- Typically restricted access for improved security | |
For Ingress: Azure Container Apps supports HTTPS and TCP types of ingress. | |
With HTTPS ingress enabled container apps support TLS, HTTP/1.1 and 2, Websocket, gRPC. TLS1.2 is used for HTTPS. Endpoints expose port 80, 443. 80 is redirected to 443. App accessed on FQDN. Request timeout is 240 seconds. | |
FrontDoor app delivery net provides global load balanceand site acceleration similar to L7. Available in Std and Premium. | |
# Terraform Import: | |
 | |
Usage: terraform import ADDR ID | |
# Azure Container Registry | |
Admin user - enable to access via CLI | |
Name and Resource Group | |
Location (Central) - | |
# Github Actions YAML: | |
1. Azure Build Docker Image, Push ACR | |
2. Azure Container App Deploy | |
3. Dockerfile (Image Push) | |