Best practices for running Windows workloads on AWS - AWS Summit Stockholm (May 2019)
1. Best practices for
running Windows
workloads on AWS
T. Alexander Lystad
Chief Cloud Architect
Visma Enterprise PD
alexanderlystad
2. ● >9k employees
● We make cloud software that
automates and simplifies business
and administrative processes
○ HRM
○ ERP
○ CRM
○ Invoicing
○ Education
○ Health
○ +++
8. Migration strategy
Pure Forklift Forklift Plus Optimize Later
Export VM images to AWS
Build AMIs for immutable,
autoscaling, autohealing
infrastructure
Migrate to containers or serverless
Manage own database servers Use Amazon RDS Migrate database tech
Manage own load balancing
solutions
Use Amazon Elastic Load Balancing Add caching solutions
Make manual changes to the
infrastructure
Use Amazon CloudFormation or
Terraform for IaC
9. Migration strategy
Pure Forklift Forklift Plus Optimize Later
Export VM images to AWS
Build AMIs for immutable,
autoscaling, autohealing
infrastructure
Migrate to containers or serverless
Manage own database servers Use Amazon RDS Migrate database tech
Manage own load balancing
solutions
Use Amazon Elastic Load Balancing Add caching solutions
Make manual changes to the
infrastructure
Use Amazon CloudFormation or
Terraform for IaC
10. Migration strategy
Pure Forklift Forklift Plus Optimize Later
Export VM images to AWS
Build AMIs for immutable,
autoscaling, autohealing
infrastructure
Migrate to containers or serverless
Manage own database servers Use Amazon RDS Migrate database tech
Manage own load balancing
solutions
Use Amazon Elastic Load Balancing Add caching solutions
Make manual changes to the
infrastructure
Use Amazon CloudFormation or
Terraform for IaC
22. Nov 2017
● RDS MSSQL → RDS Aurora MySQL
○ Data migration via application data layer
23. Nov 2017
● RDS MSSQL → RDS Aurora MySQL
○ Data migration via application data layer
○ Easier because we avoided proprietary features
24. Nov 2017
● RDS MSSQL → RDS Aurora MySQL
○ Data migration via application data layer
○ Easier because we avoided proprietary features
○ Challenges and considerations
■ No GUIDs in MySQL
■ No transactions for schema changes in MySQL
■ MySQL strict mode
■ MySQL handled locking less well 😢
36. 1. Self-service
a. Less waiting
b. Better decisions
2. Better architecture
a. Reliability
b. Scalability, performance
c. Security
Comparing apples and oranges
37. 1. Self-service
a. Less waiting
b. Better decisions
2. Better architecture
a. Reliability
b. Scalability, performance
c. Security
3. More services, e.g.
a. Infrastructure as code
b. Monitoring
Comparing apples and oranges
38. Future
● .NET → .NET Core
● Windows → Linux
● Amazon DynamoDB and AWS Lambda
● Complete transition to microservices architecture
39. Best Practices
● Migrate workloads early with a “forklift plus”
approach to speed up modernization efforts
○ DevOps
○ Continuous Delivery
○ Architecture
● Optimize away unnecessary license costs
○ MSSQL → *
○ Windows → Linux