Azure: Application Architecture and Consultancy
We’ve been working with Microsoft Azure since its inception. Through years of experience, we have become expert in architecting applications for and migrating them to this powerful cloud platform.
What is Azure?
Azure is Microsoft’s Cloud platform and is fast becoming the platform of choice for many organisations big and small, and currently supports 90% of the Fortune 500. Cloud platforms take away many of the headaches of traditional hardware provisioning and support. You no longer have to provision and pay to have the capacity to cope with the peak times all the time; you just pay for what you need when you need it. You no longer have to worry about constant maintenance and patching and worrying about latency for your next campaign or roll out in a new country; it is all taken care of for you.
How is Azure Structured?
Azure can be broken down into a number of services that live under two distinct categories; Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
The PaaS features include SQL Azure, Azure Data Lake, IoT Hub, App Services, Functions, Data Factory, Table Storage, HDInsights and Azure Machine Learning to name a few.
These are managed services that you can consume. You don’t need to know what they are really running on underneath. You just know that there is some hardware somewhere that your software is running on. Think of them as transient things that can be created, destroyed, scaled up and down both horizontally or vertically whenever you need to.
IaaS include Virtual Machines (VM), Networking, Content Delivery Networks (CDN), Virtual Private Networks (VPN), Traffic Managers, Load Balancers and everything inbetween. It is more akin to a traditional hosting environment but without having to get your hands on the hardware.
In most non-trivial applications there will be a combination of both PaaS and IaaS, sometimes with either Traffic Manager in front of App Services or a combination of Azure Functions, Virtual Machines, SQL Azure, Data Factories and Azure Machine Learning. The combinations are vast and it is possible to use what you need when you need it.
Architecting for Azure
Architecting solutions for Azure is different to the way that traditional applications are designed: there are different constraints but also some very different opportunities.
Traditional design almost encouraged consistency, everything was always on and working. Things were designed in a ‘good’ state; databases and storage were always there, connectivity was always there and everything in between was constantly there.
Architecting solutions for Azure is different, we have to be conscious of latency, be mindful of Database Transaction Units (DTU) and the constraints of how you can query table storage to start with. The application has to be designed to cope with failures gracefully and scale with the load.
Knowing which Azure component to use and when is crucial to the success of an Azure targeted application.
At Razor we have Microsoft Certified Professionals (MCP) with Developing Microsoft Azure Solutions certifications, who ensure that your solutions are architected appropriately and to help your business get the most out of the Azure platform.
You don’t have to start with fresh applications to take advantage of Azure, and we have helped a number of partners migrate existing applications over to Azure.
This process begins with a feasibility study to ensure that the application will be able to run smoothly in Azure. We know most of the gotchas in this process and know what to look for to ensure the transition is successful.
Once the application or applications are successfully moved, elements can be sliced off and re-engineered to take advantage of the Azure platform. For example we might replace a traditional database search with Azure Search, removing the load from the database and enhancing the search capability.
If it isn’t feasible to fully migrate an application it is still possible to take advantage of Azure. In some cases we have hybrid configurations where we use Azure Data Factory to pump data out of the existing data sources into Azure where we use HDInsights to process the ‘big’ data. This enables us to provide insights that would have been difficult or in some cases impossible to extract with the existing platform.
If you are unsure if Azure is right for you, continue reading on our blog where we discuss whether or not you should move to the cloud.