Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

I signed up for AWS a few days ago because I want to write a little Internet-using server program for a spare-time project, and the free tiers of various Amazon services look like they will be more than enough for it (I don't really have much of a budget for this). I don't really know where to get started, though. I've been reading through some of Amazon's documentation and marketing "get started" videos, but I'm curious if there are third-party articles or documentation that explain things better for someone (like me) who isn't super familiar with all of this stuff.

What I want to do is query some data over the web and store it somewhere for me to download later. The most important queries would be two things, one is a single query run once and hour, and another would be up to a couple dozen queries that would be run once or twice a day. Neither of these are very high bandwidth or super complex, just a little parsing of the results to toss the data I don't need and store the rest.

There is another API I want to query that updates every minute, and while I don't know anything about cloud stuff, my intuition is to think that the tighter time constraint might produce more headaches. However, it's not critical at this point to hit this API every single minute, because I'm not sure if the data from it will be useful, and I'm pretty sure I can determine this usefulness just by having a few hours or days of data from it to combine with other sources, so I may end up not caring about it.

Right now I think what I need is an EC2 instance to load my program onto. Beyond that, I don't know what I'm doing. I need to figure out first of all how to set things up so that I get an instance and put my program onto it, of course. But I don't really understand how the lifecycle of my virtual server works, like if I need to watch for signals that my instance is going to be like, respawned or moved, or if these are even things that happen. I also don't know if I need to or should be making use of any other stuff, like the data store services. I'm going to keep reading, but any suggestions and resources are welcome!

Adbot
ADBOT LOVES YOU

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

xpander posted:

I hope this was informative and not terribly dense - I didn't want to go off the rails too badly for a high-level overview. Again, if you want more specific info regarding a certain topic, Just Post!

Thanks for the reply. I have a bachelor's degree in CS, though I'm not very experienced, as I've never had a job in the field. I did take classes on databases, so I know SQL. And I know Java best out of general-purpose languages, so Lambda might work. Your post wasn't too dense, I understand basically what you are talking about; probably one of the big problems for me is just that I'm not really familiar with server administration in general.

The Lambda service might work for me, but again I don't really know. When I was just trying to learn about EC2, I had the vague outline of an idea for a setup where basically a server is spawned that has my code on it already, or it automatically loads it somehow, and if the server gets destroyed or shut down or whatever, a trigger is in place to spawn it again when possible. Data storage would be taken care of by moving my output (XML from APIs and maybe some text files) to a storage thing that doesn't care if my server gets nuked. The code on the server would also maybe read some from the data store to determine a few things, such as when the last queries were made, or which queries I am interested in at the moment; this would allow me to not be hard-coding state into the code or the server image. Is this sounding like something that makes some sort of sense, in terms of ~~the cloud~~?

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

:worship:

Thanks for the replies, everybody! I think I understand much better how some of the different services and janitoring tools fit together. Now I just need to pick one of the strategies one of you has outlined and go for it... but I'm sure I'll be back with some more questions once I get underway :o:

One final thing I want to point out for now is that I'm already aware about how, depending on what design decisions I may ignorantly make, I could end up with something that can't just be copied and pasted to work on some other cloud service, VPS host, etc. My plan is to just write this small thing for now, and if I want to continue with it as a learning excercise, I might sign up for another different service and refactor the program to make it more platform-agnostic. This is just a fun and educational exercise for me, to increase my programming chops and maybe to have another thing to put on my resume when I start applying for software jobs. I'm already working on another project with the same idea of it being a resume-builder. Thanks again everyone!

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply