- Azure Compute, Storage and Networking
- Compute
- Azure Cloud Services (PaaS)
- Azure Virtual Machines (IaaS)
- Azure Web Sites (SaaS)
- Storage
- Blob Storage
- Networking
- The concept of a "cloud service"
- Layer 4 Load Balancers
- Layer 7 Load Balancing Approaches
- Virtual Networks (VNets)
- Internal Load Balancers
- VPN Gateways
- Traffic Manager
- Compute
- Relational Database
- MySQL
- build
- buy: small & mission critical
- Microsoft SQL Server
- Hosted (Windows Azure SQL Database)
- Self-hosted on VMs (SQL Server 2014 always-on)
- MySQL
- Management and Automation
- Mechanisms
- Web Portals
- current https://manage.windowsazure.com/
- preview https://portal.azure.com/
- Scripting
- Azure Cross-Platform (node.js) Command Line a.k.a.
npm install -g azure-cli
src - Azure Powershell Commandlets
- Azure Cross-Platform (node.js) Command Line a.k.a.
- SDKs
- REST API
- Web Portals
- Azure Resource Manager / Resource Groups (declarative architecture)
- Azure Resource Manager - Template Language
- Azure Resource Manager - REST API - Create a template deployment
- Azure Resource Manager - REST API - Validate a template deployment
- Using node.js with Resource Manager
- http://blogs.msdn.com/b/rmattsampson/archive/2014/08/19/azure-resource-manager-tools-for-visual-studio.aspx
- Azure Automation
- Mechanisms
- http://blogs.msdn.com/b/rmattsampson/archive/2014/08/19/azure-resource-manager-tools-for-visual-studio.aspx
- Linux on Azure-Endorsed Distributions
- Enable Azure Preview bits
- 2014AUG11 Blog - Azure Resource Manager Tools Preview
- 2014NOV26 Blog - Azure Resource Manager 2.5 for Visual Studio
- Quick Start Guide: Building Highly Available Linux Servers in the Cloud on Microsoft Azure in 12 Steps and Step-by-Step: Automated Provisioning for Linux in the Cloud with Microsoft Azure, XPlat CLI, JSON and Node.js
- Unix reverse proxies
- Deploy Hardened HA-Proxy Azure VM from VM Depot
- nginx (1, 2)
- haproxy (1)
- Video Azure Resource Manager DevOps (Overview, tooling, customizing templates, role-based access control, ARM and ALM integration)
- Azure - Exporting and Importing VM settings with the Azure Command-Line Tools
- Azure - Create Virtual Machine Deployment REST API
- Azure - Linux and Graceful Shutdowns
- Azure - Internal Load Balancing
- Azure - Load balancing highly available Linux services: OpenLDAP and MySQL
- Using load-balanced sets to clusterize MySQL on Linux
- Azure STONITH Provider on GitHub
- Blog: Network Security Groups und sample
- https://packer.io/
- ClearDB MySQL Schema for Azure Resource Manager: http://schema.management.azure.com/schemas/2014-04-01/SuccessBricks.ClearDB.json
azure config mode arm
azure config mode asm
azure config mode arm
azure group template list --json >> templates.json
azure group template download CoreOS.CoreOSAlpha.0.2.9-preview
azure config mode asm
azure storage account list --json
- Microsoft.VirtualNetwork.1.0.4
- Microsoft.CloudService.0.8.0-placeholder
- Microsoft.ClassicStorage.0.3.5-preview
- Microsoft.CustomScriptExtension.1.0.12
- Microsoft.CustomScriptForLinux.1.0.3
- Microsoft.TrafficManager.0.8.0-placeholder
- Microsoft.CDN.0.8.0-placeholder
- Microsoft.WebSite.0.2.2-preview
- Microsoft.SQLDatabase.0.2.4-preview
- Microsoft.DocumentDB.0.4.0-preview
- Microsoft.WebSiteSQLDatabase.0.2.0-preview
- Microsoft.Cache.1.0.1
- Microsoft.DocumentDB.0.4.0-preview
- Microsoft.Jetty.0.1.0-preview
- Microsoft.MediaService.0.8.0-placeholder
- Microsoft.MinecraftServer.1.8.6
- Microsoft.NotificationHub.0.7.0-placeholder
- Microsoft.MultiFactorAuthentication.0.8.0-placeholder
- Microsoft.Scheduler.0.8.0-placeholder
- Microsoft.Search.1.0.1-preview
- Microsoft.ServiceGatewayManagementConsole.0.2.4-preview
- Microsoft.WebSiteDeploySQLRedis.0.2.5-preview
- SuccessBricksInc.ClearDBMySQLDatabase.0.2.1-preview
- Cloudera.ClouderaEnterprise.4.12.18-preview
- Download publish settings at https://manage.windowsazure.com/publishsettings/index?client=xplat
npm install azure-cli
azure account clear
azure account import "Windows Azure MSDN - Visual Studio Ultimate-credentials.publishsettings"
azure account set "internal"
azure account list
- Debian Wheezy Image from https://vmdepot.msopentech.com/Vhd/Show?vhdId=65&version=400
azure vm list --json
azure vm create DNS_PREFIX --community vmdepot-65-6-32 --virtual-network-name -l "West Europe" USER_NAME [PASSWORD] [--ssh] [other_options]
Create an A5 instance
Command line:
azure vm create-from cloudservicename machine.json --connect --verbose --json
See the REST API for details.
{
"RoleName": "database-vm-1",
"RoleType": "PersistentVMRole",
"RoleSize": "A5",
"AvailabilitySetName" : "databases",
"OSVirtualHardDisk": {
"OS": "Linux",
"HostCaching": "ReadWrite",
"DiskName": "database-vm-1-disk",
"DiskLabel": "database-vm-1-disk",
"SourceImageName": "Debian-Wheezy-635506180993665396",
"RemoteSourceImageLink": "http://account.blob.core.windows.net/vmdepot-images/TE-2014-11-03-debianwheezy-os-2014-11-03.vhd",
"MediaLink" : "http://account.blob.core.windows.net/vmdepot-images/database-vm-1-disk.vhd"
},
"DataVirtualHardDisks": [
{ "DiskLabel": "database-vm-1-data1", "Lun": "0", "MediaLink" : "http://account.blob.core.windows.net/vmdepot-images/database-vm-1-data1.vhd", "HostCaching": "ReadOnly", "LogicalDiskSizeInGB": "1023" },
{ "DiskLabel": "database-vm-1-data2", "Lun": "1", "MediaLink" : "http://account.blob.core.windows.net/vmdepot-images/database-vm-1-data2.vhd", "HostCaching": "ReadOnly", "LogicalDiskSizeInGB": "1023" },
{ "DiskLabel": "database-vm-1-xlog1", "Lun": "2", "MediaLink" : "http://account.blob.core.windows.net/vmdepot-images/database-vm-1-xlog1.vhd", "HostCaching": "ReadOnly", "LogicalDiskSizeInGB": "1023" }
],
"ConfigurationSets": [
{
"ConfigurationSetType" : "LinuxProvisioningConfiguration",
"HostName" : "database-vm-1",
"UserName" : "ruth",
"UserPassword" : "Supersecret123!!",
"DisableSshPasswordAuthentication" : false
},
{
"ConfigurationSetType": "NetworkConfiguration",
"SubnetNames": [ "mysubnet" ],
"StaticVirtualNetworkIPAddress": "10.10.0.7",
"InputEndpoints": [],
"PublicIPs": [],
"StoredCertificateSettings": []
}
],
"ProvisionGuestAgent": "true",
"ResourceExtensionReferences": []
}
$ aptitude update && aptitude upgrade
$ aptitude install rsync
$ aptitude install mdadm lvm2 xfsprogs
Add-AzureAccount
Set-AzureSubscription -SubscriptionName "Trial Account" -SubscriptionId "deadbeef-7216-4aef-8394-fce57df325a3"
Select-AzureSubscription -SubscriptionName "Trial Account" -Default
Add-AzureInternalLoadBalancer -InternalLoadBalancerName database -ServiceName frontendcloudservice -SubnetName subnet123 -StaticVNetIPAddress 10.10.0.100
Get-AzureVM -ServiceName frontendcloudservice -Name pooler1 | Add-AzureEndpoint -Name "database" -LBSetName "database" -Protocol tcp -LocalPort 5432 -PublicPort 5432 -ProbePort 5432 -ProbeProtocol tcp -ProbeIntervalInSeconds 10 -InternalLoadBalancerName database | Update-AzureVM