Postmark, the popular email delivery service, recently completed a significant migration from colocated data centers to Amazon Web Services (AWS), marking an important milestone for the company. This ambitious project aimed to address the evolving needs of the product, improve scalability, and enhance the overall customer experience.

This article will delve into Postmark’s journey to AWS, the lessons learned along the way, and the tools employed to ensure a successful transition.
The Evolution of Postmark: From Startup Challenges to Architectural Reimagination
Founded in 2010, Postmark initially leveraged the best available tools and methodologies of its time. However, as the company grew, unforeseen responsibilities accumulated, necessitating a significant architectural rethinking.
The team identified several core goals, including the ability to scale horizontally, reduced dependence on traditional infrastructure, streamlined processes for scaling services, improved observability and monitoring, and increased confidence in shipping updates to customers.
Part I: The Journey Begins – Trade-offs, Cloud Adoption, and Incremental Progress
Postmark recognized that as a small team, they needed to minimize the complexities associated with physical infrastructure and leverage the power of the cloud. While the decision to migrate to a public cloud provider entails increased costs, it offered the flexibility to respond to customer growth and reduce coordination overhead. The team’s gradual adoption of AWS resulted in improved scalability and the ability to select the right tools for specific workloads.
Taking a measured approach, Postmark embarked on the migration process in incremental steps. By carefully reviewing and refactoring each service, they gained better visibility, predicted costs more accurately, reduced service issues and alerts, and incrementally grew their understanding of AWS services. This meticulous approach, while time-consuming, proved more predictable and less chaotic than a “lift-and-shift” strategy, ultimately leading to a seamless transition.
Part II: Getting a Grip – Observability, Monitoring, and Automation
Postmark prioritized two critical goals throughout the migration: improving observability, reducing over-alerting to the team, and increasing confidence when shipping customer updates. The team adopted powerful tools such as Grafana, Prometheus, Ansible, and Terraform to achieve these objectives.
By leveraging Grafana and Prometheus, Postmark gained valuable insights into system health and performance, enabling them to make data-driven decisions and detect anomalies easily. This high-level view of system metrics greatly reduced the complexity associated with monitoring multiple systems.
Additionally, the adoption of Ansible and Terraform allowed the team to automate resource provisioning and configuration management, ensuring the repeatability and safety of their infrastructure.
Democratizing access to these tools empowered the entire team to contribute to improvements, reduced human error, and facilitated shared knowledge within the organization.
Part III: The Journey’s End – Chopping the Gordian Knot and Finalizing the Migration
The most daunting task in the migration was moving Postmark’s primary database to AWS. The team meticulously split datasets and responsibilities, optimizing their monolithic MySQL database and enhancing service region awareness. Logically isolating datasets and spreading database traffic reduced the overall risk associated with the final cutover.
In February 2020, Postmark launched “PAWS” (Postmark on AWS), the final phase of the migration. After months of preparation, which included gradually shifting customer traffic to AWS and thoroughly testing the system, the team executed the cutover. With precise coordination and minimal disruption, they successfully completed the migration within the planned timeframe, solidifying their presence on AWS.
Part IV: The Path to Reliability and Growth
While Postmark acknowledges that there are still areas for improvement, their migration to AWS has already yielded significant benefits. The modernization of core services has enhanced scalability, reliability, and availability. By dynamically scaling services and data stores, Postmark can provide customers with more consistent and predictable performance.
Postmark’s journey exemplifies the power of incremental progress, patience, and fortitude in improving software. Their meticulous approach reduced stress for the team, delivered a remarkably reliable product, and positioned the company for sustained growth. As they continue to evolve and enhance their software, Postmark remains committed to prioritizing customer experience and building on their achievements.
Disclaimer: This article summarizes the original content written by Andrew Theken. The views and opinions expressed in the article belong solely to the author and do not reflect Hosting Radar’s official policy or position.








