Terraform with Azure Questions
Python (Basic To Advance) )
📘 Python Module(Week1 3 days)
1.1 Variables and Data Types
Topics:
- Variable declaration and naming rules
- Primitive data types:
int,float,str,bool,complex - Type checking with
type()andisinstance() - Mutable vs Immutable types
- Dynamic typing in Python
Assignments:
- Create a program that takes user input for name, age, and height, and prints a formatted introduction.
- Write a script that swaps two variables without using a third variable.
- Demonstrate mutable and immutable behavior using
listandtuple.
1.2 Conditions and Iterations
Topics:
- Conditional statements:
if,elif,else - Loops:
for,while - Loop control statements:
break,continue,pass - Nested loops and conditionals
- Comprehensions: list, dict, set
Assignments:
- Write a program to check if a number is prime.
- Print all even numbers between 1 and 100.
- Create a multiplication table generator using nested loops.
- Generate squares of even numbers using list comprehension.
1.3 Type Casting and Exceptions
Topics:
- Implicit and explicit type casting
- Common casting functions (
int(),float(),str(),list(), etc.) - Exception handling using
try,except,else,finally - Custom exceptions using
raise - Multiple exception handling
Assignments:
- Write a calculator that performs division and handles
ZeroDivisionError. - Create a function that takes input from user and handles invalid integer input.
- Define a custom exception for invalid age input (e.g., negative numbers).
1.4 Functions and Built-in Functions
Topics:
- Defining and calling functions
- Function arguments: positional, keyword, default, variable-length (
*args,**kwargs) - Return values
- Scope and lifetime of variables
- Common built-in functions (
map,filter,zip,enumerate,sorted, etc.) - Lambda functions
Assignments:
- Write a function that checks whether a number is palindrome.
- Implement a function using
map()to convert a list of strings to uppercase. - Create a lambda function to sort a list of tuples based on the second element.
1.5 Data Structures
Topics:
- Lists, Tuples, Sets, Dictionaries
- Operations: insertion, deletion, slicing, membership
- Iterating through collections
- Nested data structures
- Difference between shallow and deep copies (
copymodule)
Assignments:
- Write a program to count frequency of words in a sentence using a dictionary.
- Implement a program that removes duplicates from a list using a set.
- Sort a dictionary by its values.
2.1 Introduction to OOPs
Topics:
- Procedural vs Object-Oriented Programming
- Benefits of OOPs
- Classes and Objects in Python
- Syntax of class creation and object instantiation
Assignments:
- Create a simple
Carclass with attributesbrand,model, and a methodstart(). - Compare the procedural and OOP approach to compute student grades.
2.2 Core OOPs Concepts
Topics:
- Encapsulation
- Inheritance
- Polymorphism
- Data Abstraction
Assignments:
- Implement inheritance using a
Vehiclesuperclass andCar/Bikesubclasses. - Demonstrate polymorphism using a method with the same name in different classes.
- Create a class with private attributes and public getter/setter methods.
2.3 Class Attributes and Instance Attributes
Topics:
- Class vs Instance attributes
- Accessing attributes using
self - Modifying attributes at instance and class level
Assignments:
- Create a class
Employeewith a class variablecompany_nameand instance variables forname,salary. - Demonstrate how changing class variables affects all objects.
2.4 Class Methods and Instance Methods
Topics:
- Defining instance methods
- Class methods using
@classmethod - Static methods using
@staticmethod - When to use each method type
Assignments:
-
Create a
Studentclass with:- Instance method:
display_info() - Class method:
from_string(cls, student_str) - Static method:
is_passing(score)
- Instance method:
2.5 Initialization and Access Modifiers
Topics:
__init__()constructor- Private and protected attributes (
_,__) - Naming conventions for access control
Assignments:
- Implement a
BankAccountclass that initializes withaccount_number,balance, and supports deposit/withdraw. - Make balance a private attribute and access it using methods.
2.6 Properties (Getters and Setters)
Topics:
- Using
@propertyand@<attribute>.setter - Data validation using properties
- Difference between property and traditional getter/setter methods
Assignments:
- Create a
Temperatureclass with acelsiusattribute and a derivedfahrenheitproperty. - Implement data validation to ensure temperature doesn’t go below absolute zero.
3.1 Advanced Classes and Inheritance
Topics:
- Multiple inheritance
- Method Resolution Order (MRO)
super()function- Composition vs Inheritance
Assignments:
- Demonstrate multiple inheritance with two parent classes (
Bird,FlyingObject). - Implement a
super()call chain in a multi-level inheritance scenario.
3.2 SOLID Principles
Topics:
- S – Single Responsibility
- O – Open/Closed
- L – Liskov Substitution
- I – Interface Segregation
- D – Dependency Inversion
Assignments:
- Refactor a given class violating SRP.
- Implement an example demonstrating OCP and DIP.
3.3 Object-Oriented Paradigms
Topics:
- Class-based vs prototype-based languages
- Understanding of TDD (Test Driven Development)
- BDD (Behavior Driven Development)
- DDD (Domain Driven Design)
Assignments:
- Write unit tests for your
BankAccountclass usingunittest. - Describe how DDD could structure a “Library Management System”.
3.4 Protocols and Networking Concepts
Topics:
- Introduction to HTTPS, gRPC, and TCP
- Understanding request-response cycle
- Serialization and deserialization concepts
Assignments:
- Create a Python script using
requeststo call a public API. - Implement a simple TCP client-server using
socket.
3.5 Content Negotiation
Topics:
- Request/Response headers
- MIME types
- JSON/XML negotiation
- RESTful API data exchange
Assignments:
- Build a small Python Application to call REST API
Git & GitHub Administration
Git & GitHub Administration Module
1.1 Introduction to Git and Version Control
Topics:
- Introduction to version control systems (Centralized vs Distributed)
- Benefits of version control in software development
- Introduction to Git and how it works
- Basic Git workflow overview (local and remote repositories)
Assignments:
- Explain the difference between centralized and distributed version control with examples.
- Set up a local Git repository and connect it to GitHub.
- Demonstrate the full Git workflow (init → add → commit → push → pull).
1.2 Core Git Commands
Topics:
git init,git clone,git status,git add,git commit- Branch management:
git branch,git checkout,git merge - Viewing logs and history
- Working with
.gitignorefiles
Assignments:
- Create a local repository and practice basic Git commands.
- Create multiple branches and merge them with proper commit history.
- Demonstrate how
.gitignorehelps in excluding unnecessary files.
1.3 Collaboration with Git Platforms
Topics:
- Collaborating using GitHub
- Forking and cloning repositories
- Creating pull requests (or merge requests)
- Resolving merge conflicts
Assignments:
- Fork a public repository and create a pull request.
- Collaborate with a teammate using branches and pull requests.
- Practice resolving merge conflicts in a shared repository.
1.4 Best Practices in Git & DevOps
Topics:
- Writing effective commit messages
- Understanding Gitflow branching model
- Code review and PR best practices
- Maintaining repository hygiene
Assignments:
- Create a GitFlow-based workflow for a sample project.
- Perform a code review on a pull request and suggest improvements.
- Draft commit message guidelines for your team.
2.1 Introduction To Github Administration
Topics:
- Introduction to DevOps and why it’s needed
- Benefits of DevOps principles
- GitHub vs GitHub Enterprise overview
- Organizations, Teams, and Repositories
- Understanding GitHub roles and permission levels
- Managing users and access
Assignments:
- Create a GitHub organization with multiple repositories.
- Assign roles and permissions for different team members.
- Document differences between GitHub and GitHub Enterprise.
2.2 Repository and Access Management
Topics:
- SSO and identity federation (GitHub Enterprise)
- Repository management (public vs private)
- Branching rules and protection
Assignments:
- Configure protected branches and approval workflows.
2.4 Using IDEs with Git (VS Code)
Topics:
- Using IDEs (e.g., VS Code, Visual Studio Code)
- Downloading and installing VS Code
- Getting familiar with the VS Code interface
- Setting up a new project and connecting to Git
- Basic features: themes, customization, extensions
- Integrated terminal and file management
- Debugging in VS Code
- IntelliSense and snippets
- Remote development and language/framework setup
Assignments:
- Install VS Code and configure Git integration.
- Clone a repository and manage it from within VS Code.
- Debug a Python or JavaScript project using VS Code.
Module: Containerization – Basic and Intermediate
1.1 Understanding Containerization
Topics:
- What is Containerization?
- Differences between Virtual Machines and Containers
- Introduction to Docker
- Key concepts: Images, Containers, Docker Engine, Docker Hub
Assignments:
- Define containerization and compare it with virtualization.
- Create a short report on how Docker revolutionized application deployment.
- Install Docker Desktop on your local machine and verify setup.
1.2 Setting Up Docker
Topics:
- Installing Docker on Windows, Mac, and Linux
- Docker CLI vs Docker Desktop Overview
- Running your first Docker container
- Docker Images vs Containers explained
Assignments:
- Install Docker and run container.
- List all running containers using Docker CLI.
- Compare Docker CLI and Docker Desktop interfaces.
1.3 Working with Docker Images
Topics:
- Understanding Dockerfile and how images are built
- Common Docker commands:
docker run,docker ps,docker stop,docker rm - Working with Docker Hub (pulling and pushing images)
- Writing Dockerfiles from scratch to advance level (MultiStage Dockerfile)
- Understanding layers and caching in Docker images
Assignments:
- Create a Dockerfile for a simple Python or Node.js app .
- Build and push your custom image to Docker Hub.
- Inspect image layers using
docker history.
1.4 Dockerfile and Image Best Practices
Topics:
- Best practices for Dockerfile writing
- Using
docker buildand tagging images - Image versioning and naming conventions
Assignments:
- Rewrite a Dockerfile using multi-stage builds.
- Optimize a Dockerfile to reduce image size.
- Tag and push multiple versions of an image to Docker Hub.
2.1 Volumes and Storage
Topics:
- Docker Volumes
- Introduction to Docker storage: Volumes vs Bind mounts
- Creating and managing volumes
Assignments:
- Create named and anonymous volumes and inspect them.
- Mount a host directory as a bind mount into a container.
- Explain differences between volumes and bind mounts.
2.2 Networking in Docker
Topics:
- Basic Docker networking concepts
- Bridge,host,none network
- Using Docker network commands
Assignments:
- Create a custom Docker network and connect multiple containers.
- Expose ports and test container accessibility.
- Demonstrate inter-container communication using bridge network.
3.1 Docker Compose Basics
Topics:
- Introduction to Docker Compose
- Writing a simple
docker-compose.ymlfile - Managing multi-container applications with Docker Compose
- Scaling services and using environment variables in Compose
Assignments:
- Write a
docker-compose.ymlfor a two-service app (e.g., web + database). - Scale containers horizontally using Compose.
- Demonstrate the use of environment variables in Compose files.
3.2 Docker Optimization and Monitoring
Topics:
- Docker image optimization techniques
- Container logging and monitoring basics
- Debugging running containers
Assignments:
- Optimize an existing Docker image using build caching and minimal base images.
- Use
docker logsanddocker statsfor container monitoring. - Practice debugging a misconfigured container.
Module: Kubernetes (K8s) – Basics (Beginner)
1.1 Overview of Container Orchestration
Topics:
- What is container orchestration?
- Why orchestration is needed in containerized environments
- Comparison between Docker Swarm and Kubernetes
- Role of Kubernetes in managing containers at scale
Assignments:
- Write a short summary comparing Docker Compose and Kubernetes.
- Explain the purpose of container orchestration with real-world examples.
- Identify use cases where Kubernetes is beneficial.
2.1 Understanding Kubernetes Components
Topics:
-
Basic Kubernetes architecture overview
-
Control Plane (Master) components:
- API Server
- etcd
- Controller Manager
- Scheduler
-
Worker Node components:
- Kubelet
- Kube Proxy
- Container Runtime
Assignments:
- Create a labeled diagram of the Kubernetes architecture.
- Explain the role of each major Kubernetes component.
- Describe how pods are scheduled and managed within the cluster.
3.1 Core Kubernetes Objects
Topics:
- Cluster and Node overview
- Pods: smallest deployable units
- Deployments and ReplicaSets (basic intro)
- Services and Networking basics (ClusterIP, NodePort, LoadBalancer)
Assignments:
- Deploy your first Pod using
kubectl run. - Create a simple Deployment and expose it using a Service.
- Explain how Services enable communication between Pods.
4.1 Helm Charts and Kubernetes Security Basics
Topics:
-
Introduction to Helm: package manager for Kubernetes
-
Understanding Charts, Templates, and Releases
-
Installing and managing applications using Helm
-
Basic Kubernetes security concepts:
- Namespaces and Role-Based Access Control (RBAC)
- Secrets and ConfigMaps
Assignments:
- Install Helm on your system and deploy a sample Helm chart.
- Create and deploy a simple custom Helm chart.
- Create and manage a Kubernetes Secret and ConfigMap.
Module: GitHub Actions CI/CD – Automating Build, Test, and Deployment
1.1 Pipeline Overview
Topics:
- End-to-end workflow: Code → Build → Test → Deploy
- Understanding GitHub Actions components: Events, Jobs, Steps, Runners
- Folder structure for CI/CD pipelines (
.github/workflows/) - Using repository secrets for credentials and kubeconfig
Assignments:
- Design a pipeline diagram showing integration from Git → Docker → Kubernetes.
- Create a new repository and configure GitHub Secrets (
DOCKER_USERNAME,DOCKER_PASSWORD,KUBE_CONFIG). - Commit a sample application and prepare
Dockerfileandk8s/manifests.
2.1 Build and Test Automation
Topics:
- Writing a CI workflow to automate linting and unit tests
- Defining job dependencies (
needs:) - Using matrix builds for multiple environments
- Adding caching for dependencies
Assignments:
- Create
.github/workflows/ci.ymlfor automated test runs on PR or push. - Add dependency caching to speed up CI.
- Configure job conditions for only running tests on changed files.
Sample CI Workflow:
name: CI
on:
push:
branches: [ "main" ]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run unit tests
run: pytest3.1 Docker Build and Registry Push
Topics:
- Building Docker images in GitHub Actions
- Authenticating to DockerHub or GitHub Container Registry
- Dynamic tagging (using commit SHA or version)
- Reusable workflows for multiple services
Assignments:
- Create
.github/workflows/build.ymlfor Docker build & push. - Use GitHub Secrets for Docker authentication.
- Automate image tagging and push to the registry.
Sample Build Workflow:
name: Build and Push Docker Image
on:
push:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push Image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: myrepo/myapp:${{ github.sha }}4.1 Kubernetes Deployment Workflow
Topics:
- Deploying updated images to Kubernetes using
kubectl - Updating image tags dynamically in manifests
- Blue-Green or Rolling Deployments
- Applying manifests automatically post Docker build
Assignments:
- Create
.github/workflows/deploy.ymlfor Kubernetes deployment. - Store
KUBE_CONFIGas a GitHub secret. - Automate rolling deployment to update the app image tag.
Sample Deployment Workflow:
name: Deploy to Kubernetes
on:
workflow_run:
workflows: ["Build and Push Docker Image"]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup kubectl
uses: azure/setup-kubectl@v3
- name: Configure kubeconfig
run: |
mkdir -p $HOME/.kube
echo "${{ secrets.KUBE_CONFIG }}" > $HOME/.kube/config
- name: Update Image and Deploy
run: |
kubectl set image deployment/myapp myapp=myrepo/myapp:${{ github.sha }}
kubectl rollout status deployment/myapp4.2 Environment Promotion (Staging → Production)
Topics:
- Using GitHub Environments (dev, stage, prod)
- Manual approvals for production deployment
- Workflow conditions for environment promotion
- Multi-cluster or namespace deployment strategies
Assignments:
- Create environments with manual approvals in GitHub.
- Add conditional deployment logic (
if: github.ref == 'refs/heads/main'). - Test staging deployment before promoting to production.
5.1 Security and Secrets Management
Topics:
- Managing sensitive data with GitHub Secrets
- Integrating secret scanners and Docker image scanning (Trivy/Snyk)
- Enforcing signed commits and branch protection
Assignments:
- Add Trivy scan before Docker push.
- Use GitHub Secret Scanning to detect credentials.
- Enable branch protection for CI/CD safety.
5.2 Monitoring, Notifications, and Rollback
Topics:
- Sending Slack/MS Teams notifications
- Monitoring deployment status and job failures
- Creating rollback workflows with GitHub Actions
- Automated rollback using
kubectl rollout undo
Assignments:
- Add Slack webhook notifications for pipeline completion.
- Create a rollback workflow triggered manually (
workflow_dispatch). - Document rollback steps for failed Kubernetes deployments.
6.1 Full End-to-End Pipeline
Topics:
- Linking CI → CD → Deployment workflows together
- Chaining workflows using
workflow_runtriggers - Visualizing pipeline in GitHub Actions dashboard
- Maintaining versioned workflows for microservices
Assignments:
- Combine CI, Build, and Deploy into one orchestrated pipeline.
- Document pipeline structure and triggers.
- Demonstrate a successful deployment from Git push → K8s update.
📘 Module: Cloud Computing Fundamentals & Azure Fundamentals
1.1 Introduction to Cloud Computing
Topics:
- What is Cloud Computing?
- History and evolution of Cloud Computing
- Key characteristics: On-demand self-service, scalability, elasticity, and pay-as-you-go
- Benefits of Cloud Computing (cost efficiency, flexibility, global access, disaster recovery)
Assignments:
- Write a short report on how Cloud Computing differs from traditional on-premises IT.
- Identify three real-world companies using cloud technologies and describe their use cases.
- Explain “pay-as-you-go” pricing with an example scenario.
1.2 Types of Cloud Deployments
Topics:
- Public Cloud
- Private Cloud
- Hybrid Cloud
- Community Cloud
- Choosing the right deployment model for different business needs
Assignments:
- Create a comparison chart between Public, Private, and Hybrid clouds.
- Provide a real-world use case for each deployment model.
- Research and summarize which industries commonly use Hybrid Cloud models.
1.3 Types of Cloud Services
Topics:
- IaaS (Infrastructure as a Service)
- PaaS (Platform as a Service)
- SaaS (Software as a Service)
- FaaS (Function as a Service – brief introduction)
- Understanding the shared responsibility model
Assignments:
- Create a diagram showing the difference between IaaS, PaaS, and SaaS.
- Classify common services like Azure Virtual Machines, Azure App Service, and Microsoft 365 under correct categories.
- Explain how responsibilities differ between Cloud Provider and Customer.
1.4 Introduction to Microsoft Azure
Topics:
- Overview of Microsoft Azure and global infrastructure
- Azure Regions, Availability Zones, and Resource Groups
- Key services offered by Azure: Compute, Storage, Networking, Databases, AI, and Security
- Benefits of using Microsoft Azure for businesses
Assignments:
- Explore the Azure Portal and list available global regions.
- Identify 5 core Azure services and describe their purpose.
- Write a paragraph on Azure’s global availability and fault tolerance strategy.
1.5 Creating an Azure Account
Topics:
- Step-by-step Azure account creation process
- Navigating the Azure Portal interface
- Understanding Azure Subscriptions and Billing
- Free-tier services and trial credits
Assignments:
- Create a free Azure account and explore the portal dashboard.
- Identify and note free-tier services available in your subscription.
- Explore and summarize Azure pricing calculator usage.
2.1 Azure Services Overview
Topics:
- Azure Compute Services (VMs, App Services, AKS)
- Azure Storage (Blob, File, Queue, Disk)
- Azure Identity (Active Directory, Role-based access control - RBAC)
- Azure Monitoring and Management Tools
Assignments:
- Create a virtual machine and connect via RDP/SSH.
- Deploy an App Service and test it via public endpoint.
- Explore Azure Storage options and upload a file to Blob storage.
2.2 Resource Groups and Resource Management
Topics:
- Understanding Resource Groups in Azure
- Creating and organizing Resources under Resource Groups
- Best practices for resource naming and tagging
- Managing resources via Azure Portal, CLI, and PowerShell
Assignments:
- Create a Resource Group and deploy at least two resources under it.
- Apply tagging conventions for better cost management.
- Delete and restore resources using Azure Resource Manager (ARM).
2.3 Azure ARM Template vs Bicep
Topics:
- Introduction to Infrastructure as Code (IaC)
- Understanding Azure Resource Manager (ARM) templates
- Limitations of JSON-based ARM templates
- Introduction to Bicep: syntax, structure, and deployment workflow
- Comparison between ARM templates and Bicep
Assignments:
- Deploy a simple resource (like a Storage Account) using an ARM template.
- Convert an existing ARM template to Bicep format.
- Write a small Bicep file to deploy an Azure Web App.
Module: Entra ID (Azure Active Directory)
1.1 Introduction to Entra ID / Azure AD
Topics:
- What is Microsoft Entra ID (formerly Azure AD)?
- Importance of Identity and Access Management (IAM) in Azure
- Key components: Tenant, Directory, Identity, and Subscription
- Understanding authentication vs authorization
- Azure AD vs On-Premises AD
Assignments:
- Create a brief comparison between Entra ID and traditional Active Directory.
- Explore your Azure portal and identify the default tenant setup.
- Explain the purpose of a Tenant ID and Directory ID in Azure.
1.2 Managing Users, Groups, and Roles
Topics:
- Creating and managing users in Entra ID
- Understanding user properties and authentication methods
- Creating and managing groups (Security groups and Microsoft 365 groups)
- Group-based access assignments
- Role assignments and group memberships
Assignments:
- Create new users and assign them to groups in Entra ID.
- Demonstrate how group-based access control simplifies management.
- Document the difference between Security and Microsoft 365 groups.
2.1 Understanding RBAC Concepts
Topics:
- What is Role-Based Access Control (RBAC)?
- Role assignment structure: Security principal, Role definition, and Scope
- Understanding scopes: Management Group, Subscription, Resource Group, Resource
- Built-in roles vs custom roles
Assignments:
- Illustrate the RBAC model using a diagram showing principal → role → scope.
- Create a list of common built-in roles in Azure.
- Design a custom role definition in JSON format for restricted access.
2.2 Assigning Roles using Azure Tools
Topics:
- Assigning roles using Azure Portal
- Assigning roles using Azure PowerShell
- Assigning roles using Azure CLI
- Viewing and auditing role assignments
Assignments:
- Assign the "Reader" role to a user via Azure Portal.
- Use PowerShell to assign and remove a role at the Resource Group level.
- Create a script using Azure CLI to list all role assignments in a subscription.
3.1 Subscriptions and Management Groups
Topics:
- What are Azure Subscriptions?
- Relationship between Tenant, Directory, and Subscription
- Management Groups hierarchy and use cases
- Organizing multiple subscriptions for enterprise governance
Assignments:
- Create and organize multiple Resource Groups under one Subscription.
- Set up a Management Group and move a Subscription under it.
- Explain how Management Groups help in policy enforcement.
3.2 Azure Policy and Blueprints (Basics)
Topics:
- Introduction to Azure Policy
- Understanding Policy Definitions, Assignments, and Initiatives
- Common built-in policies (e.g., resource tagging, location restrictions)
- Introduction to Azure Blueprints and compliance automation
Assignments:
- Assign a built-in Azure Policy to restrict resource creation by region.
- Create a custom policy to enforce specific naming conventions.
- Explore available Blueprints in the Azure portal and describe their purpose.
3.3 Resource Locks and Tags
Topics:
- Understanding Resource Locks: “CanNotDelete” and “ReadOnly”
- Applying and managing locks through Azure Portal, CLI, and PowerShell
- Importance of Tags for cost management and governance
- Applying and inheriting tags across resources
Assignments:
- Apply a lock to a critical resource and test its effect.
- Add tags to resources for cost tracking.
- Write a PowerShell script to list all tags within a Resource Group.
Module: Azure Networking Fundamentals
1.1 Fundamentals of Cloud Networking
Topics:
- What is cloud networking?
- Importance of virtual networks in cloud environments
- Comparison: On-premises networking vs Azure networking
- Understanding CIDR notation and IP addressing basics
- Overview of Azure Virtual Network (VNet)
Assignments:
- Define the difference between traditional LAN and Azure VNet.
- Create a diagram of a simple Azure network with a subnet and virtual machine.
- Explain the concept of CIDR notation and calculate an IP range for a /24 network.
1.2 Azure Virtual Network (VNet) and Subnets
Topics:
- Overview of Azure VNet architecture
- Creating and configuring VNets and subnets
- Address spaces and subnet delegation
- Public vs Private IP addressing
- Network Interface Cards (NICs) and IP configuration
Assignments:
- Create a VNet with two subnets (Frontend and Backend).
- Assign static private IP addresses to a virtual machine.
- Demonstrate subnet delegation using Azure Portal.
2.1 Network Security Groups (NSG)
Topics:
- What is a Network Security Group?
- Inbound and outbound security rules
- NSG priorities and rule processing order
- Applying NSGs to subnets and NICs
- Troubleshooting NSG rules using Azure Network Watcher
Assignments:
- Create an NSG and allow only RDP (port 3389) from a specific IP.
- Associate the NSG with a subnet and test connectivity.
- Use Network Watcher to monitor NSG flow logs.
2.2 Azure Firewall and Application Gateway (Intro)
Topics:
- Difference between NSG, Azure Firewall, and Application Gateway
- Overview of Azure Firewall capabilities
- Application Gateway for Layer 7 load balancing and WAF (Web Application Firewall)
- When to use which: NSG vs Firewall vs Application Gateway
Assignments:
- Compare Azure Firewall and Application Gateway in a tabular format.
- Design a simple network diagram using both NSG and Firewall.
- Enable WAF in an Application Gateway and document the steps.
3.1 VNet Peering and Service Endpoints
Topics:
- What is VNet Peering?
- Peering configuration (same region and cross-region)
- Understanding Service Endpoints and Private Links
- Differences between VNet Peering and VPN connections
Assignments:
- Peer two VNets in the same region.
- Implement VNet Peering across regions and verify connectivity.
- Enable a Service Endpoint for Azure Storage and test access.
3.2 VPN Gateway and ExpressRoute (Overview)
Topics:
- Site-to-Site VPN overview
- Point-to-Site VPN overview
- ExpressRoute fundamentals
- Azure VPN Gateway SKUs and use cases
- Hybrid connectivity scenarios
Assignments:
- Create a Point-to-Site VPN using Azure Portal.
- Describe the difference between S2S and P2S VPN connections.
- Research the benefits of ExpressRoute for enterprise networks.
4.1 Azure Network Watcher
Topics:
- What is Azure Network Watcher?
- Connection troubleshooting tools: Connection Monitor, IP Flow Verify, Next Hop
- Network topology visualization
- NSG flow logs and packet capture
Assignments:
- Enable Network Watcher in your subscription.
- Run a connection monitor between two VMs and capture results.
- Use IP Flow Verify to diagnose a blocked connection.
4.2 Best Practices in Azure Networking
Topics:
- Designing VNets for scalability and performance
- Naming conventions and tagging standards
- Security best practices for subnets and NSGs
- Cost optimization for Azure networking components
Assignments:
- Create a best practices checklist for Azure networking.
- Review Azure Advisor recommendations for your network setup.
- Document an example of a secure multi-tier network design.
This version maintains the same style and structure as your earlier modules (Python, Git, Docker, Azure Networking, etc.) — suitable for structured learning paths or LMS integration.
📘 Module: Azure Storage, Key Vault, Web App, and DNS Zone
1.1 Azure Storage Account Overview
Topics:
- What is Azure Storage?
- Storage account types: General-purpose v2, Blob, File, Queue, Table
- Standard vs Premium storage
- Redundancy options (LRS, ZRS, GRS, RA-GRS)
- Access endpoints and keys
Assignments:
- Create a storage account in Azure.
- Compare redundancy types (LRS vs GRS).
- Identify endpoints and access keys from the portal.
1.2 Blob Storage Management
Topics:
- Blob types (Block, Append, Page)
- Containers and access levels
- Hot, Cool, and Archive tiers
- Blob lifecycle policies and versioning
- Managing blobs via Portal, CLI, PowerShell
Assignments:
- Create a blob container and upload data.
- Configure lifecycle management for tier transitions.
- Enable blob versioning and perform recovery.
1.3 File Shares and Azure Files
Topics:
- Difference between Azure Files and Blob Storage
- Creating and mounting File Shares
- SMB and NFS support
- Snapshots and backup
- Managing access permissions
Assignments:
- Create and mount an Azure File Share to a VM.
- Upload and manage files using PowerShell.
- Test restoring data using a snapshot.
1.4 Secure Access and Tools
Topics:
- Shared Access Signatures (SAS)
- Azure AD Authentication for storage
- AzCopy and Storage Explorer
- Role-based access for Storage Accounts
Assignments:
- Generate a SAS token for limited access.
- Use AzCopy to upload and download data.
- Explore storage account roles in IAM.
2.1 Key Vault Basics and Use Cases
Topics:
- What is Azure Key Vault?
- Managing Secrets, Keys, and Certificates
- Integration with Azure services
- Key Vault security model
Assignments:
- Create a Key Vault.
- Add and retrieve a secret.
- Document the difference between secrets and certificates.
2.2 Access Policies and Security
Topics:
- Key Vault Access Policies
- RBAC vs Access Policies
- Networking: Firewall and Private Endpoints
- Logging and monitoring
Assignments:
- Assign a secret read policy to a user.
- Enable firewall and restrict access by VNet.
- Configure Key Vault diagnostic logs.
2.3 Secret Versioning and Automation
Topics:
- Secret versioning and rollback
- Secret rotation strategies
- Integration with Azure Functions or Logic Apps
Assignments:
- Create multiple secret versions and observe behavior.
- Implement automated rotation using a Function App.
- Retrieve secrets using CLI or PowerShell.
3.1 Azure Web App Fundamentals
Topics:
- What is Azure Web App?
- App Service Plan and pricing tiers
- Deploying apps via GitHub or DevOps pipelines
- Application settings and scaling
Assignments:
- Deploy a sample web app using Azure Portal.
- Connect GitHub for continuous deployment.
- Test scaling by adjusting App Service Plan.
3.2 Deployment Slots and Configuration
Topics:
- Deployment slot concepts
- Staging vs production environments
- Slot swapping and rollback
- Configuration management
Assignments:
- Create a staging slot.
- Perform a slot swap and verify the change.
- Configure different app settings per slot.
3.3 Function Apps Overview
Topics:
- Azure Function Apps and serverless architecture
- Supported triggers (HTTP, Blob, Timer, etc.)
- Consumption vs Premium plans
- Monitoring with Application Insights
Assignments:
- Create a Function App with HTTP trigger.
- Log requests to Application Insights.
- Compare pricing models for Function Apps.
3.4 Web App Networking and Security
Topics:
- Private Endpoints and VNet integration
- Access Restrictions and IP filtering
- Enabling HTTPS and custom domains
- Managed Identity with Key Vault
Assignments:
- Configure HTTPS for a web app.
- Set up a private endpoint for secure access.
- Use Managed Identity to access a Key Vault secret.
4.1 Introduction to Azure DNS
Topics:
- What is DNS and why it matters
- Azure DNS overview and use cases
- Public vs Private DNS Zones
- How Azure DNS integrates with VNets
Assignments:
- Define key DNS concepts (A, CNAME, TXT, MX, NS).
- Identify the difference between public and private zones.
- Diagram a basic Azure DNS integration scenario.
4.2 Managing DNS Zones and Records
Topics:
- Creating and managing DNS Zones in Azure
- Adding and modifying DNS records (A, CNAME, MX, TXT)
- Delegating DNS domains to Azure DNS
- DNS propagation and troubleshooting
Assignments:
- Create a DNS zone and add A/CNAME records.
- Delegate a domain to Azure DNS and test resolution.
- Use nslookup and dig commands to verify propagation.
4.3 Private DNS Zones and Integration
Topics:
- Creating private DNS zones
- Linking private zones with VNets
- Split-horizon DNS concept
- Managing name resolution within VNets
Assignments:
- Create a private DNS zone and link it to a VNet.
- Configure VM name resolution using a private DNS zone.
- Document the differences between Azure DNS and Private Resolver.
📘 Module: Terraform with Azure (Infrastructure as Code)
1.1 Introduction to IaC
Topics:
- What is Infrastructure as Code (IaC)?
- Benefits of IaC in modern cloud environments
- Declarative vs Imperative infrastructure management
- Common IaC tools overview: Terraform, ARM Templates, Bicep, CloudFormation
Assignments:
- Write a short note on benefits of IaC.
- Compare declarative vs imperative infrastructure management.
- Identify three use cases where IaC can improve DevOps workflows.
1.2 Terraform vs CloudFormation
Topics:
- Overview of Terraform
- Overview of AWS CloudFormation
- Comparison of cross-platform support
- Advantages of using Terraform for Azure environments
Assignments:
- Create a comparison chart between Terraform and CloudFormation.
- Explain why Terraform is preferred for multi-cloud deployments.
- Identify providers Terraform can work with beyond AWS and Azure.
2.1 Installing Terraform
Topics:
- Installing Terraform on Windows, macOS, and Linux
- Verifying installation and environment setup
- Understanding Terraform CLI commands
Assignments:
- Install Terraform and verify installation using
terraform -version. - Configure Terraform path variables on your system.
- Run a test command (
terraform --help) to explore available commands.
2.2 Setting up Azure CLI and Authentication
Topics:
- Installing Azure CLI
- Authenticating with Azure CLI (
az login) - Configuring Terraform credentials for Azure
- Understanding Service Principal authentication
Assignments:
- Install and authenticate Azure CLI.
- Create a Service Principal for Terraform with Contributor role.
- Store Azure credentials securely for Terraform execution.
3.1 Understanding Terraform Providers and Resources
Topics:
- What are Terraform providers?
- How Terraform interacts with Azure through
azurermprovider - Understanding resources and resource blocks
- Provider configuration examples
Assignments:
- Configure the AzureRM provider in a
.tffile. - List the commonly used Azure resource types in Terraform.
- Explain how providers enable cross-cloud management.
3.2 Terraform Configuration Files (.tf)
Topics:
- Structure of a Terraform project
- Understanding
.tfand.tfstatefiles - Using variables (
variables.tf) and outputs (outputs.tf) - Defining dependencies between resources
Assignments:
- Create a Terraform configuration with variables and outputs.
- Organize Terraform code into separate files for clarity.
- Document the purpose of each Terraform file type.
3.3 Terraform Workflow Commands
Topics:
- Core commands:
terraform init,plan,apply, anddestroy - Understanding execution plans
- Handling errors and rollbacks
- Best practices for safe apply and destroy
Assignments:
- Initialize Terraform in a new project (
terraform init). - Generate a plan and review the output.
- Apply the configuration to deploy a simple Azure resource.
3.4 Terraform State Management
Topics:
- What is the Terraform state file (
terraform.tfstate)? - Importance of state tracking
- Remote state management (Azure Storage backend)
- Locking and consistency in state files
Assignments:
- Inspect your local state file.
- Configure remote state storage in Azure Blob Storage.
- Explain benefits of using remote state in team environments.
4.1 Terraform Modules and Reusability
Topics:
- What are Terraform modules?
- Module structure and best practices
- Using public modules from Terraform Registry
- Creating and using local modules
Assignments:
- Create a custom module for deploying a VNet.
- Use a module from Terraform Registry in your configuration.
- Document the advantages of modular Terraform design.
4.2 Terraform Lifecycle and Dependencies
Topics:
- Resource lifecycle meta-arguments (
create_before_destroy,prevent_destroy) - Handling resource dependencies using
depends_on - Lifecycle hooks and order of operations
Assignments:
- Add lifecycle rules to protect critical resources.
- Demonstrate use of
depends_onbetween two resources. - Simulate dependency resolution using
terraform plan.
4.3 Workspaces for Multi-Environment Management
Topics:
- Purpose of Terraform Workspaces
- Managing non-prod, UAT, and production environments
- Workspace switching and isolation of state files
Assignments:
- Create multiple workspaces (
dev,prod). - Deploy resources in different workspaces and compare states.
- Explain how workspaces simplify environment separation.
5.1 Terraform with GitHub Actions
Topics:
- Automating Terraform with CI/CD pipelines
- Setting up GitHub Actions for Terraform
- Workflow for plan and apply approval gates
- Managing secrets and credentials securely in pipelines
Assignments:
- Create a GitHub Actions workflow for Terraform.
- Automate plan and apply steps using environment approvals.
- Store Terraform state remotely and integrate with pipeline.
6.1 Real-World Terraform Practice
Lab Tasks:
- Create an Azure Resource Group using Terraform
- Deploy a Virtual Network (VNet) and Subnet
- Launch a Virtual Machine and attach a Public IP
- Create and configure a Key Vault
- Provision a Storage Account
- Output resource information using Terraform outputs
Assignments:
- Implement the full Terraform configuration for a simple 3-tier setup.
- Store Terraform state remotely in Azure Storage.
- Share your Terraform files via GitHub and integrate with CI/CD.