While AWS has ruled the cloud computing market since 2006, Microsoft is increasingly gaining traction with its Azure offering. Azure's key differentiator is not the number of services it offers, it's the extension concept that makes the difference.
Extensions make it easy to add value to your deployments — whether they feature Infrastructure-as-a-Service (i.e., virtual machines) or Platform-as-a-Service (i.e., website-only deployments).
Secret #1: Azure Site Extensions
Azure Site Extensions allows you to add functionality with a single mouse-click. For example, if you're running PHP websites and MySQL it's almost certain that you'll need to install phpMyAdmin. With Site Extensions, such an installation on Azure is easier than ever before.
Extensions for Azure Web Apps are especially powerful as they build upon readily deployed artifacts. Deploy your website just as you've done in the past — extensions can take care of the rest!
Curious? Take a minute to browse through the available Azure site extension packages. You may be surprised by what you find.
Secret #2: Extensions for Azure VMs and VM Scale Sets
VMs aren't the big game-changer they once were. While VMs have been widely adopted, scaling them remains a big challenge because certain components (for example, virtual networks and disks) must still be duplicated alongside the VMs themselves. Scale sets make things much easier by managing these components for you. Best of all, applied extensions are immediately available on all VMs within the scale set.
Among my favorite VM Extensions is the Custom Script extension, which allows you to run any shell script on your Windows and Linux VMs (and Scale Sets). The Custom Script extension makes it simple to create Azure Resource Manager templates, which take your favorite base OS image and run your scripts on it.
By the way, you can easily export your existing Azure resources as template files. This means resources that you created on the Azure portal can be easily re-built by using scripts and those template files.
Secret #3: You Can Run Multiple Web Apps on a Single Host
Usually, PaaS deployments are perceived as single, independent entities.
If you assign multiple web apps to the same cloud service plan, they will all be hosted on the same virtual host. This means, you can share your resources between multiple web apps.
This is a great way of consolidating your PaaS resources among multiple deployed web apps.
Secret #4: Complete Azure Performance Management
A common misconception of cloud environments — be they IaaS or PaaS — is that they lack the visibility required for careful analysis and troubleshooting. This is, however, just a matter of using the right tool for the job.
The right tool for this job is Dynatrace Ruxit. Ruxit is a complete Azure performance management suite wrapped up in a single tool. It provides best-in-class visualization for service flows, call backtraces, and environment topologies (not to mention all the basics like host, network, and process metrics that make Ruxit the most effective solution available).
Azure's extension concept makes Ruxit installation as simple as a few mouse clicks — for both VMs and websites. All technologies, processes, and hosts in your application are auto-detected. You'll have Ruxit fully integrated into your Azure IaaS or PaaS in under five minutes.
Regardless of whether you're running a virtual machine on Azure or taking full advantage of a PaaS deployment, Ruxit provides insights that you can't afford to miss.
Understand the Root Causes of Problems
Problem notifications only point out the existence problems. What's far more valuable is insights into the root causes of problems, not just their symptoms.
Learning about a problem's symptoms is often not very informative. To find the root cause of a problem, you need a service-level backtrace that shows the sequence of service calls and user actions that preceded the problem.
The service backtrace above shows you the entire sequence of incoming requests, all the way back to the user action in the browser that initiated the sequence (not just the first point of contact on the server-side).
This is a revolutionary new level of insight into the services that power your application. Ruxit shows the entire request/response cycle, from the frontend to the database — all in a single integrated view.
What about Azure Application Insights?
Application Insights is an awesome tool that can vastly enhance your productivity. With its tight integration with Visual Studio, Application Insights is the number one choice of developers. Its strength lies in optimizing your development process and enabling easy troubleshooting of individual components.
Dynatrace Ruxit provides the logical extension of Application Insights. Once your application moves into production, it's not so much about isolated components and services as it is about the interaction and communication between those components and services. This is exactly where Ruxit functionality shines brightest.
Ruxit and Azure Application Insights are not alternatives to one another — they are complementary tools that together cover all your performance monitoring needs, all the way from development to production.
Best-in-Class Azure Performance Management
To successfully operate an Azure environment, you need full insight into what's going on behind the scenes — just as if that environment were running on your own physical infrastructure.
Dynatrace Ruxit provides all this, including monitoring of Azure Compute, Storage, Container Service, Virtual Networks, and Web Apps.
Secret #5 (of 4) AKA "One Last Thing"
Best of all, Azure isn't limited to its own offerings. It handles public-cloud and hybrid-cloud scenarios with equal ease. And it's the same with Dynatrace Ruxit. Go ahead. Combine offerings from AWS, Azure, OpenStack, OpenShift, and whatever else comes to mind — Azure acts great as a dynamic ground layer, and Dynatrace Ruxit has you covered.