SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Nilesh Gule
@nileshgule | www.HandsOnArchitect.com
Scaling .Net Core
Containers with
Azure Kubernetes Service and
Serverless ACI
$whoami
{
“name” : “Nilesh Gule”,
“website” : “https://www.HandsOnArchitect.com",
“github” : “https://GitHub.com/NileshGule"
“twitter” : “@nileshgule”,
“linkedin” : “https://www.linkedin.com/in/nileshgule”,
“likes” : “Technical Evangelism, Cricket”,
“co-organizer” : “Azure Singapore UG”
}
@nileshgule
Containerize .Net Core
App
Build & publish Docker images to private Azure
Container Registry (ACR)
Autoscale using k8s
K8s deployment, KEDA autoscaling, extending
to serverless Azure Container Instences (ACI)
Application Overview Docker Images
Container Registries Kubernetes deployment
Autoscaling with KEDA Serverless container with ACI
Agenda
@nileshgule
RabbitMQ Demo – Producer & Consumer
1000
(configurable)
messages
Batch of 50
(configurable)
messages
https://github.com/NileshGule/pd-tech-fest-2019
@nileshgule
Docker – main features
Security
Process isolation, resource
limits
Portability
Runs across multiple env
with Docker runtime
Performance
Smaller footprint than VM, lightning
fast
Multi-cloud
Deploy Docker images to multi-cloud
environments
Isolation
Isolates multiple versions of dependencies
Agility
Integrates into CI CD pipelines
Demo build & publish docker
images
@nileshgule
RabbitMQ Demo – Docker Images
https://github.com/NileshGule/pd-tech-fest-2019
 Docker multi-stage builds
 Docker-compose, build & publish multiple
images
 Azure Container Registry (ACR) private registry
@nileshgule
RabbitMQ Demo –Docker Container Registry
@nileshgule
Kubernetes – main features
Self healing
Restart / Replace / kill
containers based on heath
checks
Service
discovery & LB
Expose container using DNS
name or IP
Secrets & Config Mgt
Manage sensitive info (pwd / Oauth
tokens / SSH keys etc)
Auto bin packing
Fits containers to nodes based on
resource limits
Storage Orchestration
Mount storage from local, public cloud oro
ther sources
Auto rollout & rollback
Desired state configuration to manage rollouts
& upgrades
@nileshgule
Demo deploy application
containers
@nileshgule
RabbitMQ Demo – Kubernetes deployment
https://github.com/NileshGule/pd-tech-fest-2019
 Manifest files describe Deployment and Service
 Helm charts to deploy third-party apps / services
 Octant – visualize k8s cluster
 Kubectl to deploy Manifest
AKS Managed Identity
(aksmqcluster-agentpool)
nileshgule/techtalksmqproducer
nileshgule/techtalksmqconsumer
ngACRRegistry aksmqCluster
ngacrregistry.azurecr.io/nileshgule
/techtalksmqproducer
ngacrregistry.azurecr.io/nileshgule/
techtalksmqconsumer
Acr pull
acrResourceGroup demo-kedaSeriesRG
docker push using
azure user token
Acr login using AAD
No need to use
Admin user
@nileshgule
Kubernetes Scaling Options
1
2
3
Horizontal Pod
Autoscaler
Cluster Autoscaler
Manual scaling
KEDA Architecture
Azure Event Hub
Azure Service Bus Queues and Topics
Azure Storage Queues
Kafka
Prometheus
RabbitMQ
Redis Lists
Liiklus
NATS
AWS CloudWatch
AWS Simple Queue Service
GCP PubSub
Integrates with Azure functions
@nileshgule
RabbitMQ Demo – KEDA Event driven autoscaling
 RabbitMQ event source
 KEDA autoscaler to scale consumer deployment1000
(configurable)
messages
Batch of 50
(configurable)
messages
https://github.com/NileshGule/pd-tech-fest-2019
Demo deploy KEDA on AKS
cluster
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
name: rabbitmq-consumer
namespace: default
labels:
deploymentName: rabbitmq-consumer-deployment
spec:
scaleTargetRef:
deploymentName: rabbitmq-consumer
pollingInterval: 5 # Optional. Default: 30 seconds
cooldownPeriod: 30 # Optional. Default: 300 seconds
minReplicaCount: 1 # Optional. Default: 0
maxReplicaCount: 30 # Optional. Default: 100
triggers:
- type: rabbitmq
metadata:
queueName: hello
queueLength : ‘5’
authenticationRef:
name: trigger-auth-rabbitmq-host
Pros Cons
Scale RabbitMQ Consumer with Virtual Node
kedaVNet
kedaAKSSubnet kedaVirtualNodeSubnet
Producer -
.Net Core
API
Consumers
- .Net Core
exe
Demo extend KEDA with Virtual
Node
Summary
• Self contained application with all its
dependencies
Docker
• Orchestrates containers
• Self healing
• Service discovery
• Scaling
Kubernetes
• Extends Kubernetes with event driven capabilities
KEDA
Play with Docker
Play with Kubernetes
Kubernetes Learning Path : MSLearn
Linux Academy learning paths
AKS cluster-autoscalar
Virtual Node
Horizontal pod autoscale
virtual kubelet
KEDA
https://azure.microsoft.com/mediahandler/files/resourcefiles/kubernetes-learning-
path/Kubernetes%20Learning%20Path%20version%201.0.pdf
Azure Kubernetes
Service Workshop
References
https://github.com/NileshGule/pd-tech-fest-2019
Thank you very much
Code with Passion and Strive for Excellence
https://www.slideshare.net/nileshgule/presentations
https://speakerdeck.com/nileshgule/
Nilesh Gule
ARCHITECT | MICROSOFT MVP
“Code with Passion and
Strive for Excellence”
nileshgule @nileshgule Nilesh Gule
NileshGule
www.handsonarchitect.com
Q&A

Contenu connexe

Plus de Nilesh Gule

Cloud Native Ninja - PT8 - Containerize React app.pdf
Cloud Native Ninja - PT8 - Containerize React app.pdfCloud Native Ninja - PT8 - Containerize React app.pdf
Cloud Native Ninja - PT8 - Containerize React app.pdfNilesh Gule
 
Modular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfModular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfNilesh Gule
 
Modular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfModular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfNilesh Gule
 
Cloud Native Ninja - PT7 - Containerize Go apps.pdf
Cloud Native Ninja - PT7 - Containerize Go apps.pdfCloud Native Ninja - PT7 - Containerize Go apps.pdf
Cloud Native Ninja - PT7 - Containerize Go apps.pdfNilesh Gule
 
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdf
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdfCloud Native Ninja - PT6 - Containerize Spring Boot apps.pdf
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdfNilesh Gule
 
Cloud Native Ninja - PT5 - Publish container images.pdf
Cloud Native Ninja - PT5 - Publish container images.pdfCloud Native Ninja - PT5 - Publish container images.pdf
Cloud Native Ninja - PT5 - Publish container images.pdfNilesh Gule
 
Portable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfPortable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfNilesh Gule
 
Portable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfPortable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfNilesh Gule
 
Manage Multi Container Apps with Docker Compose.pdf
Manage Multi Container Apps with Docker Compose.pdfManage Multi Container Apps with Docker Compose.pdf
Manage Multi Container Apps with Docker Compose.pdfNilesh Gule
 
Portable Multi-cloud Microservices with Dapr .pptx
Portable Multi-cloud Microservices with Dapr .pptxPortable Multi-cloud Microservices with Dapr .pptx
Portable Multi-cloud Microservices with Dapr .pptxNilesh Gule
 
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdf
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdfCloud Native Ninja - PT3 - Containerize DOTNET apps.pdf
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdfNilesh Gule
 
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdf
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdfCloud Native Ninja - Distributed Microservices with Dapr - part 2.pdf
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdfNilesh Gule
 
Distributed Event Driven Systems with KEDA.pdf
Distributed Event Driven Systems with KEDA.pdfDistributed Event Driven Systems with KEDA.pdf
Distributed Event Driven Systems with KEDA.pdfNilesh Gule
 
Cloud Native Ninja - Getting Started with Containers - Part 1.pdf
Cloud Native Ninja - Getting Started with Containers - Part 1.pdfCloud Native Ninja - Getting Started with Containers - Part 1.pdf
Cloud Native Ninja - Getting Started with Containers - Part 1.pdfNilesh Gule
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
Cloud Native Ninja - kickoff.pdf
Cloud Native Ninja - kickoff.pdfCloud Native Ninja - kickoff.pdf
Cloud Native Ninja - kickoff.pdfNilesh Gule
 
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdf
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdfFestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdf
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdfNilesh Gule
 
Azure-Container-Apps.pdf
Azure-Container-Apps.pdfAzure-Container-Apps.pdf
Azure-Container-Apps.pdfNilesh Gule
 
Modern Data Warehouse using Azure.pdf
Modern Data Warehouse using Azure.pdfModern Data Warehouse using Azure.pdf
Modern Data Warehouse using Azure.pdfNilesh Gule
 
Getting Started With Azure Container Apps.pdf
Getting Started With Azure Container Apps.pdfGetting Started With Azure Container Apps.pdf
Getting Started With Azure Container Apps.pdfNilesh Gule
 

Plus de Nilesh Gule (20)

Cloud Native Ninja - PT8 - Containerize React app.pdf
Cloud Native Ninja - PT8 - Containerize React app.pdfCloud Native Ninja - PT8 - Containerize React app.pdf
Cloud Native Ninja - PT8 - Containerize React app.pdf
 
Modular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfModular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdf
 
Modular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdfModular Architecturs for resilience and Adaptability.pdf
Modular Architecturs for resilience and Adaptability.pdf
 
Cloud Native Ninja - PT7 - Containerize Go apps.pdf
Cloud Native Ninja - PT7 - Containerize Go apps.pdfCloud Native Ninja - PT7 - Containerize Go apps.pdf
Cloud Native Ninja - PT7 - Containerize Go apps.pdf
 
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdf
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdfCloud Native Ninja - PT6 - Containerize Spring Boot apps.pdf
Cloud Native Ninja - PT6 - Containerize Spring Boot apps.pdf
 
Cloud Native Ninja - PT5 - Publish container images.pdf
Cloud Native Ninja - PT5 - Publish container images.pdfCloud Native Ninja - PT5 - Publish container images.pdf
Cloud Native Ninja - PT5 - Publish container images.pdf
 
Portable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfPortable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdf
 
Portable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdfPortable Multi-cloud Microservices with Dapr .pdf
Portable Multi-cloud Microservices with Dapr .pdf
 
Manage Multi Container Apps with Docker Compose.pdf
Manage Multi Container Apps with Docker Compose.pdfManage Multi Container Apps with Docker Compose.pdf
Manage Multi Container Apps with Docker Compose.pdf
 
Portable Multi-cloud Microservices with Dapr .pptx
Portable Multi-cloud Microservices with Dapr .pptxPortable Multi-cloud Microservices with Dapr .pptx
Portable Multi-cloud Microservices with Dapr .pptx
 
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdf
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdfCloud Native Ninja - PT3 - Containerize DOTNET apps.pdf
Cloud Native Ninja - PT3 - Containerize DOTNET apps.pdf
 
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdf
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdfCloud Native Ninja - Distributed Microservices with Dapr - part 2.pdf
Cloud Native Ninja - Distributed Microservices with Dapr - part 2.pdf
 
Distributed Event Driven Systems with KEDA.pdf
Distributed Event Driven Systems with KEDA.pdfDistributed Event Driven Systems with KEDA.pdf
Distributed Event Driven Systems with KEDA.pdf
 
Cloud Native Ninja - Getting Started with Containers - Part 1.pdf
Cloud Native Ninja - Getting Started with Containers - Part 1.pdfCloud Native Ninja - Getting Started with Containers - Part 1.pdf
Cloud Native Ninja - Getting Started with Containers - Part 1.pdf
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
Cloud Native Ninja - kickoff.pdf
Cloud Native Ninja - kickoff.pdfCloud Native Ninja - kickoff.pdf
Cloud Native Ninja - kickoff.pdf
 
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdf
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdfFestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdf
FestiveTechCalendar2022 - Getting Started with Azure Container Apps.pdf
 
Azure-Container-Apps.pdf
Azure-Container-Apps.pdfAzure-Container-Apps.pdf
Azure-Container-Apps.pdf
 
Modern Data Warehouse using Azure.pdf
Modern Data Warehouse using Azure.pdfModern Data Warehouse using Azure.pdf
Modern Data Warehouse using Azure.pdf
 
Getting Started With Azure Container Apps.pdf
Getting Started With Azure Container Apps.pdfGetting Started With Azure Container Apps.pdf
Getting Started With Azure Container Apps.pdf
 

Dernier

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Scaling containers with AKS and ACI

  • 1. Nilesh Gule @nileshgule | www.HandsOnArchitect.com Scaling .Net Core Containers with Azure Kubernetes Service and Serverless ACI
  • 2. $whoami { “name” : “Nilesh Gule”, “website” : “https://www.HandsOnArchitect.com", “github” : “https://GitHub.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “likes” : “Technical Evangelism, Cricket”, “co-organizer” : “Azure Singapore UG” }
  • 3.
  • 4. @nileshgule Containerize .Net Core App Build & publish Docker images to private Azure Container Registry (ACR) Autoscale using k8s K8s deployment, KEDA autoscaling, extending to serverless Azure Container Instences (ACI) Application Overview Docker Images Container Registries Kubernetes deployment Autoscaling with KEDA Serverless container with ACI Agenda
  • 5.
  • 6. @nileshgule RabbitMQ Demo – Producer & Consumer 1000 (configurable) messages Batch of 50 (configurable) messages https://github.com/NileshGule/pd-tech-fest-2019
  • 7. @nileshgule Docker – main features Security Process isolation, resource limits Portability Runs across multiple env with Docker runtime Performance Smaller footprint than VM, lightning fast Multi-cloud Deploy Docker images to multi-cloud environments Isolation Isolates multiple versions of dependencies Agility Integrates into CI CD pipelines
  • 8. Demo build & publish docker images
  • 9. @nileshgule RabbitMQ Demo – Docker Images https://github.com/NileshGule/pd-tech-fest-2019  Docker multi-stage builds  Docker-compose, build & publish multiple images  Azure Container Registry (ACR) private registry
  • 11. @nileshgule Kubernetes – main features Self healing Restart / Replace / kill containers based on heath checks Service discovery & LB Expose container using DNS name or IP Secrets & Config Mgt Manage sensitive info (pwd / Oauth tokens / SSH keys etc) Auto bin packing Fits containers to nodes based on resource limits Storage Orchestration Mount storage from local, public cloud oro ther sources Auto rollout & rollback Desired state configuration to manage rollouts & upgrades
  • 14. @nileshgule RabbitMQ Demo – Kubernetes deployment https://github.com/NileshGule/pd-tech-fest-2019  Manifest files describe Deployment and Service  Helm charts to deploy third-party apps / services  Octant – visualize k8s cluster  Kubectl to deploy Manifest
  • 15. AKS Managed Identity (aksmqcluster-agentpool) nileshgule/techtalksmqproducer nileshgule/techtalksmqconsumer ngACRRegistry aksmqCluster ngacrregistry.azurecr.io/nileshgule /techtalksmqproducer ngacrregistry.azurecr.io/nileshgule/ techtalksmqconsumer Acr pull acrResourceGroup demo-kedaSeriesRG docker push using azure user token Acr login using AAD No need to use Admin user
  • 16. @nileshgule Kubernetes Scaling Options 1 2 3 Horizontal Pod Autoscaler Cluster Autoscaler Manual scaling
  • 18. Azure Event Hub Azure Service Bus Queues and Topics Azure Storage Queues Kafka Prometheus RabbitMQ Redis Lists Liiklus NATS AWS CloudWatch AWS Simple Queue Service GCP PubSub Integrates with Azure functions
  • 19. @nileshgule RabbitMQ Demo – KEDA Event driven autoscaling  RabbitMQ event source  KEDA autoscaler to scale consumer deployment1000 (configurable) messages Batch of 50 (configurable) messages https://github.com/NileshGule/pd-tech-fest-2019
  • 20. Demo deploy KEDA on AKS cluster
  • 21. apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: rabbitmq-consumer namespace: default labels: deploymentName: rabbitmq-consumer-deployment spec: scaleTargetRef: deploymentName: rabbitmq-consumer pollingInterval: 5 # Optional. Default: 30 seconds cooldownPeriod: 30 # Optional. Default: 300 seconds minReplicaCount: 1 # Optional. Default: 0 maxReplicaCount: 30 # Optional. Default: 100 triggers: - type: rabbitmq metadata: queueName: hello queueLength : ‘5’ authenticationRef: name: trigger-auth-rabbitmq-host
  • 22.
  • 24. Scale RabbitMQ Consumer with Virtual Node kedaVNet kedaAKSSubnet kedaVirtualNodeSubnet Producer - .Net Core API Consumers - .Net Core exe
  • 25. Demo extend KEDA with Virtual Node
  • 26. Summary • Self contained application with all its dependencies Docker • Orchestrates containers • Self healing • Service discovery • Scaling Kubernetes • Extends Kubernetes with event driven capabilities KEDA
  • 27. Play with Docker Play with Kubernetes Kubernetes Learning Path : MSLearn Linux Academy learning paths
  • 28. AKS cluster-autoscalar Virtual Node Horizontal pod autoscale virtual kubelet KEDA https://azure.microsoft.com/mediahandler/files/resourcefiles/kubernetes-learning- path/Kubernetes%20Learning%20Path%20version%201.0.pdf
  • 29.
  • 32. Thank you very much Code with Passion and Strive for Excellence https://www.slideshare.net/nileshgule/presentations https://speakerdeck.com/nileshgule/
  • 33. Nilesh Gule ARCHITECT | MICROSOFT MVP “Code with Passion and Strive for Excellence” nileshgule @nileshgule Nilesh Gule NileshGule www.handsonarchitect.com
  • 34. Q&A