Azure - Theses are a few of our favourite things
An Introduction to its Best Features (We Think!)
Author: Thomas Cunningham | Software Consultant | Formus Professional Software
Microsoft’s Azure platform is one of the most popular cloud computing platforms available. It’s full of useful products and technologies that can accelerate all sorts of development tasks and easily allows us to the power of serverless computing! However, navigating its catalogue of services can be a bit daunting, not helped by its opaque naming conventions (what’s a blob? Why do I want to store it!?).
To help with this we’ve written a short introduction to some of our favourite things that Azure offers, just to give you a flavour of what it can be used to achieve.
Functions apps are probably most people’s introduction to Azure. They’re one of the clearest examples of what serverless computing is essentially about. If you’ve got a piece of code that you’d like to just put in the cloud and not worry about, Function Apps are one of the best and easiest ways to do it.
Think of a script you would like to run, then think of what would trigger it; those are most of your design decisions made. Your only real limitations are the triggers you can choose from, and that on most plans Function Apps can only run for a maximum of ten minutes. Triggers include timers, interaction with other Azure services, and most importantly – HTTP Requests. This makes it effortless to call the Apps from almost anywhere that has network connectivity and means that basically any input parameters can be sent, making them immensely powerful and flexible.
If you’re familiar with Microsoft Flow, you already have a pretty good idea of what logic apps offer – A lot of the same, but with even more power! Flow is actually built off the back of Logic Apps, as a simpler and more abstracted alternative. So, if you need something conceptually similar, but with the ability to programmatically interface with other services, or perform more complex transformations of data, Logic Apps are a good way to go. Potential applications can include custom integrations with third party software or performing data migrations from one system to another.
Microsoft have become very generous with what they name an ‘App’ these days, but Web Apps are probably closer to the traditional definition that most of MS’s solutions.
Web Apps implemented in Azure are largely just what we understand Web Apps to be in the normal sense; it provides a platform for easily facilitating the development, deployment and hosting of them. If you have a more traditional application written within a modern framework or platform, with support for everything from .NET, to NodeJS, to Python, you should have an easy time of porting it to the Azure Web App service, allowing your customers to access your service from a browser!
Despite the myriad of options available in Azure (this is after all only a very short list!) sometimes you’re unable to find something that quite fits your criteria. Perhaps you need maximum flexibility, have an on-premise implementation that you need in the cloud, or just don’t care for the idea of worrying about hardware. If any of these sound like your situation then a Virtual Machine should be able to solve your problems.
In only a few minutes you can provision a machine in Azure that acts nearly indistinguishably from a traditional computer. Once configured (with a selection of hardware and operating system choices) you’re provided with a handy RDP file that lets you remotely access your shiny new Virtual Machine with ease.
Whilst the ability to create computers on a whim seems like a tempting proposition, it’s a costly one too. Depending on your configuration this can easily end up as one of the more expensive Azure products, so you’ll likely want to only use it as a last resort or have a desperate need for an exotic hardware setup (do you really need that 128-core vCPU?)
Whilst most of Azure’s offerings can be summed up as the clever packaging of different sorts of compute applications, almost as much of it is about different ways of storing and organising data.
Under the collective guise of ‘Storage Accounts’ Azure offers a few different flavours. One of the more popular being ‘Blob Storage’ (an acronym for ‘Binary Large OBject’), which allows for cheap and unstructured storage of large files of any type. If you’re looking to store almost anything in Azure with minimal amount of hassle, this is likely the right way to be doing it.