microsoft azure essentials vm ebook_… · azure vms support general to gpu and cpu intensive...

7
Compute Options in Azure Azure supports a large spectrum of compute architectures to run your workloads and to modernize your apps Learn how to increase the efficiency and reduce the management effort of running your Apps by moving from virtual machines (VMs) to container-based and serverless architectures in Azure. Azure allows you to comfortably run the vast majority of your Windows or Linux apps and workloads while only paying for what you use. Not only can you run your workloads on VMs in Azure but you can also start to modernize your apps using Containers or architect your apps to only fire up resources when they need them with serverless compute. These options allow you to plan how to get the most out of your compute resources when moving an existing application or workload into a VM or set of VMs in the Cloud or when selecting the compute power that you need for new workloads. On premises workloads moved to VMs in Azure Virtual Machines Containers Serverless Moving Your Workloads To Azure Microsoft Azure Essentials

Upload: trinhcong

Post on 07-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Compute Options in Azure

Azure supports a large spectrum of compute architectures to run your workloads and to modernize your apps

Learn how to increase the efficiency and reduce the management effort of running your Apps by moving from virtual machines (VMs) to container-based and serverless architectures in Azure.

Azure allows you to comfortably run the vast majority of your Windows or Linux apps and workloads while only paying for what you use. Not only can you run your workloads on VMs in Azure but you can also start to modernize your apps using Containers or architect your apps to only fire up resources when they need them with serverless compute.

These options allow you to plan how to get the most out of your compute resources when moving an existing application or workload into a VM or set of VMs in the Cloud or when selecting the compute power that you need for new workloads. On premises workloads moved to VMs in Azure

Virtual Machines Containers Serverless

Moving Your Workloads To Azure

Microsoft Azure Essentials

Page 2: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

VMs running in a virtual network

Virtual Machines in Azure

Virtual machines in Azure are akin to the virtual machines that you have on premises but with a few more advantages.

Azure VMs give you access to the latest hardware advances and they can be deployed and managed inside of a virtual network. This model is the closest to a traditional on-premises environment, except that Microsoft manages the infrastructure and you still manage the individual VMs including patching, upgrades, app scaling and high availability.

You can lift and shift your applications or workloads onto a VM or VMs in Azure without needing to re-architect them or write new code.

If you are migrating several VMs or a complex system, then there are tools such as Azure Migrate to help you assess the VM and IaaS compute resources needed for your existing virtual machines or multi-VM environments. Azure offers a large catalog of pre-defined first- and third-party images that you can deploy. Other options include defining your own from within Azure or deploying images that you already have.

Azure Migrate readiness assessment

Azure Resource Manager templates

When setting up devtest environments or new production services using multiple virtual machines, you can leverage pre-built Azure Resource Manager templates to hydrate these environments, or author your own templates

Page 3: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Azure offers a range of VM types, differing in the power and performance they offer.

Azure VMs support general to GPU and CPU intensive workloads

Scaling up and scaling down your VMs in Azure

These range from entry level A VMs to Burstable VMs in our B series, which are useful if you have a web front end and need to plan for sporadic compute for traffic spikes. The vast majority of general workloads can run on D series VMs. F series VMs, use the latest Skylake processors. These are great for compute intensive applications and L series VMs are designed for storage and high throughput workloads. For database and analytics workloads the memory optimized M series gives you up to 128 cores and 4TB of RAM, many are also certified for running SAP Hana. The N series by contrast is designed to support graphic intensive workloads and has InfiniBand connectivity for low latency and high-throughputs. And finally our H series for High Performance computing allows you to run some of your most demanding workloads.

You can change the size of your VM at any time. You can for example, scale up capacity or reduce compute power as you need to

We also give you the option of purpose-built infrastructure with up to 20TB of RAM built for specific workload requirements such as SAP Hana or even a supercomputer infrastructure in partnership with Cray. To learn more about what we do for high performance computing, visit our dedicated Azure Essentials overview for High Performance Computing in Azure.

Page 4: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Scaling out your VMs in IaaS is made possible with Azure VM Scale Sets which enable you to add or remove VMs automatically based on the metrics and thresholds that you set.

Grouping two or more Virtual Machines together in an Availability Set will protect your workloads against downtime. Azure will automatically place Virtual Machines in the same Availability Set across different hardware resources to avoid any single point of failure.

Further for additional redundancy, Azure now operates across 40+ regions globally, and alongside Availability Sets, other options such as Traffic Manager, Availability Zones and regions also make your applications highly resilient, available and scalable.

Availability sets allow for redundancy

Virtual Machine operating architecture

Containers in Azure

In order to achieve greater efficiency and utilization of your compute resources, what we call density, Azure also offers support for containers which offer a consistent way to package and deliver your apps with minimal code changes. To understand their advantage over traditional VMs, it helps to first understand the difference between VMs and Containers.

With Virtual Machines we virtualize the hardware, creating the illusion that there is a machine each with its own guest OS. With Containers on the other hand, we virtualize the operating system. We share the host OS and create an isolated OS instance for each application.

This in effect is what allows you to achieve more density as the App within the container is not necessarily using the whole OS or emulating hardware as a VM would, but just what it needs allowing you to run more Apps and processes on a container host.

Because all OS dependencies are packaged up in the container, containers also run more reliably and allow for faster app delivery with near instant start-up times versus the boot-up and specialization times needed for a VM operating with a full guest OS.

AKS (Azure Kubernetes Service), in Azure is a service that helps you to create, configure and manage a cluster of virtual machines that are preconfigured to host containerized applications. It serves as a built-in container orchestrator for your environment.

Availability Set

Container based architecture

Page 5: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Using an orchestrator such as Kubernetes not only allows you to scale out containers almost instantly but it also offers built-in management

It manages cross container dependencies and allows you to tune health checks to automate load balancing and instantaneous App recovery in the case of App failure.

You can also complement AKS, by spinning up containers on demand without needing to provision host VMs or know anything about orchestrators using a single command in Azure CLI.

This is useful in burst compute scenarios, where instead of having to schedule additional VMs, you can use Azure Container Instances (ACI) for compute-on-demand to give you additional capacity during spikes in workloads. And if you are new to containers – ACI is a good way to get started.

Azure Container Instances in burst compute scenarios for traffic spikes

Scaling out containers and built-in management with Kubernetes

Serverless in Azure

The ultimate abstraction of underlying infrastructure is Serverless compute, for on-demand, pay by the sub-second compute, triggered by events happening in real time or on a schedule. This is useful in cases where you don’t need dedicated compute resources. So now you don’t have to worry about density or pre-defining your compute resources up-front, or the operational complexity of running applications, you just write or bring your own code.

Serverless architecture only utilizing resources when triggered by an event

Serverless

Page 6: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Azure Logic Apps help define when compute resources are triggered within a workflow

App Service in Azure gives you the pre-built infrastructure to host your websites and apps

Event publishers and handlers in Azure Event grid

You can use Azure Functions to fire up compute resources as they are needed and as part of a defined and automated visual workflow through Logic Apps.

Most of the time you don’t need to write code for the orchestration or to integrate with specific Apps. There are already over 150+ connectors available today for popular SaaS Apps. You can bind your serverless apps, for example to listen to events and you can also push data via these connectors.

One last option to be aware of, if you are building Web apps you can also take advantage of the App Service which offers many server less advantages, including security, load balancing, auto-scaling, and automated management as a service. This a great option for hosting Websites and Web Apps, Rest APIs and mobile backends without being an expert on the infrastructure or management to run your App.

Second, if you have Apps that perform frequent polling, you can convert those Apps to use eventing with Azure Event Grid. Azure Event grid offers an automated managed event routing platform for Server less Apps and even apps running in VMs or Containers, helping you to save on CPU and networking cycles.

It works by allowing applications to send events when state changes occur using push notifications. As events are received, Event Grid facilitates the triggering of programmatic actions via event handlers.

Event Publishers Azure Event Grid Event Handlers

Page 7: Microsoft Azure Essentials VM eBook_… · Azure VMs support general to GPU and CPU intensive workloads Scaling up and scaling down your VMs in Azure ... many are also certified for

Continued LearningMicrosoft Mechanics Additional Learning Resources

Azure Advisor

Azure Cost Management

Additional Options For Optimizing Your Compute Utilization

Beyond compute architectures, there are however, a few more Azure services worth mentioning as you optimize your compute utilization.

First, it’s a good practice to monitor for underutilized virtual machines. At a subscription level you can determine which to shut down or resize with Azure Advisor.

Equally, Azure Cost Management helps you to track VM sizing and corresponding resources across subscriptions and Cloud services.

Overall, the more that you adopt Cloud optimized architectures to modernize your Apps, the more you can increase the efficiency and reduce the management effort of running your Apps as you evolve from virtual machines to container-based and serverless architectures in Azure to run your Apps and workloads.

If you are interested in learning more about compute options in Azure, there are dedicated topics for High Performance Compute as well as managing your VMs in Azure at www.azure.com/essentials

Azure Container Instances: get containers up and running in seconds

Hosting and scaling your apps with Azure Container Service

Running reliable scalable cloud-native apps with Kubernetes

Build apps faster with Azure serverless

An overview of Azure Event Grid

Steps to securing and managing your VMs in production with Azure

Azure EssentialsHigh Performance Computing (HPC) options in Azure

QuickStartsVirtual Machine Scale Sets Quickstarts

Create an AKS Cluster Quickstart

Learning PathMicrosoft Azure for .NET Developers - Cloud Patterns and Architecture

Online CoursesConfiguration Management for Containerized Delivery