• Please join into meeting with your full names and also give your registered email IDs.
Ds. Below names were
very ambiguous
• Alex , Manuel, kunal, Ayuens, KCT, dann, Mark C, krithka, Delle, Handianto, Reden, Emerald, yang , JY – Just first name
• Mark Anthony , Poch Reyes, Park Goeun , Sanga Kota, Mark Grajo, Nelson - Not found in database, need email IDs
• Veritec - Is Partner name, if you can substantiate with all the folks attending via consolidated email or in
http://aka.ms/azurereadyaccess
• Try to join into skype meeting via free Installed client for better connectivity. The web client seems to have
issues. Dial In Numbers have been set up. This is limited due to network crunch, hence use them only if
the data over voice quality is very bad
• The video download mp4 has been generated and will be shared in the via OneNote
• Access issues on Q&A - We will sort this before next session and we want you put in questions there
• Any request for access/issues you have : http://aka.ms/azurereadyaccess
• Based on attendance & QA involvement & certification, we will be circulating official curriculum ebooks
worth 30$usd free in coming weeks.
Time (SGT) Topic Speaker
12.00pm - 12.05pm (5mins) Introductions and Agenda Discussion
Saranya Sriram
12.05pm – 12.20pm (15mins) Recap of Module 2 on Azure Web App (Asia Azure Partner Technical Lead)
Environment / Web Sites
12.20pm – 12.50pm (30mins) Azure Virtual Machines in Classic Module Prakash Sawant
(APAC Azure Cloud Solution Architect)
12.50pm-1.20pm (30mins) Azure Virtual Machines in new ARM (Resource
Management ) model Saranya Sriram
(Asia Azure Partner Technical Lead)
1.20pm – 1.40pm (20mins) Review of links and assign reading materials and
homework Saranya Sriram
(Asia Azure Partner Technical Lead)
1.40pm – 2.00pm (20mins) Q&A and closing
App Service SQL DB
Hopper Website
Mobile API Feedback
Continuous
Integration
API Management Visual Studio Online
Microsoft Azure
Hopper
Designed for secure mission-critical applications Optimized for Availability and Automatic scale Agility through Continuous Deployment
Hybrid Connections / VPN Support Automated Deployment Remote Debugging w/ Visual Studio
Scheduled Backup AutoScale Site Staging Slots
Azure Active Directory Integration Built-in Load Balancing Testing in Production
Site Resiliency, HA, and DR WW Datacenter Coverage Continuous Integration/Deployment
Web Jobs End Point Monitoring & Alerts Git, Visual Studio Online and GitHub
Role Base Access Control App Gallery App & Site Diagnostics
Audit / Compliance DR Site Support OS & Framework Patching
Enterprise Migration WildCard Support Site Extensions Gallery
Client Certs Dedicated IP address NET, PHP, Python, Node, Java
Cache HTTP Compression Framework Installer
IP Restrictions/ SSL CDN Support for Websites Browser-based editing
Web Sockets Premium WordPress Auto-Healing
SQL, MySQL, DocDB, & Mongo App Services Environments Logging and Auditing
Sticky Sessions Admin-Site
Authorization/ Authentication Support Site Extension
Creating a Virtual Machine
Standard Windows OS
Linux Distributions
Database Images
And More
Launch MSDN specific images
33% to 99% savings
Wide Range of Certified for Azure Images
Available via Azure Preview Portal only at this time
Highest Value SSD Storage Most Memory
Faster CPUs Fastest CPUs
Highest Value Largest Scale-up
Optimized for general purpose storage
Up to 20,000 IOPS and 20Gbps per storage account
Billing based on actuall bytes written to storage
Blobs, Files, Tables and Queues support
Standard_LRS, ZRS, GRS, GRS-RA
Optimized for low latency or high bandwidth
Up to 80,000 IOPS and 64Gbps per storage account
Billing based on provisioned size (not actual writes)
Blobs and (soon) Files support
Premium_LRS
Standard_DS1
Disk
5k Provisioning
IOPS, Disk
200MB/s 5k Provisioning
IOPS, 200MB/s
SSD
4k IOPS,
Provisioning
32MB/s
Up to 64 TB of storage per VM
3,200 IOPS,Provisioning
VM/Network 32MB/s Server
Up to 80,000 IOPS per VM SSD
5,000 IOPS per disk
Premium Storage
~5 ms read/write (no cache) Blobs
less than 1ms read latency (cache)
Deploy
Workloads
Implement
Images and
disks
Configuration
Management
Configure
networking
Configure
resiliency
Design
Implement
Storage
Monitor VMs See Websites, Cloud Service and Virtual Machines Comparison
Compute Instance Name Virtual Cores RAM
Extra Small (A0) Shared 768 MB
Small (A1) 1 1.75 GB
Medium (A2) 2 3.5 GB
Large (A3) 4 7 GB
Extra Large (A4) 8 14 GB
Compute Instance Name Virtual Cores RAM
A5 2 14 GB
A6 4 28 GB
A7 8 56 GB
Compute Instance Name Virtual Cores RAM Networking
A8 8 56 GB 40 Gbit/s InfiniBand
A9 16 112 GB 40 Gbit/s InfiniBand
Each Persistent Data Disk Can be up to 1 TB with up to 16 disks per VM
http://azure.microsoft.com/en-us/pricing/details/virtual-machines/
NOT GOOD: Read more
Create a VM running Windows.
Create a VM running Linux
Set-AzureSubscription -CurrentStorageAccountName
yourstorageaccountname -
SubscriptionName "your subscription name"
$adminUser $adminPassword
$adminPassword
$svcname
See About Disks and Images See “How to Attach a Disk”
PS To Automate VM Processes
To Automate VM Config
Chef
Knife Azure
Puppet
• Build, Deploy Manage = Lifecycle
See “About Azure VM Configuration settings” & “Manage Images Using PowerShell”
Multi Step process of deploying
configuration to Production VMs!
1. Monitor source control for
new commits to DSC
repository for a Service
2. When new commit, push DSC
repository to stage env for
VMs
3. Run test suite to confirm
service in stage env VMs
4. If tests fail, call dev dudes!
5. If pass, wait for maintenance
window, then push DSC to
production
Size Hosts for 2n-2
Ordered first to last. So least->most restrictive!
NSGs
Read more!
See Azure Limits!
Configure on the Cloud Service containing them
Combine with Load Balancer to increase resiliency
See How to configure an Availability Set for VM & VM Configuration Settings
Object Limit Locking
Subscription
120 Create/Add
Subscription operations in 5 minute N/A
Cloud Service (200)
window
Virtual Machine (50x200) Cloud Service 200 per subscription ~3 minutes per update
50 per cloud service
Virtual Network (100) Virtual Machine 2048 per Virtual None
Network
Storage Account (100) Virtual Network 100 per subscription Single modification API
Storage Account 100 per subscription None
Storage Container Storage Container No Limit None
One blob per container per
Storage Blob (40x100) Storage Blob 40 per storage account
storage account at a time
Read more
host caching host-cache
Host caching off by default
Host-caching is ON by default
Set-AzureOSDisk Set-AzureDataDisk
Azure Virtual Machine
C:\ E:\, F:\, etc.
OS Disk | SATA Temporary Disk Data Disks | SCSI
127 GB Max Windows: D:\ 1 TB Max
Linux /dev/sdb
Disk Cache
See How to change the Temp Drive Letter
1. Create context
New-AzureStorageContext
2. Create file share
directory
New-AzureStorageDirectory
4. Upload local file
Set-AzureStorageFileContent
See Detailed Steps and PS examples
Azure Service Model (v1) Azure Resource Manager (V2)
Internet
LB
VM1 VM2
IP1 IP2
MicrosoftAzure
Internet
Reserved IP
• Visual Studio debuggers
• Diagnostics agents
• Monitoring agents
• Access recovery
• Docker extension
• Backup helper
Update Domains are honored by host OS updates
On Premises
10.0/16
Internet
VPN & Direct Internet
ExpressRoute Connectivity
Azure
VPN
GW
Backend Mid-tier Frontend
10.3/16 10.2/16 10.1/16
Virtual Network
ELEMENT LOCATION NAME RESOLUTION PROVISION
Between role instances or VMs Same Cloud Service Azure Internal Name Resolution
Between VMs Same VNet Azure Internal Name Resolution
Between role instances or VMs Same VNet / diff Cloud Services Azure Internal Name Resolution
Between role instances or VMs Same Cloud Services but not in a VNet NOT POSSIBLE VMs & role instances
can’t be deployed this way
Between role instances Different Cloud Services but not in a VNet NOT POSSIBLE connectivity between
role instances in diff cloud svcs not
supported
1. If Azure <-> on-premises => Use your own DNS Server
2. If Between on-premises to Azure public endpoints, then use MS Azure
external name resolution.
Read more on DNS
1 Public 1 Private Port
--enable-direct-server-return
.SetTcpKeepAlive(true, 30000, 30000)
On Premises 10.0/16
Internet
ExpressRoute
and VPNs
VPN
GW
Backend Mid-tier Frontend
10.3/16 10.2/16 10.1/16
Virtual Network
• Consumers
• Access over public IP
Internet Connectivity • DNS resolution
• Connect from anywhere
• Developers
Secure point-to-site • POC Efforts
connectivity • Small scale deployments
• Connect from anywhere
• SMB, Enterprises
Secure site-to-site • Connect to Azure compute
VPN connectivity
• SMB & Enterprises
ExpressRoute private • Mission critical workloads
connectivity • Backup/DR, media, HPC
• Connect to all Azure services
Resource Groups
Manage resources as a
single unit
Role based access and
RESOURCE GROUP control (RBAC) on groups
or resources
Billing integrated tagging
on groups or resources
Role Definitions
• Describes the set of permissions (e.g. read actions)
What is RBAC • Can be used in multiple assignments
•Allows secure access with granular permissions to
resources
•Assignable to users, groups or service principals Role Assignments
•Built-in roles make it easy to get started • Associate role definitions with an identity (e.g.
user/group) at a scope (e.g. resource group)
• Always inherited – subscription assignments
apply to all resources
SQL-A Instantiation of repeatable config.
Website Configuration Resource Group
[SQL CONFIG] VM (2x)
Azure Templates can:
• Ensure Idempotency
• Simplify Orchestration
• Simplify Roll-back
• Provide Cross-Resource Configuration DEPENDS ON SQL DEPENDS ON SQL
and Update Support
Azure Templates are: Virtual
SQL - A Website Machines
• Source file, checked-in
• Specifies resources and dependencies
(VMs, WebSites, DBs) and connections
(config, LB sets)
SQL CONFIG
• Parametized input/output
Functionality Details
Azure CLI support azure vm docker create -l <location> <vm-name>
for easy Docker host <image-name> <username> <password>
creation
Azure Portal • Docker on Ubuntu image
experience • Easy to deploy popular DockerHub images
Docker CLI Already supported for Linux containers on Azure
(machine, compose,
swarm) support
Docker optimized CoreOS, Ubuntu “Snappy” (future), RancherOS (future)
OS distributions Windows Server 10, Windows Server “Nano” (future)
Visual Studio Support for Linux and Windows Server containers
Integration
Docker Trusted Available in Marketplace (BYOL)
Repository
Container services Coming soon
Resource Group
Subnet
Scale Set
V V V V
M M M M
…
Scalable NIC Scalable Storage
Extensions
VNET
Service Tooling Container Tooling
Containers
(to be completed prior to 15 oct)
• Review Exam Objectives for Implementing Virtual Machines(link) (Estimated time: 5 minutes)
• Read High-level description of Virtual Machines on the Azure site (link) (Estimated time: 5 minutes)
• Watch: Create a Windows Server Virtual Machine (link) (Estimated time: 3 minutes)
• Lab: Quickly Launch a Windows VM in the Azure Portal (link) (Estimated time: 30 minutes)
Optional (Going deeper):
Watch: Azure IaaS Virtual Machines Inside Out (link) (Estimated time: 1 hour 2 minutes )
Watch: Optimize Your Windows Server Workloads on Azure (link) (Estimated time: 1 hour)
Watch: Inside IaaS Architecture Best Practices and Management (link) (Estimated time: 1 hour)
Watch: Planning Disaster Recovery, Migration and More (link) (Estimated time: 1 hour)
• (Estimated time: 5 minutes)
Implementing Microsoft Azure website
Microsoft Azure
Infrastructure Solutions
Exam Reference Book
(Optional)
Microsoft Virtual Academy
Architecting Microsoft
Azure Solutions & Azure
for IT Pros
• Tale of 2 models (Classic and ARM)
• Azure Virtual Machines are best as
open, flexible across workloads of
Linux and Windows
• Configuration Management,
Alerts, Scriptable deployment are
key