(Day 145) Build & Modernize AI Applications with Azure (prep for Microsoft Azure x NVIDIA hackaton in Seoul)

Ivan Ivanov · May 25, 2024

Hello :) Today is Day 145!

A quick summary of today:

  • covered course 1 for the hackaton: Azure Kubernetes and the cloud

I don’t think I shared before but on Wednesday I got confirmation that I can attend Microsoft Azura x NVIDIA hackaton in Seoul held on Monday and Tuesday 27th and 28th of May. It will be an amazing opportunity to visit the Seoul Microsoft office, learn from Microsoft professionals and in general participate in a hackaton. On the website they mention that if we want to prepare, they recommend covering two courses: the one I did today on 1. building and modernizing apps and 2. improving productivity with github and Azure for devs - which I will do tomorrow.

Before the material, there are some nice articles that I will review further

image

But as for the taught material, below is the outline

image

Notes I took:

K8r (Kubernetes) secrets:

  • Store sensitive information (like passwords) safely not in plain text
  • Encoded in base64 which makes them less visible in command outputs
  • Scoped to a single namespace to limit exposure

ConfigMaps

  • Store nonsensitive data using a key value structure
  • Decouple configuration data from application code
  • Limited to 1 MiB of data to maintain simplicity
  • Scoped to a single namespace and can be referenced via environment variables or mounted as files

On Azure Kubernetes Service (AKS)

Containers:

  • Atomic units of software packaging code, dependencies and configuration
  • Offer benefits like immutability, smaller size, lightweight nature, and fast startup

Container management:

  • Involves deploying, upgrading, monitoring and removing containers
  • Kubernetes helps automate these tasks, providing a portable, extensible platform for managing containerized workloads

Kubernetes:

  • Abstracts container management complexity with a declarative configuration.
  • Functions as a cluster of primary and worker machines for deployment, scaling, and load balancing.
  • Does not provide middleware or data-processing frameworks; these run as containers.

Cloud-native apps:

  • Built using modular, loosely coupled components
  • Allow for independent technology choices and frequent updates
  • Utilize cloud services like Kubernetes for scaling and Cosmos DB for data storage, minimizing the need for custom code

Practical on implementing Azure services to an app

image

Tasks were:

  • download sample app
  • create web app
  • update and redeploy the app

And I had to execute some commands in the provided terminal

image image

The deployed app was some static HTML website

image

Also learned about autoscaling on Azure - a cloud process that dynamically adjusts resources based on demand. It involves scaling in (reducing resources) and scaling out (increasing resources) to maintain optimal performance and efficiency. Tomorrow I am planning to do my Module 2 homework from the MLOps zoomcamp and some of the 2nd preparation course for the Microsoft x NVIDIA hackaton.

That is all for today!

See you tomorrow :)