Tipalti Modernizes Monolith on EKS Windows Containers
This post details how Tipalti migrated a legacy .NET Framework monolithic application from Amazon EC2 to Amazon EKS with Windows containers. The migration aimed to address challenges with manual scaling, deployment interruptions, and fragmented logging, resulting in a 50% performance improvement and 60% cost reduction. The solution leverages EKS, KEDA for autoscaling, and involves significant refactoring of logging and shutdown processes.
- →Modernizing a legacy monolith with Amazon EKS Windows containers
- →Automated scaling and enhanced observability
- →Graceful shutdown implementation in EKS Windows containers
- →Logging transformation for containerized applications
- →Event-driven auto-scaling with KEDA
Enhancements (5) ›
- Automated scaling and enhanced observability
The migration to EKS with Windows containers resulted in a 50% performance improvement and a 60% cost reduction for Tipalti through automated scaling and improved observability, offering a blueprint for other organizations running legacy .NET Framework applications.
- Graceful shutdown implementation in EKS Windows containers
Tipalti implemented graceful shutdown for their .NET Framework application on EKS Windows containers. Initially using Kubernetes lifecycle hooks due to SIGTERM propagation issues with containerd on Windows nodes, they later refactored the application for direct graceful termination logic once compatible AMIs were available.
- Logging transformation for containerized applications
To address fragmented logging in their monolithic EC2 deployment, Tipalti refactored their application to write logs directly to standard output for centralized collection in EKS, improving stability and simplifying troubleshooting.
- Event-driven auto-scaling with KEDA
Kubernetes Event-Driven Autoscaling (KEDA) was deployed to monitor RabbitMQ queue depths and automatically adjust pod replicas based on workload demand, enabling Tipalti to scale from baseline to peak capacity efficiently.
- Performance optimization for EKS Windows nodes
Tipalti optimized EKS Windows node startup and container image pull times by increasing Amazon EBS throughput and IOPS, and utilizing AWS-optimized AMIs with pre-cached base layers, reducing total scale-up time by 36%.
Notes (1) ›
- Modernizing a legacy monolith with Amazon EKS Windows containers
Tipalti, a global payables automation platform, modernized its core .NET Framework monolithic application by migrating from Amazon EC2 to Amazon EKS with Windows containers. This move addressed scaling, deployment, and logging challenges inherent in their legacy architecture.
https://aws.amazon.com/blogs/modernizing-with-aws/modernizing-a-legacy-monolith-with-amazon-eks-windows-containers/
Related releases
- Amazon EKS now supports advanced Kubernetes control plane configuration AWS What's New ·
- Amazon EKS 1.34+ enables forensic container checkpointing with Kubelet API AWS Containers Blog ·
- Amazon EKS introduces advanced Kubernetes control plane configuration AWS Containers Blog ·
- Amazon EKS Auto Mode automates node failure detection and repair AWS Containers Blog ·
- AWS Network Firewall adds forward proxy functionality AWS What's New ·
- AWS EMR on EKS Adds Apache Spark Troubleshooting Agent AWS Big Data Blog ·