SlideShare a Scribd company logo
A quick introduction to AKS
Alessandro Melchiori - @amelchiori
CodicePlastico
What happens after you die?
What is life?
What is a microservice?
What are microservices
service - oriented architecture
composed of loosely coupled elements
that have bounded context
Adrian Cockcroft
“
”
What are microservices
service - oriented architecture
composed of loosely coupled elements
that have bounded context
Adrian Cockcroft
“
”
Services talk with each other over the network
What are microservices
service - oriented architecture
composed of loosely coupled elements
that have bounded context
Adrian Cockcroft
“
”
You can update the services
independently;
updating one service doesn’t require
changing any other service
What are microservices
service - oriented architecture
composed of loosely coupled elements
that have bounded context
Adrian Cockcroft
“
”Self-contained; you can update the code without knowing
anything about the internals of other microservices
Kubernetes 101
Kubernetes
Greek for “Helmsman” < the person who steers a ship
Kubernetes
Greek for “Helmsman” < the person who steers a ship
K8s
Greek for “Helmsman” < the person who steers a ship
● Born in Google
● Donated to CNCF in 2014
● Open source (Apache 2.0)
● v1.0 July 2015
● Written in Go/Golang
● Code is on GitHub (where otherwise?)
K8s: some infos
Kubernetes is a cluster technology.
It means that you will see a cluster of computers
as one entity. You will not deploy an application
on a specific computer, but somewhere in the
cluster
What’s Kubernetes (k8s)
K8s 101 - Nodes
Each computer in the cluster is called a node.
Eventually, the nodes will host your applications.
The nodes can be spread throughout the world in
different data centers
K8s 101 - Pods
Pods are the smallest unit you will eventually
deploy to the cluster.
A single Pod can hold multiple containers.
K8s 101 - Deployments
Deployments are requirements you give to
Kubernetes regarding your applications (Pods)
K8s 101 - Services
Services are an abstract way to expose an
application running on a set of Pods as a
network service.
Declarative model
& Desired state
Management techniques
The kubectl command-line tool supports several different ways to create and manage
Kubernetes objects:
● Imperative commands
● Imperative object configuration
● Declarative object configuration
Imperative commands
The simplest way to get started or to run a one-off task in a cluster.
kubectl run nginx --image nginx
Imperative commands
PRO:
● Commands are simple, easy to learn
and easy to remember.
● Commands require only a single step
to make changes to the cluster
CONS:
● Commands do not integrate with change
review processes.
● Commands do not provide an audit trail
associated with changes.
Imperative object configuration
In imperative object configuration, the kubectl command specifies the operation
(create, replace, etc.), optional flags and at least one file name.
The file specified must contain a full definition of the object in YAML or JSON format.
kubectl create -f nginx.yaml
Imperative object configuration
PRO:
● Object configuration can be stored in
a source control system such as Git
(vs. imperative commands)
● It’s simpler and easier to understand
(vs. declarative object configuration)
CONS:
● Object configuration requires basic
understanding of the object schema
(vs. imparative commands)
● It works best on files, not directories
(vs. declarative object configuration)
● Updates to live objects must be reflected
in configuration files, or they will be lost
during the next replacement
(vs. declarative object configuration)
Declarative object configuration
Using declarative object configuration, a user operates on object configuration files stored
locally, however the user does not define the operations to be taken on the files.
Create, update, and delete operations are automatically detected per-object by kubectl.
kubectl apply -f configs/
Declarative object configuration
PRO:
● Changes made directly to live objects
are retained, even if they are not merged
back into the configuration files
● It has better support for operating
on directories and automatically
detecting operation types per-object
CONS:
● Declarative object configuration is harder
to debug
DEMO
K8s + Azure = AKS
Kubernetes cluster architecture
A Kubernetes cluster is divided into two components:
Kubernetes cluster architecture
A Kubernetes cluster is divided into two components:
Control plane nodes provide the core Kubernetes
services and orchestration of application
workloads
Kubernetes cluster architecture
A Kubernetes cluster is divided into two components: Nodes run your application workloads.
Control plane
When you create an AKS cluster, a control plane
is automatically created and configured.
This control plane is provided as a managed
Azure resource abstracted from the user.
There's no cost for the control plane, only the
nodes that are part of the AKS cluster.
Nodes and node pools
To run your applications and
supporting services, you need a
Kubernetes node.
An AKS cluster has one or more nodes,
which is an Azure virtual machine (VM)
that runs the Kubernetes node
components and container runtime
Nodes resource reservation
Node resources are utilized by AKS to make the
node function as part of your cluster.
This can create a discrepancy between your
node's total resources and the resources
allocatable when used in AKS.
Don’t Forget!
Node pools
Nodes of the same configuration are grouped together into
node pools.
A Kubernetes cluster contains one or more node pools
When you scale or upgrade an AKS cluster, the action is
performed against the default node pool.
You can also choose to scale or upgrade a specific node
pool.
AKS Networking
AKS networking
To allow access to your applications, or for application components to communicate with each
other, Kubernetes provides an abstraction layer to virtual networking. Kubernetes nodes are
connected to a virtual network, and can provide inbound and outbound connectivity for pods.
The kube-proxy component runs on each node to provide these network features.
To simplify the network configuration for application workloads, Kubernetes uses Services
to logically group a set of pods together and provide network connectivity.
AKS networking: Cluster IP
Creates an internal IP address for use within the AKS cluster.
Good for internal-only applications that support other workloads within the cluster.
AKS networking: NodePort
Creates a port mapping on the underlying node that allows the application to be accessed
directly with the node IP address and port.
AKS networking: Load balancer
Creates an Azure load balancer resource, configures an external IP address, and connects the
requested pods to the load balancer backend pool.
AKS networking: ingress controller
The LoadBalancer only works at layer 4 - the Service is unaware of the actual applications,
and can't make any additional routing considerations. Ingress controllers work at layer 7,
and can use more intelligent rules to distribute application traffic.
Azure Virtual Networks
In AKS, you can deploy a cluster that uses one of the following two network models:
● Kubenet networking - The network resources are typically created and configured
as the AKS cluster is deployed.
● Azure Container Networking Interface (CNI) networking - The AKS cluster is connected
to existing virtual network resources and configurations.
AKS Storage
Storage options for AKS applications
The core concepts that provide storage
to your applications in AKS are:
● Volumes
● Persistent volumes
● Storage classes
● Persistent volume claims
AKS storage options
A volume represents a way to store, retrieve, and persist data across pods and through
the application lifecycle. Volumes that are defined and created as part of the pod lifecycle
only exist until the pod is deleted.
You can manually create these data volumes to be assigned to pods directly,
or have Kubernetes automatically create them.
AKS storage options
Traditional volumes to store and retrieve data are created as Kubernetes resources backed by
Azure Storage. These data volumes can use Azure Disks or Azure Files:
- Azure Disks can be used to create a Kubernetes DataDisk resource.
Azure Disks are mounted as ReadWriteOnce, so are only available to a single pod. For
storage volumes that can be accessed by multiple pods simultaneously, use Azure Files.
- Azure Files can be used to mount an SMB 3.0 share backed by an Azure Storage account
to pods. Files let you share data across multiple nodes and pods.
AKS storage options
AKS Scaling
Manually scale pods or nodes
kubectl scale --replicas=5 deployment/azure-vote-front
az aks scale `
--resource-group myResourceGroup `
--name myAKSCluster `
--node-count 3
Autoscale pods: HPA
Kubernetes uses the horizontal pod
autoscaler (HPA) to monitor the resource
demand and automatically scale
the number of replicas.
When you configure the horizontal pod
autoscaler, you define the minimum and
maximum number of replicas that can run.
You also define the metric to monitor and
base any scaling decisions on.
Cluster autoscaler
To respond to changing pod demands,
Kubernetes has a cluster autoscaler,
that adjusts the number of nodes based
on the requested compute resources
in the node pool.
Cluster autoscaler is typically used alongside
the horizontal pod autoscaler.
ACI integration
Virtual nodes are deployed to an additional subnet in the same virtual network as your AKS cluster.
This virtual network configuration allows the traffic between ACI and AKS to be secured.
Kubernetes event-driven autoscale (KEDA)
KEDA is a single-purpose and lightweight
component that can be added into any
Kubernetes cluster.
KEDA works alongside standard Kubernetes
components like the horizontal pod autoscaler
and can extend functionality without
overwriting or duplication.
Microservice architecture
THE “GOOD”
● An application is sum of its components
● Better fault isolation
● Components can be spread across
multiple servers
THE “BAD”
● Many components, many moving parts
● Difficult to manage inter-communication
● Manual management can be difficult
ALESSANDRO MELCHIORI
Founder & Software developer @CodicePlastico
alessandro@codiceplastico.com
@amelchiori
Grazie!

More Related Content

What's hot

Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
Bob Killen
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
Amazon Web Services
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Amazon Web Services
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
Amazon Web Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
Amazon Web Services
 
Azure Hybid
Azure HybidAzure Hybid
Azure Hybid
Thomas Treml
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Big Compass
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
John Archer
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
Amazon Web Services Korea
 
Network Security and Access Control in AWS
Network Security and Access Control in AWSNetwork Security and Access Control in AWS
Network Security and Access Control in AWS
Amazon Web Services
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control Tower
Amazon Web Services
 
Azure Fundamentals || AZ-900
Azure Fundamentals || AZ-900Azure Fundamentals || AZ-900
Azure Fundamentals || AZ-900
thisiswali
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Martin Danielsson
 
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
Amazon Web Services
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKS
Amazon Web Services
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
Karthikeyan VK
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Winton Winton
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data
Craig Milroy
 
On-premise to Microsoft Azure Cloud Migration.
 On-premise to Microsoft Azure Cloud Migration. On-premise to Microsoft Azure Cloud Migration.
On-premise to Microsoft Azure Cloud Migration.
Emtec Inc.
 

What's hot (20)

Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Azure Hybid
Azure HybidAzure Hybid
Azure Hybid
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
 
Network Security and Access Control in AWS
Network Security and Access Control in AWSNetwork Security and Access Control in AWS
Network Security and Access Control in AWS
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control Tower
 
Azure Fundamentals || AZ-900
Azure Fundamentals || AZ-900Azure Fundamentals || AZ-900
Azure Fundamentals || AZ-900
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKS
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data
 
On-premise to Microsoft Azure Cloud Migration.
 On-premise to Microsoft Azure Cloud Migration. On-premise to Microsoft Azure Cloud Migration.
On-premise to Microsoft Azure Cloud Migration.
 

Similar to A quick introduction to AKS

aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
WaseemShare
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Kubernetes is a ppt of explanation of kubernet topics
Kubernetes is a ppt of explanation of kubernet topicsKubernetes is a ppt of explanation of kubernet topics
Kubernetes is a ppt of explanation of kubernet topics
tnmy4903
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptx
satish642065
 
Docker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptxDocker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptx
ArzitPanda
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
Ryuzaki360
 
Container orchestration k8s azure kubernetes services
Container orchestration  k8s azure kubernetes servicesContainer orchestration  k8s azure kubernetes services
Container orchestration k8s azure kubernetes services
Rajesh Kolla
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
Andrzej Komarnicki
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
jeetendra mandal
 
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptxKubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
HectorSebastianMendo
 
EKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted orientedEKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted oriented
anabella881965
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptx
rathnavel194
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
ssuser9b44c7
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
Kumton Suttiraksiri
 
Getting started with google kubernetes engine
Getting started with google kubernetes engineGetting started with google kubernetes engine
Getting started with google kubernetes engine
Shreya Pohekar
 
Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)
Tanya Seno
 
Docker Online Training | Kubernetes Training in Ameerpet
Docker Online Training | Kubernetes Training in AmeerpetDocker Online Training | Kubernetes Training in Ameerpet
Docker Online Training | Kubernetes Training in Ameerpet
navyatejavisualpath
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptx
BaskarKannanK
 

Similar to A quick introduction to AKS (20)

aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
Kubernetes is a ppt of explanation of kubernet topics
Kubernetes is a ppt of explanation of kubernet topicsKubernetes is a ppt of explanation of kubernet topics
Kubernetes is a ppt of explanation of kubernet topics
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptx
 
Docker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptxDocker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptx
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
 
Container orchestration k8s azure kubernetes services
Container orchestration  k8s azure kubernetes servicesContainer orchestration  k8s azure kubernetes services
Container orchestration k8s azure kubernetes services
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
 
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers ComparisonKubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
 
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptxKubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
 
EKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted orientedEKS AWS Presentation kuberneted oriented
EKS AWS Presentation kuberneted oriented
 
Kubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptxKubernetes-introduction to kubernetes for beginers.pptx
Kubernetes-introduction to kubernetes for beginers.pptx
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
Getting started with google kubernetes engine
Getting started with google kubernetes engineGetting started with google kubernetes engine
Getting started with google kubernetes engine
 
Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)
 
Docker Online Training | Kubernetes Training in Ameerpet
Docker Online Training | Kubernetes Training in AmeerpetDocker Online Training | Kubernetes Training in Ameerpet
Docker Online Training | Kubernetes Training in Ameerpet
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptx
 

More from Alessandro Melchiori

Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!
Alessandro Melchiori
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
Alessandro Melchiori
 
VS Code tools for docker
VS Code tools for dockerVS Code tools for docker
VS Code tools for docker
Alessandro Melchiori
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
Alessandro Melchiori
 
How to search...better! (azure search)
How to search...better! (azure search)How to search...better! (azure search)
How to search...better! (azure search)
Alessandro Melchiori
 
AKS: k8s e azure
AKS: k8s e azureAKS: k8s e azure
AKS: k8s e azure
Alessandro Melchiori
 
How to search...better!
How to search...better!How to search...better!
How to search...better!
Alessandro Melchiori
 
A quick tour around Azure Dev Spaces
A quick tour around Azure Dev SpacesA quick tour around Azure Dev Spaces
A quick tour around Azure Dev Spaces
Alessandro Melchiori
 
Azure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAzure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutes
Alessandro Melchiori
 
Aks: k8s e azure
Aks:  k8s e azureAks:  k8s e azure
Aks: k8s e azure
Alessandro Melchiori
 
Monitoring docker: from zero to Azure
Monitoring docker: from zero to AzureMonitoring docker: from zero to Azure
Monitoring docker: from zero to Azure
Alessandro Melchiori
 
Cooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric togetherCooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric together
Alessandro Melchiori
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
Alessandro Melchiori
 
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azureACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
Alessandro Melchiori
 
Docker & Azure
Docker & AzureDocker & Azure
Docker & Azure
Alessandro Melchiori
 
Docker and Azure
Docker and AzureDocker and Azure
Docker and Azure
Alessandro Melchiori
 
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Alessandro Melchiori
 
Docker &amp; azure
Docker &amp; azureDocker &amp; azure
Docker &amp; azure
Alessandro Melchiori
 
Azure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAzure service fabric: a gentle introduction
Azure service fabric: a gentle introduction
Alessandro Melchiori
 
From CRUD to messages: a true story
From CRUD to messages: a true storyFrom CRUD to messages: a true story
From CRUD to messages: a true story
Alessandro Melchiori
 

More from Alessandro Melchiori (20)

Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
 
VS Code tools for docker
VS Code tools for dockerVS Code tools for docker
VS Code tools for docker
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
 
How to search...better! (azure search)
How to search...better! (azure search)How to search...better! (azure search)
How to search...better! (azure search)
 
AKS: k8s e azure
AKS: k8s e azureAKS: k8s e azure
AKS: k8s e azure
 
How to search...better!
How to search...better!How to search...better!
How to search...better!
 
A quick tour around Azure Dev Spaces
A quick tour around Azure Dev SpacesA quick tour around Azure Dev Spaces
A quick tour around Azure Dev Spaces
 
Azure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAzure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutes
 
Aks: k8s e azure
Aks:  k8s e azureAks:  k8s e azure
Aks: k8s e azure
 
Monitoring docker: from zero to Azure
Monitoring docker: from zero to AzureMonitoring docker: from zero to Azure
Monitoring docker: from zero to Azure
 
Cooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric togetherCooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric together
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azureACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
 
Docker & Azure
Docker & AzureDocker & Azure
Docker & Azure
 
Docker and Azure
Docker and AzureDocker and Azure
Docker and Azure
 
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR
 
Docker &amp; azure
Docker &amp; azureDocker &amp; azure
Docker &amp; azure
 
Azure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAzure service fabric: a gentle introduction
Azure service fabric: a gentle introduction
 
From CRUD to messages: a true story
From CRUD to messages: a true storyFrom CRUD to messages: a true story
From CRUD to messages: a true story
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 

A quick introduction to AKS

  • 1. A quick introduction to AKS Alessandro Melchiori - @amelchiori CodicePlastico
  • 2.
  • 5. What is a microservice?
  • 6.
  • 7. What are microservices service - oriented architecture composed of loosely coupled elements that have bounded context Adrian Cockcroft “ ”
  • 8. What are microservices service - oriented architecture composed of loosely coupled elements that have bounded context Adrian Cockcroft “ ” Services talk with each other over the network
  • 9. What are microservices service - oriented architecture composed of loosely coupled elements that have bounded context Adrian Cockcroft “ ” You can update the services independently; updating one service doesn’t require changing any other service
  • 10. What are microservices service - oriented architecture composed of loosely coupled elements that have bounded context Adrian Cockcroft “ ”Self-contained; you can update the code without knowing anything about the internals of other microservices
  • 12. Kubernetes Greek for “Helmsman” < the person who steers a ship
  • 13. Kubernetes Greek for “Helmsman” < the person who steers a ship
  • 14. K8s Greek for “Helmsman” < the person who steers a ship
  • 15. ● Born in Google ● Donated to CNCF in 2014 ● Open source (Apache 2.0) ● v1.0 July 2015 ● Written in Go/Golang ● Code is on GitHub (where otherwise?) K8s: some infos
  • 16. Kubernetes is a cluster technology. It means that you will see a cluster of computers as one entity. You will not deploy an application on a specific computer, but somewhere in the cluster What’s Kubernetes (k8s)
  • 17. K8s 101 - Nodes Each computer in the cluster is called a node. Eventually, the nodes will host your applications. The nodes can be spread throughout the world in different data centers
  • 18. K8s 101 - Pods Pods are the smallest unit you will eventually deploy to the cluster. A single Pod can hold multiple containers.
  • 19. K8s 101 - Deployments Deployments are requirements you give to Kubernetes regarding your applications (Pods)
  • 20. K8s 101 - Services Services are an abstract way to expose an application running on a set of Pods as a network service.
  • 22. Management techniques The kubectl command-line tool supports several different ways to create and manage Kubernetes objects: ● Imperative commands ● Imperative object configuration ● Declarative object configuration
  • 23. Imperative commands The simplest way to get started or to run a one-off task in a cluster. kubectl run nginx --image nginx
  • 24. Imperative commands PRO: ● Commands are simple, easy to learn and easy to remember. ● Commands require only a single step to make changes to the cluster CONS: ● Commands do not integrate with change review processes. ● Commands do not provide an audit trail associated with changes.
  • 25. Imperative object configuration In imperative object configuration, the kubectl command specifies the operation (create, replace, etc.), optional flags and at least one file name. The file specified must contain a full definition of the object in YAML or JSON format. kubectl create -f nginx.yaml
  • 26. Imperative object configuration PRO: ● Object configuration can be stored in a source control system such as Git (vs. imperative commands) ● It’s simpler and easier to understand (vs. declarative object configuration) CONS: ● Object configuration requires basic understanding of the object schema (vs. imparative commands) ● It works best on files, not directories (vs. declarative object configuration) ● Updates to live objects must be reflected in configuration files, or they will be lost during the next replacement (vs. declarative object configuration)
  • 27. Declarative object configuration Using declarative object configuration, a user operates on object configuration files stored locally, however the user does not define the operations to be taken on the files. Create, update, and delete operations are automatically detected per-object by kubectl. kubectl apply -f configs/
  • 28. Declarative object configuration PRO: ● Changes made directly to live objects are retained, even if they are not merged back into the configuration files ● It has better support for operating on directories and automatically detecting operation types per-object CONS: ● Declarative object configuration is harder to debug
  • 29. DEMO
  • 30. K8s + Azure = AKS
  • 31. Kubernetes cluster architecture A Kubernetes cluster is divided into two components:
  • 32. Kubernetes cluster architecture A Kubernetes cluster is divided into two components: Control plane nodes provide the core Kubernetes services and orchestration of application workloads
  • 33. Kubernetes cluster architecture A Kubernetes cluster is divided into two components: Nodes run your application workloads.
  • 34. Control plane When you create an AKS cluster, a control plane is automatically created and configured. This control plane is provided as a managed Azure resource abstracted from the user. There's no cost for the control plane, only the nodes that are part of the AKS cluster.
  • 35. Nodes and node pools To run your applications and supporting services, you need a Kubernetes node. An AKS cluster has one or more nodes, which is an Azure virtual machine (VM) that runs the Kubernetes node components and container runtime
  • 36. Nodes resource reservation Node resources are utilized by AKS to make the node function as part of your cluster. This can create a discrepancy between your node's total resources and the resources allocatable when used in AKS. Don’t Forget!
  • 37. Node pools Nodes of the same configuration are grouped together into node pools. A Kubernetes cluster contains one or more node pools When you scale or upgrade an AKS cluster, the action is performed against the default node pool. You can also choose to scale or upgrade a specific node pool.
  • 39. AKS networking To allow access to your applications, or for application components to communicate with each other, Kubernetes provides an abstraction layer to virtual networking. Kubernetes nodes are connected to a virtual network, and can provide inbound and outbound connectivity for pods. The kube-proxy component runs on each node to provide these network features. To simplify the network configuration for application workloads, Kubernetes uses Services to logically group a set of pods together and provide network connectivity.
  • 40. AKS networking: Cluster IP Creates an internal IP address for use within the AKS cluster. Good for internal-only applications that support other workloads within the cluster.
  • 41. AKS networking: NodePort Creates a port mapping on the underlying node that allows the application to be accessed directly with the node IP address and port.
  • 42. AKS networking: Load balancer Creates an Azure load balancer resource, configures an external IP address, and connects the requested pods to the load balancer backend pool.
  • 43. AKS networking: ingress controller The LoadBalancer only works at layer 4 - the Service is unaware of the actual applications, and can't make any additional routing considerations. Ingress controllers work at layer 7, and can use more intelligent rules to distribute application traffic.
  • 44. Azure Virtual Networks In AKS, you can deploy a cluster that uses one of the following two network models: ● Kubenet networking - The network resources are typically created and configured as the AKS cluster is deployed. ● Azure Container Networking Interface (CNI) networking - The AKS cluster is connected to existing virtual network resources and configurations.
  • 46. Storage options for AKS applications The core concepts that provide storage to your applications in AKS are: ● Volumes ● Persistent volumes ● Storage classes ● Persistent volume claims
  • 47. AKS storage options A volume represents a way to store, retrieve, and persist data across pods and through the application lifecycle. Volumes that are defined and created as part of the pod lifecycle only exist until the pod is deleted. You can manually create these data volumes to be assigned to pods directly, or have Kubernetes automatically create them.
  • 48. AKS storage options Traditional volumes to store and retrieve data are created as Kubernetes resources backed by Azure Storage. These data volumes can use Azure Disks or Azure Files: - Azure Disks can be used to create a Kubernetes DataDisk resource. Azure Disks are mounted as ReadWriteOnce, so are only available to a single pod. For storage volumes that can be accessed by multiple pods simultaneously, use Azure Files. - Azure Files can be used to mount an SMB 3.0 share backed by an Azure Storage account to pods. Files let you share data across multiple nodes and pods.
  • 51. Manually scale pods or nodes kubectl scale --replicas=5 deployment/azure-vote-front az aks scale ` --resource-group myResourceGroup ` --name myAKSCluster ` --node-count 3
  • 52. Autoscale pods: HPA Kubernetes uses the horizontal pod autoscaler (HPA) to monitor the resource demand and automatically scale the number of replicas. When you configure the horizontal pod autoscaler, you define the minimum and maximum number of replicas that can run. You also define the metric to monitor and base any scaling decisions on.
  • 53. Cluster autoscaler To respond to changing pod demands, Kubernetes has a cluster autoscaler, that adjusts the number of nodes based on the requested compute resources in the node pool. Cluster autoscaler is typically used alongside the horizontal pod autoscaler.
  • 54. ACI integration Virtual nodes are deployed to an additional subnet in the same virtual network as your AKS cluster. This virtual network configuration allows the traffic between ACI and AKS to be secured.
  • 55. Kubernetes event-driven autoscale (KEDA) KEDA is a single-purpose and lightweight component that can be added into any Kubernetes cluster. KEDA works alongside standard Kubernetes components like the horizontal pod autoscaler and can extend functionality without overwriting or duplication.
  • 56.
  • 57. Microservice architecture THE “GOOD” ● An application is sum of its components ● Better fault isolation ● Components can be spread across multiple servers THE “BAD” ● Many components, many moving parts ● Difficult to manage inter-communication ● Manual management can be difficult
  • 58. ALESSANDRO MELCHIORI Founder & Software developer @CodicePlastico alessandro@codiceplastico.com @amelchiori