Amazon.co.uk Widgets

Log in

X
Case Study: An AWS EC2 project to bring some critical Enterprise Software for Windows Server into the cloud, effectively

Introduction

Many enterprises still rely on software built on core technologies that are 20 to 30 years old. These applications were never designed to operate in the cloud and often depend on legacy architectures that complicate migration. Documentation typically assumes on-premise installations, leaving significant gaps when transitioning to AWS.

Bringing such software into the cloud requires careful planning, deep technical expertise, and a willingness to work around limitations imposed by outdated design principles.

Windows Server software wasn't originally designed for the cloud

Windows Server licensing presents one of the first hurdles. Organisations must decide between bringing their own licences (BYOL) or using Amazon-supplied licensing. Each approach has cost implications and affects how instances are deployed.

The choice of Amazon Machine Image (AMI) also matters. Microsoft-supplied AMIs are optimised for AWS, but enterprises may require custom configurations. Selecting the right EC2 machine type is equally important, balancing performance, cost, and compatibility. Additionally, Ethernet throughput must be considered, as some older applications generate high network traffic and require robust and more costly networking configurations.

TL:DR – Migrating legacy Windows Server software to AWS EC2 is challenging but possible with careful planning, modern security measures, and technical expertise. Establishing clear budget constraints and cost controls early is crucial to prevent expenses from spiraling out of control.

Research into complex technical challenges

The particular software that the client required was never intended for virtualised CPU environments and places heavy demands on compute resources. Its high CPU load can make it inefficient on standard vCPUs, requiring careful instance selection.

Networking is another issue. Verbose communication over the network can result in performance bottlenecks and excessive data transfer costs. Firewalls often introduce compatibility challenges, requiring fine-tuned security group configurations. Storage is another major concern, as the software relies on obscure and often deprecated storage technologies.

Solutions for complex technical challenges

Choosing the right AMI is crucial. The selection process must account for compatibility, licensing, and long-term support. The EC2 machine type must be optimised to handle the application's CPU and storage requirements efficiently.

To optimise performance and cost, the platform architecture was redesigned compared to its traditional on-premise architecture. The number of instances was minimised by consolidating workloads where possible. Ethernet throughput analysis using Windows Event Manager helped identify and resolve performance bottlenecks.

Security was tightened using complex security group settings. The deployment segregated duties using user security groups and network security groups to limit exposure while ensuring compliance. Where possible, S3 was used instead of EC2 volumes to improve cost efficiency and simplify data management. Scripts were developed to facilitate data staging via S3, reducing the reliance on EC2 storage.

Storage optimisation was a key focus. Attention was paid to volume types, ensuring that high-performance disks were used only where necessary. Deployment methodologies were scripted to add rigour to the process. Ultimately, legacy knowledge played a significant role in overcoming these challenges – our experience with older technologies proved invaluable.

Region Restriction in AWS

Due to the nature of the data involved, AWS region restrictions had to be enforced. However, while EC2 can be effectively restricted, some AWS services, such as IAM, cannot be fully contained within a single region. This posed security and compliance challenges that had to be addressed.

Despite these limitations, the EC2 deployment was designed to be both restricted and resilient, ensuring that workloads remained available while meeting compliance requirements.

Lessons Learned

Ideally, no one would start a cloud project with such legacy software. However, reality dictates that enterprises must often work with what they have. Careful planning and execution can make even outdated software functional in the cloud.

Modern cloud services provide insulation against the security risks of open ports and unencrypted traffic. Technologies like Let's Encrypt can be integrated with IIS to improve security. Using modern browsers like Chrome instead of Internet Explorer further enhances usability and compatibility although it would have probably been a sacking offence to install a browser on Windows Server back in the day.

Conclusion

Migrating a complex platform based on legacy Windows Server software to AWS EC2 is not for the faint-hearted. Success requires technical expertise, a willingness to troubleshoot unexpected issues, and a deep understanding of both legacy and modern technologies.

Establishing clear budget constraints and performance expectations before starting is critical. Without proper cost controls, EC2 expenses can quickly spiral out of control. Implementing AWS budget management early ensures that costs remain predictable and within limits.

Licences, trademarks, source code licences and attributions

Licences, trademarks, source code licences and attributions

Multizone and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited licence granted by Open Source Matters, Inc. 928uk® is a trademark of Multizone Limited, registered in the UK. AdMob™, AdSense™, AdWords™, Android™, Chrome OS™, Chromebook™, Chrome™, DART™, Flutter™, Firebase™, Firestore™, Fuchsia™, Gmail™, Google Maps™, Google Pixel™, Google Play™, Pixelbook Go™, and Pixel™ and other trademarks listed at the Google Brand Resource center are trademarks of Google LLC and this site is not endorsed by or affiliated with Google in any way. Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc. The OSI logo trademark is the trademark of Open Source Initiative. Microsoft, CoPilot, Microsoft 365, Microsoft Teams, and Windows are trademarks of the Microsoft group of companies. ROKU, the ROKU Logo, STREAMING STICK, ROKU TV, ROKU POWERED, the ROKU POWERED Logo, ROKU READY, the ROKU READY Logo, the purple fabric tag design,and the purple d-pad design are trademarks and/or registered trademarks of Roku, Inc. in the UK, the United States and other countries. UNIX® and the X® logo are registered trademarks of The Open Group. Any other product or company names may be trademarks™ or registered® trademarks of their respective holders. Use of these trademarks in articles here does not apply affiliation or endorsement by any of them.

Where the source code is published here on ezone.co.uk or on our GitHub by Angus Fox, Multizone Limited it is licenced according to the open source practice for the project concerned.

BSD 3-Clause "New" or "Revised" Licence
Original source code for mobile apps are licenced using the same licence as the one used by "The Flutter Authors". This Licence, the BSD 3-Clause "New" or "Revised" Licence (bsd-3-clause) is a permissive licence with a clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
GNU General Public Licence v2.0 or later
Original source code for Joomla! published here on ezone.co.uk by Angus Fox, Multizone Limited is licenced using the same licence as the one used by Joomla!. This Licence, the GNU General Public Licence Version 2 or later (gpl-2.0) is the most widely used free software licence and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same licence.

You can use any code you find here, just respect the licences and dont use the name of this site or our company to promote derived products without written consent. I mean, why would you? You're not us!

Amazon Associate
As an Amazon Associate we earn from qualifying purchases.
Logo
Our Logo Image is by Freepik. We chose it because its an M and also the letter A twice - and that represents us.