.NET Microservices with Azure Container Apps


What is Serverless
No infrastructure management
Using fully managed services enables developers to avoid administrative tasks and focus on core business logic. With a serverless platform, you simply deploy your code, and it runs with high availability.
Dynamic scalability
With serverless computing, the infrastructure dynamically scales up and down within seconds to match the demands of any workload.
Faster time to market
Serverless applications reduce the operations dependencies on each development cycle, increasing development teams’ agility to deliver more functionality in less time.
More efficient use of resources
Shifting to serverless technologies helps organizations reduce Total Cost of Ownership (TCO) and reallocate resources to accelerate the pace of innovation.
What is Serverless
Serverless Computing vs. Traditional Computing
backend/service/api


{Id:123,Name:"Ryan",LastName:"Dizon"}
backend/service/api
{Id:123,Name:"Ryan",LastName:"Dizon"}
(Runtime: 100ms)
(Uptime: 72h)


linkedin.com/in/ryanninodizon

sessionize.com/ryanninodizon

youtube.com/@LearnWithJon

medium.com/@ryanninodizon

github.com/ryanninodizon
Ryan Niño Dizon

Azure/Cloud Native
Azure Container Apps
- Kubernetes is powerful but some developers hates yaml files and complex configurations :)
- ACA still uses Kubernetes
- ACA has more limitations than K8s
- ACA plans:
- Consumption
- Dedicated




Environment - virtual network boundary
Environment - virtual network boundary
Container App 1
Container App 2
Environment - virtual network boundary
Container App 1
Container App 2
Revision 1
Revision 2
Revision 1
Revision 2
Environment - virtual network boundary
Container App 1
Container App 2
Revision 1
Revision 2
Revision 1
Revision 2
Replica
Replica
Replica
Replica
Replica
Replica
Environment - virtual network boundary
Container App 1
Container App 2
Revision 1
Revision 2
Revision 1
Revision 2
Replica
Replica
Replica
Replica
Replica
Replica
Containers
Containers
Containers
Containers
Containers
Containers

Example - Solution Architecture
az login
az extension add
--name containerapp
--upgrade
az provider register
--namespace Microsoft.App
az provider register
--namespace Microsoft.OperationalInsights
//Deploy from an existing image
az containerapp up
--name <CONTAINER_APP_NAME>
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG>
--resource-group <RESOURCE_GROUP_NAME>
--environment <ENVIRONMENT_NAME>
--ingress external
--target-port <PORT_NUMBER>
//Deploy from local source code
az containerapp up
--name <CONTAINER_APP_NAME>
--source <SOURCE_DIRECTORY>
--resource-group <RESOURCE_GROUP_NAME>
--environment <ENVIRONMENT_NAME>
//Deploy from a GitHub repository
az containerapp up
--name <CONTAINER_APP_NAME>
--repo <GitHub repository URL>
--ingress external
AZD Commands
// Install Azure Developer CLI
winget install microsoft.azd
//Login to Azure tenant
azd auth login
//Initialize azd deployment
azd init
//azd provision and azd deploy will be executed
azd up
//Deploy changes
azd deploy
//Deploy specific projects
azd deploy webfrontend
{Enough Slides}


linkedin.com/in/ryanninodizon

sessionize.com/ryanninodizon

youtube.com/@LearnWithJon

medium.com/@ryanninodizon

github.com/ryanninodizon
Ryan Niño Dizon

Azure/Cloud Native
Thank you for listening!
How azd up work ?

.NET Microservices with Azure Container Apps
By Ryan Niño Dizon
.NET Microservices with Azure Container Apps
- 4