Skip to content

Instantly share code, notes, and snippets.

@nakov
Created February 8, 2024 12:35
Show Gist options
  • Save nakov/a211a4a4aa31b983de7fe158de5352f6 to your computer and use it in GitHub Desktop.
Save nakov/a211a4a4aa31b983de7fe158de5352f6 to your computer and use it in GitHub Desktop.
Containers, Cloud and DevOps

Containers, Cloud and DevOps

Containers, Cloud and DevOps (88 hours).

Virtualization and containers, Docker, DevOps, cloud technologies and platforms. Exercises with Docker, Azure and GitHub Actions.

Course Program

Part I: Containers

01.1. Containers and Docker

  • Containerization overview
  • Docker, images, containers, Docker Desktop, Docker Hub, development workflow
  • Docker CLI: NGINX demo
  • File system and volumes - data in Docker
  • Demo: ASP.NET app in a container
  • Demo: SQL Server database in a container

01.2. Exercises: Containers and Docker

  • Installing Docker Desktop, running containers for NGINX server, Lightstreamer, ASP.NET app, etc.

02.1. Docker Compose

  • Dockerfile: key instructions, creation in VS, structure
  • Demo: building a custom image and publishing it to Docker Hub
  • Container networking
  • Demo: connecting ASP.NET app and SQL Server containers in a network
  • Orchestration and container orchestration overview
  • Docker compose orchestration tool: running multi-container apps, YAML file, debugging a containerized app
  • Kubernetes overview

02.2. Exercises: Docker Compose

  • Building custom images, connecting containers in networks, orchestrating containers with Docker Compose

03. Mini Exam: Docker (optional)

  • Writing a Dockerfile and building an image
  • Running multi-container apps with Docker Compose

Part II: Cloud

04.1. Cloud Technologies

  • What is Cloud Computing?
  • Cloud Computing Models
  • Cloud Service Providers
  • Microsoft Azure and Azure Services
    • Azure for Students
    • Azure Portal
    • Azure App Service
    • Demo: Deploy an ASP.NET Core App to Azure

04.2. Exercises: Cloud Technologies

  • Deploying apps to Azure App Service from Azure Portal and Visual Studio

04.3. More Exercises: Cloud Technologies

  • Deploying Docker containers and containerized apps to Azure Container Instances

05. Mini Exam: Deployment in Cloud (optional)

  • Deploying app to Azure App Service using Visual Studio
  • Deploying app to Azure App Service using Azure Portal
  • Deploying a container app to Azure Container Instances with Docker Compose

Part III: DevOps

06. DevOps - Overview

  • What is DevOps?
    • Lifecycle, Lifecycle Stages, Pipeline, Tools, Culture, Engineers
  • DevOps Practices
    • CI/CD
    • Infrastructure as Code (IaC)
    • Version Control
    • Monitoring and Logging
    • Automation
    • Agile software development
  • DevOps Trends
    • DevSecOps
    • Serverless Computing
    • Microservices Architecture
    • AIOps and MLOps

07.1. CI/CD with GitHub Actions

  • CI/CD Overview and Principles
  • GitHub Actions as a CI/CD Tool
  • Demo: GitHub Actions Workflow for a JS App
  • GitHub Actions Components
    • Workflows, Jobs, Runners, Steps, Actions
    • Syntax Keywords
    • GitHub Marketplace
  • Demo: Create a GitHub Actions Workflow

07.2. Exercises: CI/CD with GitHub Actions

  • Writing GitHub Actions workflows for build, test, Azure deploy of apps, push of Docker images to Docker Hub, etc.

08.1. Infrastructure as a Code (optional)

  • IaC Overview
    • Configuration files, approaches
    • Infrastructure provisioning tools
    • Configuration management tools
  • Terraform Overview
    • Workflow and files
  • Install Terraform
  • Demo: Terraform and Docker

08.2. Exercises: Infrastructure as a Code (optional)

  • Installing Terraform, provisioning an NGINX Docker container, creating an Azure resource group and deploying an Azure Web app with Terraform, using Terraform with GitHub Actions for CI/CD

09.1. App Monitoring (optional)

  • App Monitoring
    • Overview, metrics, data, types, tools
  • Prometheus
    • How it works, metric types, jobs, instances, samples, installation, configuration
  • Demo: Prometheus and Blackbox Exporter
  • Alerting and Alertmanager
  • Demo: Prometheus and Alertmanager
  • Grafana
    • Dashboards and panels
  • Demo: Grafana and Prometheus
  • Live Demo: Instrumenting and Monitoring a Node.js App

09.2. Exercises: App Monitoring (optional)

  • Installing Prometheus, Alertmanager and Grafana, instrumenting and monitoring Node.js and ASP.NET Core app

10. Mini Exam: DevOps (optional)

  • Using Terraform to build and push Docker image to Docker Hub
  • Creating GitHub Actions workflow to deploy a WordPress app to Azure Container Instances using a Docker Compose file
  • Managing Node Exporter metrics and alerts with Prometheus and Alertmanager
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment