1A.2 Deconstructing AWIPS: Creating Microservices for a more Agile System

Monday, 13 January 2025: 8:45 AM
344 (New Orleans Ernest N. Morial Convention Center)
Andrew Just, NWS, Office of Central Processing, Kansas City, MO; and S. T. Jacobs, B. Martinez, and J. Wentz

The Advanced Weather and Information Processing System (AWIPS) contains a variety of services and decoders that help feed applications within the system. In the current AWIPS construct, these services and decoders are intertwined with each other, which increases the complexity when adding new functionality or upgrading dependencies. In essence, AWIPS is a monolithic architecture accessed through large services and program interfaces. However, monolithic architectures often face challenges such as making the system more rigid and harder to maintain as it grows in complexity. Over the next three to four years, AWIPS will transition from its on-premises system to a cloud-based infrastructure. A key objective during this transition is to dismantle the tightly coupled architecture, paving the way for a more agile system. This process involves migrating services and decoders to a microservices architecture, where each microservice performs a specific function and communicates through small, well-defined application programming interfaces (APIs). This approach offers several advantages, including easier maintenance, scalability, and ability to deploy updates and new features more quickly. In fact, the first phase of this process has already been completed, which focused on decoding weather and satellite information in a variety of formats; the resultant eight decoders were successfully implemented and tested, thus providing a proof of concept.

This presentation will cover the current progress in creating microservices, detailing the architectural changes made, the specific challenges encountered during implementation, and the lessons learned throughout the process. We'll explore how these microservices have been designed to handle specific tasks, the strategies used to ensure seamless communication between them via APIs, and the impact this transition has had on system performance and scalability. Additionally, we’ll discuss the tools and best practices adopted to manage and monitor these distributed services effectively.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner