# Day 1 Azure Fundamentals & Infrastructure
This day is about getting a basic understanding of Azure and how to use its fundamental infrastructure services:
- Virtual machines
- Storage accounts
- Azure Resource Manager Templates
- Azure Automation
- Challenge 0: Networking - Create a Virtual Network (IPv4) for your first VM
- Challenge 1: VM - Create a virtual machine using the Azure portal
- Challenge 2: Cloud Shell - Coding Your Azure Resources
- Challenge 3: Storage Account - Creating Data Storage for VMs and Applications
- Challenge 4:ARM - Azure Resource Manager (ARM) Templates
- Challenge 5: Networking - Connect Two Virtual Networks Using Azure VNET Peering
- Challenge 6: Networking - Load balancing your WWW Server Farm
- Challenge 7:(optional): VM and Custom Script Extensions - Post deployment automation or configure / setup / install something within an empty VM
- Challenge 8 (optional): Networking - Distribute traffic accross global Azure regions using Traffic Manager
- Challenge 9 (optional): Azure Automation - Send me yesterday's Azure cost
🔑 Keywords: VNET, peering, loadbalancer, VPN, Traffic Manager
At first we create a virtual network (VNET) in Azure. A VNET is a requirement for quite a few services in Azure e.g. virtual machines, firewalls, containers, web,etc. (Challenge-0).
Traffic can flow within a single VNET. However if you need to connect two separate VNETs you need to do network peering (Challenge-5).
Azure loadbalancer is an easy way to distribute traffic between virtual machines. In Challenge-6 you configure it for a web server farm.
Another service that helps to direct traffic flow & distribution weightings is Azure Traffic Manager. This is Challenge-8.
# Virtual Machines
🔑 Keywords: create, post deployment automation
Spinning up a virtual machine in Azure using the portal is Challenge-1.
Post deployment automation offers a way on how to configure / install / run scripts within an VM after it has been created. Thus allowing a way to fully automate the setup of a web farm (Challenge-7).
# Storage Accounts
🔑 Keywords: container, SAS, access policy, file share
Storage Accounts is one of the first Azure services. They offer a way to store data on a massive / performant way at global scale with relatively cheap pricing. However, storing data in the cloud needs to be secured from anyone's access. One sub service of Azure storage accounts are Azure file shares, which can be attached to VMs (Challenge-3).
# Automation & ARM (aka Azure Resource Manager)
🔑 Keywords: Cloud Shell, Azure Resource Manager, provider, template, parameter, deployment, Azure Automation
Besides the portal, Azure offers other ways to connect to it. There are tools like Azure CLI or PowerShell to run CRUD-like commands against your Azure subscription. This offers a way to speed up deployments, reduce human error, build infrastructure as code, etc.. Azure Cloud Shell is an easy already setup shell you can use right away (Challenge-2).
So-called ARM templates offer a way to describe your Azure services in a json file. It can be used like an 'order-form' i.e. Azure will serve you with what you described within the ARM Template (Challenge-4).
Azure Automation is helpful do perform recurring tasks e.g. stopping & starting VMs to save costs based on a schedule. The idea is to let Azure execute scripts (that you provide) that can do things within your subscription. Challenge-9 is about gathering your Azure consumption / usage and send it to you via email as .csv for better cost prediction. Cool, isn't it?
😎 Enjoy your day! 😎