.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