Amazon EC2 gets static IPs.
developer.amazonwebservices.com
developer.amazonwebservices.com
The reliabilty concerns are overstated. As long as one accounts for the lack of persistent storage, there should not be a problem.
That said, things will run just fine, even with downtime, if you're not depending on the machine in any way, don't have any local storage, and are capable of switching over to other systems. However the lack of downtime might lull people into not worrying about that stuff.
I will be surprised if Amazon doesn't work out the reliability issues anyway, given the massive resources and smart people it has available to it.
I am asking these as exploratory questions... I don't really have a good grasp on what I am talking about. Please point me to resources.
BTW, do you know of any sample Python code that is used to act on incoming emails in the server?
host 10.1.1.1
You'll also want an SPF record for your zone:
DomainKeys are being checked by some webmail providers, but it's only a non-spammy characteristic at this point, not mandatory for delivery. As long as nothing else about your message is stupid (e.g. RFC compliant SMTP server, reasonable DNS records, and you aren't sending 100 per minute to addresses in the same domain), it'll go through.
I'd suggest using whatever Python library will allow you to send using a real SMTP server (or just pipe your email into the mail or sendmail command, which use the local smtpd to send, by default), like Postfix or Sendmail. There may be a standalone library that is actually RFC compliant and handles error conditions properly, but it seems unlikely from a historical standpoint (most such libraries, particularly in the PHP world, are renowned for epic failure). As long as Postfix or Sendmail are configured properly, your mail will be RFC-compliant and will look far less spammy than those coming from a half-assed implementation of the spec.
Can you please point me to some how-to about acting on incoming email using Python? I look far and wide but couldn't find much.
this is provided that your MX dns entry points to your machine and that you have the appropriate ports unlocked, of course.
The issue I brought up was that you couldn't guarantee colocation, so you might be making DB calls cross-country. If you're using a poorly optimized ORM (untweaked ActiveRecord, Hibernate, etc.), that is issuing tons of queries, the net lag between the app server and the DB could slow you to a crawl.
The availability zones seem like the could be an answer to that, but they're being marketed as an answer to disaster recovery and failover. It would definitely be nice to request your app server and DB server are close to each other.
This story was submitted to reddit at least two times: the original submission was downmodded to zero (or less), a resubmit eventually to 1. Here, it's at 51 points.
I suppose what I want to say is
127.0.0.1 reddit.com programming.reddit.com
Then I took another look on the aws pages, and, hooray: elastic ip's were introduced yesterday!
The static IPs make it possible to use AWS now. I can finally add voice chat functionality because of the power behind the large and extra large instances.