Let’s be reasonable, when questioned about a cloud platform, many would immediately mention either Amazon (AWS) or Microsoft Azure; some may also mention IBM SoftLayer, Google Cloud Platform or even Rackspace. All of them are Public Cloud providers with their own expertise and unique selling proposition. According to a Forbes recent article, AWS and Azure are leading the pack in public could space and Microsoft Azure is the most-used and the most likely to be purchased or renewed public cloud. The article has some interesting data points but, for the purpose of this blog, I’ll mention what’s in it for you as an IT on-premise hero especially if you're contemplating on migrating from your public cloud to Azure.
I am sure that at least one of the following situations in the below case study will resonate with you especially if you work in a mid-size organization and confused about your cloud preference.
Soft layer Architecture
One of our client's IBM SoftLayer architecture comprised of a single server architecture. It consisted of a PHP application and MySQL database installed on the same server. Database backups were configured with a script which used to run daily, and backups were stored on the same server.
Redis cache was installed and configured on the same server, which was used by the application. Staging and production environment were present on the same server. This arrangement caused several performance issues.
Our solution - Azure Architecture
We recommended migrating from SoftLayer to Microsoft Azure. We enhanced the architecture for Azure. Following comprised the solution stack:
In Azure, we separated the staging and production environment. Application and database were separated into an independent tier.
High-availability architecture in Azure increased the availability and reliability of the Virtual Machines (VMs) using a capability called availability sets.
This ensured that if a hardware or software failure within Azure happens, only a subset of VMs are impacted and the overall solution remains available and operational.
We deployed two instances of VMs with the load balancer.
The load balancer distributes incoming requests that arrive on the load balancer's frontend to backend pool instances – according to rules and health probes that we define.
For the application analysis, we suggested an Azure database – for MySQL (PaaS) service and for MySQL databases.
This helped us to understand the metric for database utilization and set respective alerts.
For the Azure database for MySQL, we got built-in high availability, dynamic scaling. This helped us to adjust according to customer demands.
Unique features and outcomes of Azure cloud
Azure provides up to 35 days of backup retention managed by Azure that benefited the client. Azure database for MySQL also comes with firewall security where we can restrict the access unlike in SoftLayer. Server hardening was also done from our end to make the application secure and safe.
We used an Azure Cache for Redis (PaaS) service for this application. Azure Cache for Redis provides built-in reliability with various tiers for high performance. It also has firewall security, which restricts access to the cache. We considered high security while making new architecture in Azure, which was not considered in SoftLayer architecture.
Azure storage account was also used to store files. We did code-base migration from SoftLayer to Azure and installed required dependencies. Database migration from SoftLayer to Azure was done with the help of a script which migrated entire data along with stored procedures and functions in Azure database for MySQL.
It was a success story for us and for the client as well. Thanks for reading and hope this blog is helpful in making a good choice for your cloud architecture.