Azure cloud services guide: The right tools for the job

Here are the most common uses for the cloud and which Microsoft Azure components you need for them

Azure cloud services guide: The right tools for the job
Galen Gruman/IDG

Microsoft launched the Azure service just over eight years ago in a bid to play catchup with Amazon Web Services. And it has succeeded. Azure is now the No. 2 cloud service, behind AWS. Just how far behind varies from one analyst firm to another, but the general consensus is that it is a two-horse race.

Whether you are building a new application or migration an existing application to the cloud, you can use Azure to manage applications no matter how large or complex they are, using your choice of management tools including the Azure portal, PowerShell, Bash, and REST APIs. Azure also provides built-in support for things like monitoring, log analytics, patching, backup, and site recovery.

It’s easy to think of Azure as a Windows service, and it does make heavy use of Windows Server and the .Net platform. But Microsoft supports multiple versions of enterprise Linux; in fact, one third of all migrations to Azure are to a Linux environment. So Azure has other tricks up its sleeve. Let me break down the big reasons to use Azure’s tools and services.

Azure services for containers, serverless computing, and microservices

Although Microsoft offers a widely used server platform in Windows Server and offers it via Azure, it also got on board the container and serverless revolution early, supporting Docker and Kubernetes. Microsoft partners and consultants will typically work with customers to assist in the migration, or you can upload an app to Docker Hub for development and testing and then pull it into the container service of choice in Azure.

One of the challenges in moving to containers is there isn’t a great choice of tools. With Azure, Microsoft has integrated Visual Studio and other tools for development, continuous testing and deployment. Visual Studio 2017 Docker integration with ASP.Net Core lets developers design, build, and containerize applications and run on either Azure under Linux or Windows Server.

There is also integration with Azure to push Docker images to Azure Container Registry, so an app can be compiled and push live with a single command. Visual Studio 2017 also supports local debugging so there is no need to go to the browser for debugging in Azure. So, you only pay for time when code is running.

If you are looking to use Kubernetes, Azure Container Service (AKS) provides a very differentiated experience supported by first-party services such as Azure Container Instance (ACI), Azure Service Broker, and open source projects like Virtual Kubelet, Helm, Draft, Brigade, and Kashti.

Microsoft’s serverless platform goes a step beyond containers into continuous delivery of small, single-purpose applications that a small developer team can manage. Azure Logic Apps help build, schedule, and automate processes as workflows so you can integrate apps, data, systems, and services across an enterprise.

Because Logic Apps are designed to handle various forms of data integration, Microsoft offers more than 150 out-of-the-box connectors, including for Salesforce, Office 365, Twitter, Dropbox, and Google services.

For business-critical microservices, Azure Service Fabric was designed to simplify microservice management, provide scale and load balancing, and connect to core Azure infrastructure and services like Azure Cosmos DB, Azure SQL Database, Azure Event Hubs, and more. It is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers.

Azure services for scaling apps on demand

Cloud bursting is where you use the public cloud, Azure in this case, to add capacity to maxed-out on-premises apps. It can be used to increase the capacity of your apps or to provide extra tasks, such as testing a new build of an app before deploying it and not disrupting the current operation.

Azure’s services for that fall into two categories: cloud services and traffic management. Cloud services include the head node to act as the primary location where services are executed, along with virtual machines, the virtual network, VPN services, and blob storage.

Microsoft’s Traffic Manager provides load balancing between on-premises systems and Azure. It provides four methods of load balancing and traffic routing: failover, performance, geography, and weighted round-robin. It can be used for burst, migration, or failover from on-premises to the cloud.

Microsoft’s Premium V2 tier provides both scale-up (more CPUs, more memory) and scale-out (more virtual machines) on demand to meet capacity. But it is only available for Windows instances; no Linux support is yet available.

Azure services for devops

Azure makes it simple to implement end-to-end devops, as well as integrate you existing tool chains. You can benefit from Azure devops services such as Visual Studio Team Services (VSTS) and Visual Studio App Center, or use your existing tools of choice.

Visual Studio Team Services (VSTS) is Microsoft's cloud-hosted devops service that lets individuals or teams share code, track work, and build and release software for any app and any platform. The service is fully managed by Microsoft and provided to customers as a SaaS offering. Microsoft adds new features to VSTS every three weeks.

For existing on-premises Team Foundation Server (TFS) customers that want to take advantage of VSTS, Microsoft offers a fully managed and supported TFS to VSTS Migration service to move them over.

App Center brings together multiple services, commonly used by mobile developers, into a single, integrated product. You can build, test, distribute, and monitor your mobile apps, and also implement push notifications.

For customers using end-to-end platforms like Red Hat OpenShift or Pivotal Cloud Foundry can find test-drive resources in the Azure Marketplace, as well as find full reference architectures.

One of the most common use cases for customers dipping their toes in the cloud is to experiment with dev/test workloads. Azure offers a service called DevTest Labs that lets you set policies on usage, govern costs, and have granular controls on resources.

Azure services for the internet of things

Microsoft is making a considerable effort with Microsoft Azure IoT. Its Microsoft Azure IoT Central is a fully managed, end-to-end IoT SaaS service for enabling IoT scenarios without requiring cloud expertise.

Like its app store templates, there are the Azure IoT solution accelerators to create fully customizable applications from templates for common IoT scenarios, such as remote monitoring, predictive maintenance, and connected factories.

For central management and coordination of IoT apps, Microsoft has the Azure IoT Hub, and to manage edge devices, where an increasing amount of processing is being done, Azure IoT Edge offers a fully managed service that delivers cloud intelligence locally. Microsoft also offers Azure Sphere for securely managing internet-connected microcontroller (MCU) devices.

Azure services for analytics

Microsoft has jumped on the analytics train in a big way, offering big data analytics with Hortonworks and Cloudera, as well as a broad array of open source projects, through its HDInsight program. This includes Hadoop, Spark for in-memory analytics, R Server, HBase, and Apache Storm clusters.

Hadoop tends to be run as a batch process, while Spark is more real-time because it runs in-memory. For further real-time analytics, Microsoft offers Azure Stream Analytics. And if you want to accumulate massive amounts of data but don’t want to store it locally, Microsoft offers a data lake from which you can store and draw data.

Last year, Microsoft introduced Azure Databricks, a service designed to set up analytics jobs on top of Apache Spark. The service promises to streamline workflows on Spark analytics, and it has native integration with a variety of Azure data sources, including Azure SQL Data Warehouse, Azure Storage, Azure Cosmos DB, Azure Active Directory, and Power BI.

One of the main sources for big data is logs, and Microsoft does some considerable logging support. There are Azure diagnostic infrastructure logs, Windows IIS logs, crash dumps, and custom error logs, as well as ability to set Azure alerts to inform you about defined error events.

Azure services for site replication and disaster recovery

Azure Stack is an extension of Azure, letting you run a consistent copy of a subset of Azure services in your on-premises datacenter, which is unique among cloud providers. Microsoft sells it through partners like HP Enterprise, Dell EMC, and Lenovo.

Microsoft also sees Azure Stack as an edge environment where Azure Stack connects to Azure for data processing. Because the APIs are the same, apps can be written once and deployed to both Azure and Azure Stack; the same management, devops, and automation tools apply as well, such as Visual Studio, PowerShell, and various open-source devops tools.

The application model is based on Azure Resource Manager, so developers can take the same declarative approach to applications for both platforms. Developers can use existing Azure Resource Manager templates to build Azure apps that can run on-premises on Azure Stack.

Microsoft’s Azure Site Recovery serves two purposes: migrating Windows Server and Linux apps and VMs to Azure. It also lets you use Azure as a backup should your on-premises facilities go down. You can replicate on-premises apps with Site Recovery and only pay when you use it. It can also serve as disaster recovery for your Azure-hosted apps by using another region as the backup.

Copyright © 2018 IDG Communications, Inc.