April 21, 2020
Amazon EC2 for Windows Service Delivery
At Ordinary Experts, we have extensive experience migrating and operating Microsoft Windows workloads in AWS.
Historically, Windows workloads had a reputation for being more challenging to fully automate, due to the primarily GUI-based interfaces of early Windows installation workflows.
However, this has changed substantially, starting with the release of the .NET framework in 2000. With that release, Windows workloads started to become more easily automated and also became potentially cross-platform with the development of Linux-based .NET runtimes like the Mono Framework. Microsoft continued this approach with the release of Powershell in 2006. With the release of .NET Core in 2016, Microsoft has provided a runtime which works both on Windows and Linux, and also is well-suited for running in as a container.
Automating Windows Server on EC2
With Powershell, specifically Powershell Desired State Configuration (DSC), we can apply the same types of Infrastructure as Code techniques on Windows workloads that we use Chef or Ansible on Linux (we could also use Chef and Ansible on Windows directly - we have options!).
Namely, we can automate the installation of all aspects of our Windows workloads. We can use AMI pipelines to package needed binaries into an AMI, and then use Powershell DSC as part of the CloudFormation initialization process (cfn-init), triggered by the running of UserData during instance start-up. Also, we can use Powershell to automate joining Windows instances to Active Directory domains.
Migrating to .NET Core on Linux / Containers
In addition to migrating to Windows Server on EC2, we also have worked with clients to migrate on-premise Windows servers running .NET applications to Linux servers running .NET Core. With .NET Core, you have the flexibility to run on Windows, Linux, or in a container solution like ECS.
Migrating to PostgreSQL from Microsoft SQL Server
First, we use the Schema Conversion Tool to discover potential issues when switching data centers and database engines.
Then, we leverage DMS replication instances to sync and transform the data from the on-premise SQL Server databases to AWS Aurora PostgreSQL.
Resources from Around the Web
- Managing domain membership of dynamic fleet of EC2 instances
- Headless PowerShell DSC Script
- CloudFormation template with CI to deploy EC2 Windows instances that are added and removed from AD automatically
Contact us to discuss how we can leverage the power of AWS CloudFormation for your infrastructure!