Overview of our Journey to the Cloud
On 11 May 2020, the Ballard Chalmers office went cloud-only. In other words, we no longer have any servers in the office, every server we use is now in the cloud.
All that remains in the office are the laptops, mobile devices of the staff, some computer monitors to plug laptops into, and the firewall and routers for the internet connection.
All of our software development and test servers and services are all based in the Microsoft Azure cloud.
Where possible we use a cloud service, such as Dynamics CRM or SharePoint Online, where this is not possible, we create a Virtual Machine (VM) in the cloud.
Our accounts, payroll systems and our website are all hosted on cloud services.
We don’t even have a phone system anymore – all our calls are managed through an Office 365 Voice Over IP (VOIP) system.
The Drivers – Why migrate to the Cloud?
Security was one driver behind the move to the cloud. Our office has security on the outside and inside doors and the server room, and we have an alarm system.
However, when we went through our ISO/IEC 27001:2013 certification, it became clear that there was still the possibility that someone could break in and steal a server, with possible data leaks as a result. To mitigate that, we made sure that all the hard drives of all the servers and laptops were encrypted using BitLocker.
Not having any servers at all in the office reduces the risk further.
Flexibility & Scalability
Not having physical servers is a lot more flexible. No need to keep them cool or secure. No need to provide uninterruptable power supplies. No need to provide a server room for them. In fact, we no longer have a server room at the office at all.
If we wanted to move office tomorrow, all we would need in the new office is a good internet connection and power. Other than a small rack containing the router, firewalls and switches, there is nothing physical.
Remote working becomes even easier. No need to go to the office to do anything because you can connect to our cloud services when you are working from home, a client’s site or anywhere else.
Our staff can answer the office phone when they are working from home just as easily as they can when working from their desk in the office.
If we need to increase the size of the development team then we create additional resources for them in the cloud. All they need is a laptop to access them and they are pretty much up and running straight away, working in the office or remotely.
Meetings are more efficient, and we do not need as many meeting rooms. Instead, we use a combination of Microsoft Teams, Skype for Business and Zoom for all meetings. It saves travel time coming to the office just for a meeting.
Cloud services are managed by the service provider and so there is no need to patch or backup. There is still sometimes a need to monitor and manage them, but it is a lot less work than with a server.
We still use VMs in the cloud for development and testing, and so we do need to patch these, but with automated Windows Updates, this is still not that much work.
Overall the amount of systems administration work is greatly reduced with a move to the cloud.
Business Continuity and Disaster Recovery
Our business continuity plan has been based on the cloud for a few years now. In the event there is an issue at the office with the internet connection, power, heating or travel disruption, all the developers could just work from home instead. This has proved to be very handy in the current Covid-19 Pandemic.
Backup and Recovery is made easier with Cloud Services such as Dynamics CRM as these are all managed by the service provider which is Microsoft in this case.
Other critical data used to be backed up to the main servers in the office and then backed up weekly on to USB drives that were taken off-site for storage in case of fire or something like that. Now all the critical data backups are taken from our primary cloud data centre to storage in a separate data centre in a different country. Backups do not come to the office at all.
The Journey to the Cloud
When Ballard Chalmers started circa 15 years ago, we had a lot of equipment in the office including:
• 2 Windows Domain Controllers: To manage the AD (Active Directory), DNS (Domain Name System) and DHCP (Dynamic Host Configuration Protocol)
• An Exchange email server
• A SharePoint server for all our documents and Intranet
• Development Servers for each of our client’s systems. These were running on VMs
• Test Servers for each of our client’s systems. These were running on VMs
• A Server for running our service desk and timesheet systems and our performance metrics system
• A desktop PC for our accounts system and payroll system
We are not Exchange experts and so it was always a concern when we had to patch or upgrade the Exchange server. We were even more worried if something were to go wrong with it.
So, when Exchange online became available, which is many years ago now, we went for it and migrated all our mailboxes and decommissioned the Exchange server.
It was the best thing we ever did with regard to our email, and the start of a journey to the cloud.
We are SharePoint experts, but still, even for us, SharePoint is not always straightforward to manage. It needs a lot of hardware to run effectively and keeping it backed up, patched and upgraded is a lot of work.
So, when SharePoint online came along, also quite a few years ago, we migrated our content to it and decommissioned the servers in the office.
Development and Test Servers
We had a lot of Development and Test servers in the office all on Hyper-V VMs running on a huge physical server with lots of RAM and Disks. This all worked fine, but as we started more projects we started to run out of capacity on the physical servers.
So rather than buy a new physical server we started to create new development and test VMs in the Azure cloud.
This worked well and was actually much easier to manage in the cloud than it was on-premises. So, we started to move the existing VMs to the cloud as well. This was a simple process because Hyper-V VMs can be just be copied to Azure, but as they are quite large it took a while. Over a period of a few months, we gradually moved all the development and test VMs to Azure.
Service Desk and Dynamics CRM
We moved the service desk system to a VM in the cloud and Dynamics CRM to the cloud version — Dynamics 365.
We also have a system for managing Key Performance Metrics and so we moved that to an Azure VM as well.
We had a backup server running as a VM in the office. All critical data was copied to this VM, and then USB drives were used to make copies of the backups and these were taken off-site.
We created a new backup VM and Azure file storage in a different data centre (in a different country) in Azure. We reworked the backups to go to the new cloud backup server and decommissioned the old on-premises VM and off-site USB drives.
At this point, the only servers running in the office were the 2 Domain Controllers (DCs) that managed the office AD that kept track of each user’s login credentials. These servers also ran the DNS services keeping track of Ballard Chalmers and third-party domain names, and DHCP services that managed the IP addresses of all devices in the office.
We purchased a hardware DHCP device and used that to replace the DHCP services on the servers.
The problem with moving the DC and DNS servers was that all the devices in the office need a direct connection with them. We already had a site-to-site Virtual Private Network (VPN) between the firewall in the office and the Azure Cloud but it was not 100% reliable, mainly because our CISCO PIX firewall was very old and no longer supported.
So, we commissioned a new CISCO ASA firewall and the site-to-site VPN became 100% reliable. We then created new DC and DNS servers in the cloud and synced them with the on-premise servers and with Azure AD in the cloud.
The final step on 11 May 2020 was to decommission the last 2 VMs in the office and the associated physical servers.
It has been a gradual journey over a few years, as cloud services became available, we gradually moved to them.
The final result is no servers in the office at all, we are fully in the cloud. Which of course has served us very well in the recent pandemic weeks!