07908 859 818

Menu

Azure is Microsoft’s Cloud computing platform. It features at time of writing 54 global data centres which is more than any competing cloud provider. In the UK there are 2 Azure datacentres, UK West and UK South which are the primary locations I use for server infrastructure. As there are 2 UK datacentres I can geo-replicate your environments between them so if your primary data centre, lets assume UK west experiences degradation it will automatically failover to UK South resulting in zero downtime for your customers.

Azure offers flexibility to scale on demand with a large choice of IaaS, PaaS and SaaS offerings from both Microsoft and open source vendors.

When working with clients that are interested in migrating to Azure I will give a breakdown on the estimated monthly costs and what services I recommend you invest in to gradually replace your onPrem hardware. I will provide an architectural diagram so you can visualize your cloud environment, resource types and scale. Once you’re happy Ill proceed to gradually move your infrastructure to Azure ensuring downtime is kept to near zero.

Azure allows you to offset the cost of maintaining physical servers. This allows you to focus more on software development while not having to worry about bottlenecks, scaling issues and the lifespan of your OnPrem hardware. This will prove invaluable as your business grows and customer demand for your applications increases.

Scale up when required

Scalability is one of the major benefits of cloud computing. Allow me to configure your Azure environment to auto scale to handle increased customer demand.

Migrate your OnPrem Servers to Azure PaaS

Move away from the hassle of VMs and instead to Azure's Platform as a Service (PaaS) offerings such as App Services and SQL Azure.

Pay as you Go

Only pay for what you use. Gone are the days of having to invest in expensive hardware to manage traffic spikes. With Azure it will scale automatically based on traffic and hardware utilization. Then once the spike is over it will scale back down to normal. You just pay the difference.

AzureDevOps and Deployment

Azure makes deployment from visual studio very simple, but by combing your infrastructure with AzureDevOps you can create very powerful deployment routines that are 100% automated.

I have been using Azure for the past 6 years. Back then I was working on a commercial website that was experiencing OnPrem network bottlenecks. This became an issue during busy times which for that business was out of hours, between 8pm and 10pm. An area of the website that was under heavy load was the product images. It wasn’t possible to move the whole environment to Azure so to alleviate network load I provisioned a Azure CDN (Content Delivery Network) and updated the existing image import app to copy the images to Azure and return the CDN URLs. This significantly helped with the network issues and reduced the slowdowns during peak times.

A few years ago I was working with a website that had severe performance issues. The environment was fully OnPrem hosted in their own datacentre. This in itself caused many issues with downtime due to power loss and other issues. The infrastructure was essentially overkill. 5 high spec Virtual Machines each one featuring multi core CPUs and 32GB of RAM, connected to a hardware load balancer. The website was very slow but when remoting into the VMs to check resource monitor, the memory was at less than 1GB and the CPU’s barely breaking a sweat at 5% utilization. This is a prime example of underutilized hardware resources. After a few weeks of investigation and a number of red herrings I discovered that the slowdown was related to a legacy PowerShell script that restarted the AppPool every 60 seconds. However, once the issue was solved I alerted the owners that the infrastructure was far too underutilized and we should move it to Azure. The website used an old CMS system that only supported classic AppPool in IIS. Furthermore it used .htaccess for URL rewrite. This was not supported by AppServices. It also had a legacy SQL Server feature dependency not supported in SQL Azure. Unfortunately, the website would not run using PaaS App Services and PaaS SQL Azure, so instead we used Virtual Machines, 2 web servers and 2 database servers geo-replicated between UK South and UK West. The cost of these was significantly less than running and maintaining the existing onPrem VMs. They were eventually decommissioned and reallocated into Hyper-V servers and their resources split for other business applications.

The vast majority of modern apps I have developed, most specifically WebAPI Services and MVC Web Apps are all hosting using Azure’s PaaS offering for web servers (App Services) and SQL (SQL Azure). This offers many advantages as there is no need to manage a virtual server instead just settings and configuration. With PaaS you don’t need to update the OS, manage the networking or .NET version, all that is handled by Microsoft. From experience, everything should be PaaS unless you have an app that has a legacy dependency that is not supported. In this scenario you will need a VM.

Recently I’ve been working on a large scale Sitecore 9.02 application that is independently scaled into 8 different Azure...
Recently I was working with a Sitecore Azure environment and the client wanted to test the new 9.02 version...
Azure’s PaaS (Platform as a service) offering for web servers. App Services allow me to focus on the application without having to worry about server admin or maintenance. With App Services we can scale both horizontally (multiple instances) or Vertically (more hardware resources).
SQL Azure is the PaaS offering for SQL Databases. With SQL Azure I don’t have to worry about the current version, backups, failovers or scaling. Instead all I need is SSMS to fully manage my SQL Azure Databases.
Redis is a distributed cache as a service, which means I can cache data across multiple applications and servers. I have had success using Redis to share cache search data among multiple Sitecore content delivered AppServices.
Content Delivery Network as a Service, I have used CDNs in Azure to ease the network load of servers, by moving data such as images and videos away from the network and have then globally distributed in Azures CDN.
If I have a legacy app or need to leverage OS configuration then an IaaS (Infrastructure as a Service) virtual machine will be necessary. Ideally VMs are a last resort as I always try and offload as much responsibility to Azure. But the Virtual Machine offering is very extensive, from shared resources to super computer levels of performance. If you need a Virtual Machine, Azure will have the right specification.
Setting up load balancing and routing OnPrem requires a skilled network engineer. But all this is handled for me with Azure traffic manager. I use Azure traffic manager to load balance apps and route users to the nearest geographical datacentre when I have a multiple environments hosting my applications.
AppInsights is a very powerful logging tool that provides real time telemetry and error exception tracking. I use AppInsights for all my applications regardless if its hosted in Azure. The UI for AppInsights is very impressive and offers so much more than traditional file and database logging systems. The number of features and information can be overwhelming.