I woke up this morning to an AWS alarm. The alarm was set to alert me if my costs are > $20.
My costs are $1,108.
It turns out that the alarm wasn't configured for surpassing $20 in a month, but $20 in 6 hours.
And I haven't even launched yet!
For the past few months, I've been breaking all the conventional wisdom of online entrepreneurship. I haven't validated my idea. I haven't cultivated an audience. I spent too much time on the UI and too much time on premature optimization.
(But not cost optimization!)
This morning has been discouraging, but mistakes do teach you a lot.
So let this screw-up help my fellow hackers avoid the same pitfall: the "period" for an AWS alarm is not how often it's checked, but the time frame in which you expect to stay below the costs you set.
Next steps: finding some audience members, setting up better alarms, and letting you fine people know what I'm building: https://timeytim.com
Oh, and recommending that you follow @8bit - John, your posts have been encouraging to me.
Ah that sucks! I didn't even have any alerts at all but I'm gonna set them up now thanks to you. Also if you haven't already you might be able to get $1k from AWS activate so your costs don't sting as much.
Second this! I thought my app was too small or boring, but they approved me for AWS Activate!
I wasn't even actively using AWS, just testing some serverless waters.
And the support credit was an added bonus. Signed up for the business support plan and sent in a pretty complex request yesterday, I'll see if there's any additional value to that in 24 hours. 😉
Awesome - good to know that option works
Ooh - I'll check that out. Thanks, Felix :)
Definitely sucks, and definitely a good idea to set up your own alarms. Perhaps the most annoying part is that it was logging that cost so much. Not even anything cool!
i just made that for you!
*high-five!
@marclar Going to tag along this thread to convey that someone really needs to build the ability to not just webhook on crom but also run srcipts. For me thats a winner. Let me upload a zip of my nodejs/python scripts and run it on a cron schedule. Boom ! Id pay you in a heartbeat :)
Interesting - I'm guessing you'd need support for environment variables for db strings and the like. What do you think? Would you be running workloads that don't need to access anything privileged? How do you see it working? I'd love to make it happen if I can.
So, you would have to give the user to upload env variables.
Scripts would install deps and over a loop of fetching + writing. ( don't the see the need for any privalaged access)
DM on twiiter and we should discuss this further.
This right here is exactly why I /still/ host with VPS providers and avoid AWS (et al). Any idea what attributed to the spike?
Also, what's the motivation behind TimeyTim? I pull off the same stuff with Gitlab runners + their scheduling options, so kinda curious what you'll be doing to set yourself apart.
This got out of hand - prepare for a novel :)
---
The main expense was CloudWatch; I believe it was a combination of 2 things:
As for motivation, I was really blown away when I first learned about serverless technology. This was probably 2015, when Serverless Framework was called JAWS.
I loved the idea that these tiny bits of logic could sit idly somewhere and only wake up when needed. That, plus this talk really made me think differently about how you could build a service - I hadn't looked into event-driven architecture before, but thought it was sooo coool.
I built something small -- iz u ded? -- as a utility, but also as an experiment to see how to make something lightweight and low-cost (again, ironic). It's just Lambda, jQuery, and Postgres. At the time, I couldn't figure out a good way to build it with DynamoDB, but wanted something that - when not in use - cost as close to $0.00 as possible.
After building that, I loved that it just worked. It ran like clockwork, was super cheap, and I saw evidence it was still chugging along every day when I got a text asking, "u ded?".
I was still curious about DynamoDB, and thought there had to be a way to use it as a very cheap backend for a continually running service. Something that I wouldn't have to touch, but would keep going, and going, and going...
I guess I'm interested in that - time, and clocks, and persistence. Not sure why, exactly.
So part of the motivation was to build something with technologies I was curious about.
Not-so-smartly, I committed the cardinal sin of not validating anything first. I've had difficulties building asynchronous processes before, though, and I figured TimeyTim could be a tiny but useful bit of infrastructure for people.
You mention using Gitlab runners, and that sounds like a great solution. That said, you're probably more capable than someone just getting started. While CRON syntax is nowhere near the complexity of regular expressions, I'd put both in the same bucket of "Crap. How do I do that again?" I wanted to offer something really simple for beginners. To that end, I spent a good chunk of time on a UI that lets you use CRON if you like, but also has a simpler interface for entering jobs, e.g.
(I also wanted that scheduling UI to be available whether or not you have an account, so hopefully people will feel free to use it when they just need a CRON string.)
Beyond the UI, though, I think the API is where it's at - being able to create Tasks, Monitors and Watchdogs programmatically. I have some projects in mind that will make use of the API, and some ideas about where the project could go in the direction of easy-to-use monitoring.
Thanks for asking, and sorry for the wall of text ;)
glad to see i'm not the only one willing to drop a novella into the comment box!!
definitely correct about the gitlab runners. their scheduling UI is easy enough, but i have to imagine the YML configuration stuff would be over most folks heads.
good thinking in terms of the engineering as marketing wrt becoming a resource for cron... effectively what these folks are doing -- https://crontab.guru/
if you ever wanted to take it a step further and allow folks to not run a job on a holiday, you let me know ;) (not even trying to sell, just a legitimate use case where you want stuff to run on the regular but now when you're trying to enjoy a holiday and then shit hits the fan ;)
Oh, interesting. Hadn't thought of that. See, scheduling is a pain in the ass!
And crontab.guru is exactly right - I never liked the way that page looks, but I can't deny it's been useful in figuring out CRON syntax. Been there many times :)
Me too. I'm using digital ocean for hosting. But looking into AWS as a possible option for video render jobs because that isn't very scalable on a traditional VPS. Also looked into GCP but couldn't find anything that met my ridiculous requirements.
Contact them and explain, see what they say, I've heard stories
Oh, for sure - already underway :)
So far, it sounds like they're asking me to turn off ALL of my services before they investigate. I asked for confirmation, 'cause that sounds a bit crazy, but we'll see. Thanks, @ht96
damn, that's terrible. AWS is definitely FML (but in different context for me). good luck ahead.
Indeed - what's the different context you mention?
well the usual BS that I didn't want to bore you with, esp with IAM permissions: 1. You could set it correctly, it fails seemingly because you don't have that permission until you realise that the permissions were still propagating!, 2. meaningless error messages, s3 "access denied" without you having an idea what permission you're missing, 3. even once I saw it say that I am missing a certain permission issue which I am CERTAIN of having, only to figure out later that it was a different permission that was missing!
Seriously. The more I work with AWS, the more confusing it becomes. I think that the only approach is to have everything scripted / in a CI pipeline. I run into problems most often when I make a manual change somewhere.
I am on google cloud and this is my biggest nightmare.. I literally check daily what my spending is, after every release I get scared to look at the payment info
I guess I should be glad it's only $1K... what do you think of GCP? Do you have any sense of it being more or less transparent than AWS?
Meh, the UX is a little better but I red horror stories about GCP as well :(
btw. i immediately understand what you're building... and i imagine that you're selling to technical folks, right?
Haha - thanks. You're quick! I just emailed you, actually.
Yes, technical folks are the idea - dealing with scheduling and CRON and monitoring can be a bit of a hassle, so I wanted to make an API around it. For example, say you want to restart a server but know if it's not back online after 5 minutes.
Beyond that, I wanted to get into some of the more onerous monitoring tasks, like A11y, visual diffs, email delivery...
sweet! glad we could connect!
This comment was deleted 12 days ago.
Oh, very nice - thanks for pointing that out, @adamfallon