aws Modernizing with AWS Blog ·

Tipalti Modernizes Monolith on EKS Windows Containers

bloginfraawsengineerfinanceaws-eks
announcement

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.

Read the original announcement →

https://aws.amazon.com/blogs/modernizing-with-aws/modernizing-a-legacy-monolith-with-amazon-eks-windows-containers/

Related releases