Webapp technology questions and advices [closed]
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this questionI decided to write a long introduction in order to give you a better idea of what I'm trying to achieve. This will be my first real... commercialy aimed application.
Disclaimer: Even though I've been reading anything I can get my hands on for the past 3 years regarding web dev and for the past year anything python related, I'm still pretty much a newb (alternative noob spelling accepted).
The application revolves around collections. Stamps,cards,coins etc. Users will be able to register, add to their collection from a predefined list of objects, show their collection, flag some of the objects for trading, keep track of trades etc. The predefined list of object will have around 20k objects with around 30-50 properties each.
Disclaimer 2: I could write this in php me thinks being the first tool I learned to web dev in but I'm pretty much in love with python at the moment so, I'm very biased towards it.
- Shall I stay with mySQL or dip my toes in noSQL watters? From what I've been reading noSQL might be overkill for what I'm trying to develop but... what do you think?
- Django? Or flask? I am leaning towards flask. Main reasoning behind that is that I .. understand it better then django after fiddleing with each for a couple of days.
- I'll probably host it on Rackspace to start with since it's the cheapest solution and is able to scale, although I would be really interested to hear opinions from somebody who hosts with VPS or Voxel . CloudHarmony speed tests show that both of them are better then rackspace but then again I don't know much about that service or how it does the testing.
- *nix distro? any difference between choices? Anything I should go with as de facto standard?
- webserver? middleware wsgi? wohooo way over my head here so if maybe somebody can point me into the direction of a tutorial on how to setup a production server would be awesome (been reading this article and it started to make more sense but still dont understand all of it. why do i need nginx for example)
Some of the questions I'm asking might seem really dumb but if maybe you keep in mind that everybody was in my position one time... :)
Thank you in advance for all your input (answers or comments)
Errata:
3bis. GAE? Amazon? Rackspace? Other cloud VM provider? Which one should I go with keeping in mind that I have a fool's wish to NEED to scale up. Also how easy would it be to switch afterwards? For example from GAE(bigtable) to another cloud vm provider(mySQL)(I understood that web2py DAL could work with both, how easy would it be to switch things around?)
5 I mean twisted,tornado开发者_StackOverflow,FAPWS etc. Which one is better?
You have a highly structured dataset, with predictable elements. To me, this indicates that a traditional relational database would be a better fit than any of the NoSQL solutions - although they could be made to work.
Flask is a micro-framework. It's best for small apps and web services. I like it a lot, but for you I'd definitely say Django would be better - it includes all the things you will need, like an admin interface, a user-authentication app, and a whole third-party ecosystem.
To be honest you might be better off with a shared-hosting provider like Webfaction to start with. Much easier to get up and running.
No difference, really. Personally I'm happiest with Debian or Ubuntu. I'd stay clear of Red Hat/Centos, since they include very old versions of Python. Whatever the distro, though, I'd recommend installing your framework manually, rather than relying on the distro's packages, since these are likely to be out of date.
Easiest to get running is Apache with mod_wsgi. Not sure what you mean by middleware in this context. As I say though, use shared-hosting and they'll set it up for you.
web2py.com runs standalone or under various front end webservers is very self contained. \it also has several deployment scenarios documented
The DAL (db abstraction layer not an ORM) migrates well across several engines.
Well worth a look especially if you need a quick result without the django learning curve
精彩评论