Course Code:
microsoftazureaks
Duration:
28 hours
Overview:
Podczas szkolenia omówimy techniki tworzenia aplikacji z wykorzystaniem chmury obliczeniowej Microsoft Azure, konteneryzacji (Docker) i usługi Azure Kubernetes Service (AKS). Szkolenie rozpoczniemy od omówienia Microsoft Azure od strony architektonicznej. W szczególności jakie są dostępne strategie hostowania aplikacji: maszyny wirtualne, konteneryzacja, serverless, AppService, Azure Batch i AKS. Omówimy też zakres możliwości Microsoft Azure i nauczymy się tworzyć grupy zasobów oraz zasoby/usługi z wykorzystaniem portalu, Azure CLI i CloudShell. Wdrożymy też przykładowe aplikacje Kotlin i Python. Dowiemy się jakie usługi umożliwiają nam przechowywanie danych w Microsoft Azure, i jak je zintegrować z aplikacjami poprzez odpowiednie SDK.
Dalej przejdziemy do omówienia nowoczesnego tworzenia aplikacji w oparciu o chmurę, repozytorium Git, kontenery Docker, przepływy CI/CD (z Azure DevOps services) i AKS. Poznamy tak zwaną wewnętrzną i zewnętrzną pętle, i zobaczymy jak poszczególne elementy składają się na automatyzację wdrożenia. W efekcie końcowym uzyskamy konfigurację, w której wysłanie kodu do odpowiedniej gałęzi w repozytorium Git spowoduje skompilowanie aplikacji, utworzenie obrazu Docker, i wdrożenie do klastra AKS lub usługi AppService. Po drodze zobaczymy w jaki sposób można automatycznie skalować aplikację w AKS i dostosowywać zasoby sprzętowe do aktualnego obciążenia.
Course Outline:
Ramowy program szkolenia:
- Wprowadzenie do Microsoft Azure
- Tworzenie grup zasobów, usługi i ich konfiguracja przy użyciu portalu, CloudShell i Azure CLI
- Omówienie dostępnych usług.
- Możliwości hostingowe: maszyny wirtualne, konteneryzacja, serverless.
- Tworzenie i konfiguracja maszyn wirtualnych.
- Style architektury.
- Usługi do przechowywania (magazyn) danych: Table Storage, Blob Storage, SQL Database, CosmosDB.
- Azure SQL Database:
- Jak korzystać
- Na co zwrócić uwagę
- Dobre praktyki
- Azure App Service i usługi towarzyszące.
- Azure Kubernetes Service i Azure Container Services.
- Przykładowe wdrożenia do AppService: aplikacje Kotlin (SpringBoot) i Python (Flask) oraz połączenie z usługą Azure SQL Database.
- Azure Autoscale – automatyczne skalowanie na platformie Azure
- Serverless: wprowadzenie do Azure Functions i Azure LogicApps
- Azure Monitor, Insights i Log Analytics.
- Ansible
- Konfiguracja sieci w Azure (w tym network security group)
- Komunikacja z wykorzystaniem Azure Service Bus:
- Przykład wykorzystania w architekturze mikrousług
- Omówienie schematu tworzenia nowoczesnych aplikacji:
- Pętla wewnętrzna i zewnętrzna,
- Kontenery i klastry AKS,
- Azure DevOps Repos
- Azure DevOps Pipelines do uzyskania CI/CD.
- Wprowadzenie do obrazów i kontenerów Docker:
- Omówienie podstawowych pojęć: obraz, kontener, DockerFile.
- Tworzenie obrazów aplikacji Kotlin i Python.
- Wykorzystanie narzędzia Swagger do dokumentacji API.
- Kubernetes:
- Omówienie głównych pojęć, takich jak Control Plane i Worker Nodes, Pods.
- Azure Kubernetes Service (AKS):
- Czym zarządza AKS?
- Tworzenie klastra z kontenerami Linux i Windows Server – omówienie różnic.
- Wdrożenie aplikacji do AKS.
- Automatyczne skalowanie podów i klastra (liczby węzłów, worker nodes) w celu dopasowania do bieżącego obciążenia.
- Testowanie aplikacji pod obciążeniem.
- Helm.
- Terraform.
- Monitorowanie klastra.
- Networking: Kubenet i Azure CNI
- Reguły sieciowe (network policies)
- Network security group
- Integracja z Azure DevOps i automatyczne wdrożenia CI/CD.
- Mini-warsztat: samodzielna implementacja aplikacji, konfiguracja usług w Microsoft Azure i AKS przez uczestników szkolenia.
- Podsumowanie i dalsze kroki.