Microsoft Azure Resources
- https://azure.microsoft.com/en-us/pricing/calculator/
- https://azure.microsoft.com/en-us/offers/pay-as-you-go/
-
https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits
-
Azure products available by region
-
https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-overview
-
- https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-general
- https://azure.microsoft.com/en-us/pricing/details/virtual-machines/series/
- A-Series: Entry-level economical VMs for dev/test
- B-Series: Economical burstable VMs
- D-Series: General purpose compute
- DC-series: Protect data in use
- E-Series: Optimized for in-memory hyper-threaded applications
- F-Series: Compute optimized virtual machines
- G-Series: Memory and storage optimized virtual machines
- H-Series: High Performance Computing virtual machines
- Ls-Series: Storage optimized virtual machines
- M-Series: Largest memory optimized virtual machines
- N-Series: GPU enabled virtual machines
- ND-Serries: Designed for artificial intelligence (AI) and deep learning
- https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-gpu
- "NC-series VMs are powered by the NVIDIA Tesla K80 card."
- "NCv2-series VMs are powered by NVIDIA Tesla P100 GPUs. These GPUs can provide more than 2x the computational performance of the NC-series."
- "NCv3-series VMs are powered by NVIDIA Tesla V100 GPUs. These GPUs can provide 1.5x the computational performance of the NCv2-series. "
- "NDv2-series virtual machine is a new addition to the GPU family designed for the needs of the HPC, AI, and machine learning workloads. It’s powered by 8 NVIDIA Tesla V100 NVLINK interconnected GPUs and 40 Intel Skylake cores and 672 GiB of system memory. NDv2 instance provides excellent FP32 and FP64 performance for HPC and AI workloads utilizing Cuda, TensorFlow, Pytorch, Caffe, and other frameworks."
- "The ND-series virtual machines are a new addition to the GPU family designed for AI, and Deep Learning workloads. They offer excellent performance for training and inference. ND instances are powered by NVIDIA Tesla P40 GPUs. The ND-series also offers a much larger GPU memory size (24 GB), enabling to fit much larger neural net models. Like the NC-series, the ND-series offers a configuration with a secondary low-latency, high-throughput network through RDMA, and InfiniBand connectivity so you can run large-scale training jobs spanning many GPUs."
- "The NV-series virtual machines are powered by NVIDIA Tesla M60 GPUs and NVIDIA GRID technology for desktop accelerated applications and virtual desktops where customers are able to visualize their data or simulations."
- "The NVv2-series virtual machines are powered by NVIDIA Tesla M60 GPUs and NVIDIA GRID technology with Intel Broadwell CPUs. "
-
https://docs.microsoft.com/en-us/azure/architecture/
- https://docs.microsoft.com/en-us/azure/architecture/changelog
- https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design
- https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-implementation
- https://docs.microsoft.com/en-us/azure/architecture/best-practices/naming-conventions
-
https://azure.microsoft.com/en-us/campaigns/developer-guide/
-
Hybrid Connectivity Gateway
-
https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/
-
https://docs.microsoft.com/en-us/azure/architecture/aws-professional/accounts
- "Azure subscriptions are a grouping of resources with an assigned owner responsible for billing and permissions management. Unlike AWS, where any resources created under the AWS account are tied to that account, subscriptions exist independently of their owner accounts, and can be reassigned to new owners as needed."
- Subscriptions are assigned three types of administrator accounts:
- Account Administrator
- Service Administrator
- Co-administrator
- "Like AWS accounts, subscriptions have default service quotas and limits. For a full list of these limits, see Azure subscription and service limits, quotas, and constraints."
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/managed-disks-overview
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-general
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-compute
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-memory
- https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-hpc
- https://azure.microsoft.com/en-us/updates/public-preview-low-priority-vms-on-vm-scale-sets/
- https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-low-priority
- "The amount of available unutilized capacity can vary based on size, region, time of day, and more. When deploying low-priority VMs on scale sets, Azure will allocate the VMs if there is capacity available, but there is no SLA for these VMs. A low-priority scale set is deployed in a single fault domain and offers no high availability guarantees."
- https://azure.microsoft.com/en-us/blog/low-priority-scale-sets/
- "Low-priority VMs are available through VM scale sets with up to an 80 percent discount."
- "Low-priority VMs enable you to take advantage of our unutilized capacity. The amount of available unutilized capacity can vary based on size, region, time of day, and more. When deploying Low-priority VMs in VM scale sets, Azure will allocate the VMs if there is capacity available, but there are no SLA guarantees. At any point in time when Azure needs the capacity back, we will evict low-priority VMs"
- "viction Policy: When provisioning low-priority VMs, you can set the eviction policy. The two evictions policies that are supported are stop-deallocate on eviction and deleted on eviction. Stop-deallocate on eviction allows users to maintain the disks associated with these VMs. Users can try to restart the low priority in the scale set but remember, there are no allocation guarantees. The delete on eviction policy deletes the VM and all disks associated to the VM. "
- https://blogs.msdn.microsoft.com/uk_faculty_connection/2017/11/07/microsoft-azure-low-priority-virtual-machines-take-advantage-of-surplus-capacity-in-azure/
- "In general, batch processing workloads are a good fit, as jobs are broken into many parallel tasks or there are many jobs that are scaled out and distributed across many VMs."
- "Development and testing: In particular, if large-scale solutions are being developed, significant savings can be realized. All types of testing can benefit, but large-scale load testing and regression testing are great uses."
- "Supplementing on-demand capacity: Low-priority VMs can be used to supplement regular dedicated VMs - when available, jobs can scale and therefore complete quicker for lower cost; when not available, the baseline of dedicated VMs remains available."
- "Flexible job execution time: If there is flexibility in the time jobs have to complete, then potential drops in capacity can be tolerated; however, with the addition of low-priority VMs jobs frequently run faster and for a lower cost."
- "In general, batch processing workloads are a good fit, as jobs are broken into many parallel tasks or there are many jobs that are scaled out and distributed across many VMs."
- https://docs.microsoft.com/en-us/azure/batch/batch-low-pri-vms
- https://docs.microsoft.com/en-us/azure/cloud-services/
- Training Vidoes
- .NET
- REST APIs
- https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest
- https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
- https://docs.microsoft.com/en-us/cli/azure/release-notes-azure-cli?view=azure-cli-latest
- https://docs.microsoft.com/en-us/cli/azure/reference-index?view=azure-cli-latest
- https://shell.azure.com
- https://docs.microsoft.com/en-us/azure/cloud-shell/overview
- https://docs.microsoft.com/en-us/azure/cloud-shell/features#tools
- https://azure.microsoft.com/en-us/services/container-registry/
- "Azure Container Registry allows you to store images for all types of container deployments including DC/OS, Docker Swarm, Kubernetes, and Azure services such as App Service, Batch, Service Fabric, and others. Your DevOps team can manage the configuration of apps isolated from the configuration of the hosting environment."
- "You don’t have to learn new APIs or commands. Because Azure Container Registry is compatible with the open-source Docker Registry v2, you can use the same open-source Docker CLI tools you already know and the skills you have to efficiently interact with the registry."
- https://docs.microsoft.com/en-us/azure/container-registry/
- https://azure.microsoft.com/en-us/pricing/details/container-registry/
- "Azure Container Registry provides storage of private Docker container images, enabling fast, scalable retrieval, and network-close deployment of container workloads on Azure. Additional capabilities include geo-replication, image signing with Docker Content Trust, Helm Chart Repositories and Task base compute for building, testing, patching container workloads."
- Github Resources
- https://docs.microsoft.com/en-us/azure/azure-resource-manager/
- https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview
- https://docs.microsoft.com/en-us/azure/aks/
- https://azure.microsoft.com/en-us/services/kubernetes-service/
- https://azure.microsoft.com/en-us/updates/?product=kubernetes-service
- 2018
- 2018-12-26
- https://azure.microsoft.com/en-us/updates/azure-kubernetes-service-december-update/
- AKS Adoption of Moby as container runtime
- "With the exception of GPU-based VMs, all new AKS nodes are now provisioned with Moby as the container runtime, including new nodes in existing clusters added via the scale or upgrade commands."
- 2018-12-11
- https://azure.microsoft.com/en-us/updates/azure-monitor-for-containers-is-now-available/
- Azure Monitor for containers is now generally available
- "possible to get all the monitoring telemetry in a centralized location in Azure without having to sign into containers or rely on other tools. "
- "With live logs, you get a real time, live stream of your container logs directly in your Azure portal to help you interactively troubleshoot issues. "
- https://azure.microsoft.com/en-us/updates/azure-monitor-for-containers-is-now-available/
- 2018-12-26
- 2018
- https://github.com/Azure/AKS https://github.com/Azure/AKS/blob/master/previews.md
- https://github.com/Azure/aks-engine/
- Azure Monitor for Containers
- https://docs.microsoft.com/en-us/azure/azure-monitor/insights/container-insights-overview
- Container Monitoring solution in Log Analytics
- https://docs.microsoft.com/en-us/azure/azure-monitor/insights/containers
- "This article describes how to set up and use the Container Monitoring solution in Log Analytics, which helps you view and manage your
Docker
and Windows container hosts in a single location"
- "This article describes how to set up and use the Container Monitoring solution in Log Analytics, which helps you view and manage your
- https://docs.microsoft.com/en-us/azure/azure-monitor/insights/containers
- https://azure.microsoft.com/en-us/resources/templates/
- https://azure.microsoft.com/en-us/resources/templates/?term=docker&pageNumber=1
- https://azure.microsoft.com/en-us/resources/templates/docker-kibana-elasticsearch/
- https://azure.microsoft.com/en-us/resources/templates/docker-swarm-cluster/
- https://azure.microsoft.com/en-us/resources/templates/docker-rancher/
- https://azure.microsoft.com/en-us/resources/templates/docker-neo4j/
- https://azure.microsoft.com/en-us/resources/templates/docker-parse/
- https://azure.microsoft.com/en-us/resources/templates/docker-wordpress-mysql/
- https://azure.microsoft.com/en-us/resources/templates/docker-simple-on-ubuntu/
- https://azure.microsoft.com/en-us/resources/templates/301-jenkins-aks-zero-downtime-deployment/
- https://azure.microsoft.com/en-us/resources/templates/jenkins-cicd-container/
- https://azure.microsoft.com/en-us/resources/templates/?term=docker&pageNumber=1
-
https://docs.microsoft.com/en-us/azure/container-instances/
- "Certain features of Azure Container Instances are in preview, and some limitations apply." "Azure Container Instances offers the fastest and simplest way to run a container in Azure, without having to provision any virtual machines and without having to adopt a higher-level service."
- https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart
- https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart-portal
- https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart-powershell
- https://docs.microsoft.com/en-us/learn/paths/administer-containers-in-azure/
- https://docs.microsoft.com/en-us/dotnet/api/overview/azure/containerinstance?view=azure-dotnet
- https://docs.microsoft.com/en-us/rest/api/container-instances/listcapabilities/listcapabilities
- Example:
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities?api-version=2018-10-01
- Example:
- https://github.com/Azure/acs-engine
- Azure Container Service Engine - provision and deploy container orchestrators on Azure: Kubernetes, DC/OS, and Docker Swarm.
"This codebase has been deprecated in favor of aks-engine, the natural evolution from acs-engine"
- https://github.com/Azure/aks-engine
- AKS-Engine: Units of Kubernetes on Azure!
- "AKS-Engine provides convenient tooling to quickly bootstrap Kubernetes clusters on Azure. By leveraging ARM (Azure Resource Manager), AKS-Engine helps you create, destroy and maintain clusters provisioned with basic IaaS resources in Azure. AKS-Engine is also the library used by AKS for performing these operations to provide managed service implementations."
- https://github.com/Azure/aks-engine/blob/master/docs/README.md
- Kubernetes Yaml File:
- Docker Monitoring Agent for OMI Server
-
Docker.com Resources
- https://hub.docker.com/editions/enterprise/docker-ee-azure?tab=description
- https://docs.docker.com/v17.09/docker-for-azure/
- https://hub.docker.com/editions/enterprise/docker-ee-azure?tab=description
- https://docs.docker.com/v17.09/docker-for-azure/faqs/
- "Docker for Azure should work with all supported Azure Marketplace regions."
- "All regions can be found here: Microsoft Azure Regions. An excerpt of the above regions to use when you create your service principal are:"
- "usgovvirginia"
- "usgoviowa"
- Microsoft Azure Channel, How to run an app inside a container image with Docker | Azure Tips and Tricks
-
Visual Studio 2017 Support for Docker
- Using Visual Studio Tools for Docker (Visual Studio on Windows)
- "The Visual Studio Tools for Docker development workflow is similar to the workflow when using Visual Studio Code and Docker CLI. In fact, it's based on the same Docker CLI, but it's easier to get started, simplifies the process, and provides greater productivity for the build, run, and compose tasks. Execute and debug your containers via simple actions like F5 and Ctrl+F5. With the optional container orchestration support, in addition to being able to run and debug a single container, you can run and debug a group of containers (a whole solution) at the same time."
- "There are two levels of Docker support you can add to a project. In .NET Core web app projects, you can just add a Dockerfile file to the project by enabling Docker support. The next level is container orchestration support, which adds a Dockerfile to the project (if it doesn't already exist) and a docker-compose.yml file at the solution level. Container orchestration support, via Docker Compose, is added by default in Visual Studio 2017 versions 15.7 or earlier. Container orchestration support is an opt-in feature in Visual Studio 2017 versions 15.8 or later, in which case Docker Compose and Service Fabric are supported."
- Debugging apps in a local Docker container
- Using Visual Studio Tools for Docker (Visual Studio on Windows)
- https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes
- https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/
- https://docs.microsoft.com/en-us/azure/app-service/environment/intro
- "The Azure App Service Environment is an Azure App Service feature that provides a fully isolated and dedicated environment for securely running App Service apps at high scale."
- "ASEs are isolated to running only a single customer's applications and are always deployed into a virtual network."
- "Customers have fine-grained control over inbound and outbound application network traffic."
- "Applications can establish high-speed secure connections over VPNs to on-premises corporate resources."
- https://docs.microsoft.com/en-us/azure/app-service/environment/create-ilb-ase
- "Azure App Service Environment is a deployment of Azure App Service into a subnet in an Azure virtual network (VNet). There are two ways to deploy an App Service Environment (ASE):"
- "With a VIP on an external IP address, often called an External ASE."
- "With a VIP on an internal IP address, often called an ILB ASE because the internal endpoint is an internal load balancer (ILB)."
- "Azure App Service Environment is a deployment of Azure App Service into a subnet in an Azure virtual network (VNet). There are two ways to deploy an App Service Environment (ASE):"
- Configuring a Web Application Firewall (WAF) for App Service Environment
- https://docs.microsoft.com/en-us/azure/app-service/environment/network-info
- "There are two versions of App Service Environment: ASEv1 and ASEv2. For information on ASEv1, see Introduction to App Service Environment v1. ASEv1 can be deployed in a classic or Resource Manager VNet. ASEv2 can only be deployed into a Resource Manager VNet."
- "The size of the subnet used to host an ASE cannot be altered after the ASE is deployed."
- "When you scale up or down, new roles of the appropriate size are added and then your workloads are migrated from the current size to the target size. Only after your apps are migrated are the original VMs removed. This means that if you had an ASE with 100 ASP instances
there would be a period where you need double the number of VMs.
It is for this reason that we recommend the use of a '/24' to accommodate any changes you might require. "
- Security and Horsepower with App Service: The New Isolated Offering
- https://docs.microsoft.com/en-us/azure/app-service/environment/app-service-app-service-environment-layered-security
- Gitub Resources
- https://github.com/hansenms/iac/tree/master/ase-devops
- "The pattern in this template deployment illustrates how to combine ASE with CI/CD using VSTS or TFS. It uses the ase template to establish an App Service Environment with a Web App. It also uses the ase-agent template to deploy a VSTS/TFS agent in the Virtual Network and connect this agent with a VSTS or TFS instance. Finally, a jump-box is also deploy in this case to allow access to the Virtual Network for testing purposes."
- https://github.com/hansenms/iac
- https://github.com/hansenms/iac/tree/master/ase-devops
- https://azure.microsoft.com/en-us/overview/azure-stack/
- https://azure.microsoft.com/en-us/resources/videos/microsoft-azure-stack-azure-services-on-premises/
- https://docs.microsoft.com/en-us/azure/azure-stack/asdk/asdk-deploy-considerations
- Note these minimums (as of 2019-01-30):
- 192 GB RAM
- Dual-Socket: 16 Physical Cores (total)
- 4 disks. Each disk provides a minimum of 240 GB of capacity (SSD or HDD). All available disks are used.
- 1 operating system disk with minimum of 200 GB available for system partition (SSD or HDD)
- You need more than this recommended capacity if you plan on adding many of the marketplace items from Azure
- Note these minimums (as of 2019-01-30):
-
2019
-
2018
- 2018-07-16 What’s new in Azure Monitor—container health
- "We released a public preview of the Azure Monitor container health monitoring capability "
- https://azure.microsoft.com/en-us/blog/new-lower-azure-pricing/
- https://azure.microsoft.com/en-us/blog/announcing-general-availability-of-vm-storage-and-network-azure-cli-2-0/
- 2018-07-16 What’s new in Azure Monitor—container health