In your situation, I would go with Google. The Live web services are really new, and they will evolve over time, especially if they follow the same model as MS other mapping software.. free -> bundled -> unbundled/not free.
Between Microsoft and Google, who do you trust for backwards compatibility in a year or two?
Linux is a Kernel. So what if the Linux kernel is on a cell phone. Sure it makes a few points for the supremacy of Open source software, but it won't make any difference at all in the grand scheme of things.... Unless the phone vendor
Provides or assists with a functioning tool chain to build applications.
Provides a useful way to integrate applications into the phone's UI.
Commits to maintaining the platform for longer than the usual 1 year phone life cycle.
Any one of these things would be a lot to ask from a vendor trying to survive in a very fickle market.
Anyone who has followed the tale of Spybot S&D vs. Symantec should be tempted to say "tough luck" to Symantec.
Here is the story from http://www.safer-networking.org/en/news/2006-09-29 .html Summary: For over a year, Symantec has flagged the source anti-spyware package "Spybot Search and Destroy" as "Incompatible software" and urges users to uninstall it when installing Norton Ghost or Norton Internet security. Symantec has refused to work with the author of Spybot or identify the "incompatibility". Both Spybot S&D and Symantec are members of the Anti-Spyware coalition.
Cryonicists want this same sort of device to minimize warm ischemia time, and there isn't anything off-the-shelf that does it.
The "I've fallen and can't get up" pendants are a good start.
-ejay
My mail implementation is quite a bit smaller, by a factor of 1000 to be specific, and I accept that there are limitations to what I'm about to suggest. With that disclaimed, here is where I would start.
I agree with splitting up the tasks, and I see more than three roles.
Receivers - responsible for receiving, spam/virus filtering, and writing messages to the user stores.
Storage Servers - responsible for holding the users mail. NFS has been chastised in this thread, but It probably is the right tool for the job.
User Servers - Database servers that hold the master user information for the email system. Username, Password, Quota, NFS Path to mail.
Retrieval servers - These provide the end-user interface to the users. Including Pop/Imap/Webmail.
Delivery servers - These are the outbound mail servers, with a set of requirements that could be a thread unto itself. Anti-virus at a minimum, preferably with some sort of tracking/shutdown/rate-limit capabilities to prevent owned machines from being used for nefarious purposes.
To me, it starts with the User server. I store my user data in MySql, and don't know if that specific database will scale to 1 million users. It's a simple indexed query, so it should be okay, with replicas. Simple task, store the username password email address(s) and path to the mail stores.
Receiver Servers. These pull a replica of the mysql database from the user server to a local instance of mysql for speed. They receive emails via postfix, and write them to the nfs storage.
Redundancy and scalability are available through round-robin dns.
Storage servers. Straightforward. The mail is stored as Maildirs, the NFS boxes need speed and reliability. The underlying filesystems need to optimize for large numbers of small files.
Scalability: Using a SAN and blade servers would allow for quick failover from one server to another if a specific server failed.
Retrieval servers. These provide the end-user interfaces. For my small implementation, I use courier-imap for pop and imap access, and it can already talk to mysql for the user and store information.
Scalability: round-robin dns and layer 4 load balancers should fit the bill.
A note on webmail: I'm torn between a webmail frontend that speaks IMAP, and abstracts from the mail server, or one that connects to mysql and the nfs path. Courier Webmail supports the latter, and any number of webmail packages support the former. This is left to experimentation of the reader. Personally, I don't trust a webserver with read/write access to the mail stores, and I use an Imap webmail package for abstraction.
Delivery Servers: This is a whole other thread. At a minimum, you'd want to virus scan outbound mail. Scalability is through round-robin dns and layer 4 load balancers.
Ejay Hire
EjayHire@hotmail.com
Ok, maybe it's a girl thing, but kids putting a blanket over the robot when his batteries run down is about the sweetest thing I have ever heard.
-e
(and she notes that she called it "his", inferring gender to the asexual robot.)
I am so ready for the brain implant. This fits pretty well with Wednesday's XKCD cartoon. http://xkcd.com/333/ -e.g
In your situation, I would go with Google. The Live web services are really new, and they will evolve over time, especially if they follow the same model as MS other mapping software.. free -> bundled -> unbundled/not free. Between Microsoft and Google, who do you trust for backwards compatibility in a year or two?
Any one of these things would be a lot to ask from a vendor trying to survive in a very fickle market.
We are a single piece of plankton in a very large ocean. It might take a while... -Ejay
Anyone who has followed the tale of Spybot S&D vs. Symantec should be tempted to say "tough luck" to Symantec.
Here is the story from http://www.safer-networking.org/en/news/2006-09-29 .html
Summary: For over a year, Symantec has flagged the source anti-spyware package "Spybot Search and Destroy" as "Incompatible software" and urges users to uninstall it when installing Norton Ghost or Norton Internet security. Symantec has refused to work with the author of Spybot or identify the "incompatibility". Both Spybot S&D and Symantec are members of the Anti-Spyware coalition.
-Ejay
Cryonicists want this same sort of device to minimize warm ischemia time, and there isn't anything off-the-shelf that does it. The "I've fallen and can't get up" pendants are a good start. -ejay
My mail implementation is quite a bit smaller, by a factor of 1000 to be specific, and I accept that there are limitations to what I'm about to suggest. With that disclaimed, here is where I would start. I agree with splitting up the tasks, and I see more than three roles. Receivers - responsible for receiving, spam/virus filtering, and writing messages to the user stores. Storage Servers - responsible for holding the users mail. NFS has been chastised in this thread, but It probably is the right tool for the job. User Servers - Database servers that hold the master user information for the email system. Username, Password, Quota, NFS Path to mail. Retrieval servers - These provide the end-user interface to the users. Including Pop/Imap/Webmail. Delivery servers - These are the outbound mail servers, with a set of requirements that could be a thread unto itself. Anti-virus at a minimum, preferably with some sort of tracking/shutdown/rate-limit capabilities to prevent owned machines from being used for nefarious purposes. To me, it starts with the User server. I store my user data in MySql, and don't know if that specific database will scale to 1 million users. It's a simple indexed query, so it should be okay, with replicas. Simple task, store the username password email address(s) and path to the mail stores. Receiver Servers. These pull a replica of the mysql database from the user server to a local instance of mysql for speed. They receive emails via postfix, and write them to the nfs storage. Redundancy and scalability are available through round-robin dns. Storage servers. Straightforward. The mail is stored as Maildirs, the NFS boxes need speed and reliability. The underlying filesystems need to optimize for large numbers of small files. Scalability: Using a SAN and blade servers would allow for quick failover from one server to another if a specific server failed. Retrieval servers. These provide the end-user interfaces. For my small implementation, I use courier-imap for pop and imap access, and it can already talk to mysql for the user and store information. Scalability: round-robin dns and layer 4 load balancers should fit the bill. A note on webmail: I'm torn between a webmail frontend that speaks IMAP, and abstracts from the mail server, or one that connects to mysql and the nfs path. Courier Webmail supports the latter, and any number of webmail packages support the former. This is left to experimentation of the reader. Personally, I don't trust a webserver with read/write access to the mail stores, and I use an Imap webmail package for abstraction. Delivery Servers: This is a whole other thread. At a minimum, you'd want to virus scan outbound mail. Scalability is through round-robin dns and layer 4 load balancers. Ejay Hire EjayHire@hotmail.com