Weather Data in the Cloud
by Andrew MacKenzie, on Mar 11, 2016 2:16:03 PM
Computer troubles are a headache. For most people, a broken computer means a really, bad day and a rough time until it's fixed. For a weather company, it can lead to putting lives and property at risk. A server that's down can be the difference between getting out flash flood alerts, warning farmers of a coming freeze, pushing mobile notifications about a nearby tornado and no one hearing a thing. While we try to plan for downtime, this can be notoriously difficult - a computer can die for a number of reasons, and if you don't have a fix readily available, you're in trouble. This is where Amazon Web Services (AWS) comes in.
AWS is a cloud-resource provider. In other words, they provide access to on-demand computer resources, monitoring, data storage, and a myriad of other services. Of particular note is the capability to react quickly to changing needs. If a server goes down, don't worry! A new one will be back up and running in just a few minutes. Nervous about your data disappearing because a hard drive failed? Not a problem. We store the vast majority of our data in Amazon Simple Storage Service (S3) which is designed with 99.999999999% durability (it sounds impressive because it is). By migrating the bulk of our data processing, WDT is able to increase reliability as well as reduce downtime caused by unexpected events. As a side benefit, we are able to be more developmentally agile so we can try out new ideas faster, cheaper, and more frequently than before. This helps us stay on the cutting edge of the industry.
Here are a few examples of how we've used AWS to improve our workflow:
Data reliability and storage: AWS's S3 has simplified our data storage process and enabled us to ramp up the amount of what we store. WDT has already accumulated hundreds of terabytes of weather data and we're well on our way to a lot more. If you're curious about what we've got, just ask!
Innovation: At our current data center, compute resources are restricted – buying a new computer just to try out a new idea is a huge expense in both money and time. The question, “well, where are we going to put it,” is huge! However, the ability to turn on and off computer resources on-demand in AWS has allowed us to quickly try out new ideas with minimal risk, no matter how big. A developer can now test a new idea on a brand new computer and if it doesn’t work, the computer just goes away.
Web data ingest: Before AWS, the majority of our web-based weather data ingest programs were strewn about, sitting on computers that were focused on doing something else and had way more power than was necessary. With AWS, we've simplified things quite a bit. Each ingest process has its own tiny machine to monitor what needs to be done and can dynamically purchase "micro-computers" (AWS Lambda) to do the heavy lifting on an as-needed basis.