The the end of the day, the real reason I went with Lambda to build this is that when I started, I didn't know anything about spinning up a server, building a storage array, or serving an web request. But what I did know was how to write a Python script to extract weather data from a file. The really cool thing about some of these cloud tools is that they let me ignore all of those (very difficult) problems and just focus on the data
Exactly what the cloud is best used for imho. You can focus on your core problems and still shift to a different solution later on when that becomes more effective cost wise.
But still, when I first started in AWS we had lift and shift'ed most of our platform onto AWS and when it came to adding new features I first looked at Lambda instead of building out on the existing platform. The speed at which I could setup the feature and start measuring and iterating on it was so much better compared to doing it on our existing platform. Even though that was pretty ironed out and fully automated.
You clearly know way more about cloud implementations than I do, so I really appreciate the time you took to explain that out! Since I am the dev here though, the one things I can confirm is that you're 100% correct about the setup methodology- almost every decision was based on "how can I do this in a way that's cost effective". In particular, the underlying data was already on AWS, so it just made sense to build it there.
I think one thing that gets lost in discussion is the advantages of serverless approaches for people without a ton of technical background. I built 90% of this without knowing anything about servers or APIs, but the cloud tools (from whoever) let me ignore all of that and just write a bunch of Python scripts that do cool things. I know it ends up sounding a bit like an AWS ad (I wish I was sponsored by them, but am not), but there really are perks to the approach
It's a real issue, that's why I made my own! The beauty of an open source one is that if things start to go off the rails, someone else could also pick up and recreate the data source
This is a limitation of how the Developer Portal is set up, you have to be registered to view the APIs. Like the other poster said, if you're looking for general info, go to the docs section, since all the information is there
They (sort of) are! It gets into the nuance of the weather model side of things, which I don't know as much about, but the HRRR/ GFS models ingest data from APRS and incorporate that into their forecasts. This means that these observations are included (especially in the US), but are at about a 2 hour lag compared to direct readings
This is fascinating, thank you for sharing! What is even more amazing about Dark Sky is that they did this in 2011, when a lot of the tools I have access to now didn't exist. For Pirate Weather, I avoid working with radar data at all, instead using the 15-minute forecast that the HRRR model provides
As the dev who set up the Pirate Weather source, I couldn't agree more. 90% of the challenge here was getting the grib files into a format I could quickly and easily access, since the provided format is about as difficult as it gets. I don't pretend to know more about the actual art of forecasting than NOAA, but wanted a better way to get the data they produce out there
I'm the dev behind this, and really appreciate all the insight from actual cloud professionals! Your guess here is spot on, I designed it so that I could more or less fit in the free tier with exactly one user, with costs scaling pretty linearly afterwards. There are a few more optimizations I could do, but it's honestly pretty impressive how much traffic (I'm at about 10 million calls/ month) can be (somewhat) cheaply handled using AWS
This is like the 5th iteration of that darn diagram, and I still can't quite get it right. The other comments are correct, the underlying setup isn't that complicated, and it wouldn't be too tricky to build it for another cloud, since all that's really happening is a Python script reading a NetCDF file. The real perk to building everything using a server-less approach was that everything scaled down to 1 user (me), and then has scaled up beautifully as more people have signed up.
The monthly bill isn't great, but has been manageable through donations so far. I'm handling about 10 million API calls/ month, so lots of Lambda invocations, but they're all thankfully very short with tiny outbound data transfer totals, and luckily inbound is free. If the costs ever get out of hand is to throttle the request rate down, but there's still a few optimizations I can do on the AWS side that should help (ARM here I come!).